|
Title
|
Type
|
Date
|
|---|---|---|
| Test automation and continuous integration with STAF/STAX
Regression and incremental tests play an important role during the testing
of an application that might comprise hundreds or thousands of requirements. While the execution
of incremental tests can sometimes be run manually, regression tests require an automation
tool or framework. The support for multiple operating systems, architectures, and middleware
software, like application servers and databases, make the necessity of an automation framework
even more urgent. This article briefly introduces STAF/STAX test automation framework. It also
shows how you can use it to build a framework for the automation of tests and continuous
integration in a complex test bed.
Also available in:
Chinese
|
Articles | 26 Feb 2013 |
| Agile analysis practices for safety-critical software development
Because of their discipline and efficiency, agile development practices should be applied to the development of safety-critical software. Bruce Douglass, author of the IBM Rational Harmony for Embedded RealTime Development process, explains the key analysis practices for the development of safety-critical systems and how they can be realized in an agile way.
|
Articles | 19 Feb 2013 |
| Agile DevOps: Breaking down silos
Effective use of tools is vital for teams that embrace DevOps,
but breaking down the traditional organizational silos of old-world software
development is the critical driver for maximum efficiency and innovation. In
this installment of Agile DevOps, Paul Duvall covers how to move an
organization toward using cross-functional teams that collaborate, instead of
silos that stifle communication.
Also available in:
Russian
|
Articles | 12 Feb 2013 |
| DevOps distilled, Part 2: Create environments early for smooth, secure code releases
In this series of articles, learn about DevOps and how it can:
create a collaborative relationship between development and IT
operations; enable high deployment rates; and increase the reliability,
resilience, and security of your production environment. Part 1 explored the three
underlying principles of the DevOps movement. In this article, Gene Kim
explains how making
environments early in the development process creates more
deterministic, predictable, and secure releases.
|
Articles | 22 Jan 2013 |
| Lessons from the Agile trenches
Although Agile methodologies have greatly increased productivity, Agile is not
without its problems. Even the most successful Agile shops have their struggles to
overcome. This article gives you a perspective from the trenches -- not the generals' room -- on the evolution of effective Agile development practices at a large enterprise.
|
Articles | 15 Jan 2013 |
| Agile DevOps: Continuous software delivery in the cloud
When developers and operations work together in a collaborative manner, they often need one place to manage the software delivery process and pipeline of changes. A Continuous Delivery (CD) platform addresses this need. In this Agile DevOps installment, DevOps expert Paul Duvall lays out how you can use OpenDelivery, an open CD platform.
|
Articles | 08 Jan 2013 |
| Characterizing code for refactoring
The primary purpose of writing characterization tests is to protect
business functionality from inadvertent side-effects when difficult-to-change code
needs to be modified. Untested or poorly tested legacy code can be complex, difficult to read, and not injectible -- all of which makes it hard to change when you need to. This article explains how to characterize such code properly for unit testing so that you can refactor it safely.
|
Articles | 18 Dec 2012 |
| Adapting agile requirements practices to ongoing enterprise improvement efforts: DevOps to the rescue
Although Development and Operations teams both face daily pressure for continuous improvement and shorter time to market, their respective priorities, needs, and methods can conflict. Cherifa Mansoura explains how to scale disciplined agile delivery and agile requirements practices in a DevOps environment for future maintenance and operations on existing products. She also discusses the role of a business analyst in ensuring good collaboration between the two teams.
|
Articles | 18 Dec 2012 |
| Agile DevOps: Dynamic configuration
Between applications, environments, and individual instances, how much
time do you spend managing configuration values? Probably much more than you'd expect
or would like to admit. Configuration management doesn't have to be such a painful
experience. This time, DevOps expert Paul Duvall describes how to manage configuration data to reduce the duplication and misconfiguration that can lead to deployment errors.
|
Articles | 11 Dec 2012 |
| Best practices for effective velocity tracking
Using velocity tracking, project managers strive to measure and monitor the productivity of software developers and others participating in an Agile-based project. This article examines the concepts behind velocity tracking. It also discusses tools that help facilitate effective implementation and maintenance of these concepts, such as iterations, burn-down and burn-up charts, backlogs, and issue-tracking systems.
|
Articles | 04 Dec 2012 |
| Agile DevOps: Version everything
Which types of software-system artifacts should you version? In this Agile DevOps installment, DevOps expert Paul Duvall recommends that DevOps teams version application code, infrastructure, configuration, data, and even internal system artifacts to gain the capacity to deliver software to users quickly and often.
|
Articles | 27 Nov 2012 |
| Agile DevOps: Test-driven infrastructure
Few in the software industry question that writing automated tests for application code is a good practice. Teams are now applying similar automated testing practices to infrastructure and environments. In this Agile DevOps installment, DevOps expert Paul Duvall covers writing automated tests for your infrastructure using tools such as Cucumber with Gherkin. These tests can be run in conjunction with every scripted change to the infrastructure to ensure quick feedback when a change introduces an error into an environment.
|
Articles | 06 Nov 2012 |
| Pragmatic architecture for agile application lifecycle management
This article explains how agile teams use design management to produce and maintain software-intensive systems. It describes a pragmatic approach for efficient collaboration on designs in an application lifecycle management (ALM) environment. Based on realistic examples, the article focuses on concrete architecture and design activities using the Rational solution for Collaborative Lifecycle Management (CLM).
Also available in:
Portuguese
|
Articles | 30 Oct 2012 |
| Agile DevOps: Unleash the Chaos Monkey
When would it ever be a good idea to randomly and intentionally try to terminate
parts of your software system -- including the hardware it runs on? How about early and often? In this Agile DevOps installment, DevOps expert Paul Duvall describes approaches to creating a Chaos Monkey (as it's been dubbed by Netflix) to ensure that your production infrastructure can recover from inevitable system failures.
|
Articles | 23 Oct 2012 |
| Agile DevOps: Transient environments
Often, after a shared environment is provisioned, it's never decommissioned and might run for weeks or months, with engineers applying manual configuration changes throughout its lifetime. This risky approach regularly causes deployment problems and other strange "environment" errors to occur during development, test, and production cycles. This Agile DevOps installment explains how to create ephemeral environments that are terminated on a frequent basis. Once all environments are scripted and versioned, these test environments are only used long enough to run through a suite of tests as the software moves through a delivery pipeline on its way to production.
|
Articles | 09 Oct 2012 |
| Agile DevOps: Infrastructure automation
How many times have you manually applied the same steps when creating an
infrastructure, or relied on another team to set up an environment for you? What if
all of these actions were scripted and versioned just like the rest of the software
system? In this Agile DevOps installment, DevOps expert Paul Duvall shows how Chef and
Puppet enable you to automate infrastructure provisioning. He covers the basics of each of these tools -- along with their similarities, use cases, and differences -- and provides a video demo of scripting with Puppet.
|
Articles | 11 Sep 2012 |
| The true value of agile process maturity
Bob Aiello examines some of the critical success factors required to implement successful agile practices reliably in your organization. Then he discusses how to implement robust and mature agile processes.
Also available in:
Chinese
Portuguese
|
Articles | 28 Aug 2012 |
| Agile DevOps: The flattening of the software release process
What does it mean to "flatten" your software release process? How will this
affect your organizational structure? In the first installment of the Agile DevOps
series, DevOps expert Paul Duvall describes how developers and operations are working together on software delivery teams to streamline the process of developing and releasing software. He discusses such nascent topics as test-driven infrastructures, transient environments, and the Chaos Monkey -- and how these techniques all work toward the goal of getting software to users more quickly and more often.
|
Articles | 23 Aug 2012 |
| DevOps for mobile development
Mobile computing is probably the hottest topic for development and operations teams right now.
Employees in companies large and small have various mobile devices, many of them personal,
that they are using for work. Companies all over the world want to exploit the mobile market
by providing customers and users with apps that make mobile computing easier.
So, it is important for companies to think through not just the development of a mobile capability
but also how they will deploy it and how they can ensure the continuity of the capabilities as these change over time.
This article covers how DevOps (development & operations) can help address the issues
of deploying different versions of apps to different devices.
|
Articles | 06 Jul 2012 |
| Three deadly pitfalls to avoid on agile implementations
Businesses need innovation in today’s marketplace. This is not always easy and, in many cases, a new approach is required to reinvigorate innovation. An agile delivery approach can provide substantial, quantifiable business value compared to traditional approaches, but you have to do more than decide that you're going to implement agile. Many agile implementations start off with good intentions, but do not deliver on the promise of agile because of a lack of experience, plan and executive sponsorship. If you can address these challenges, your agile projects are more likely to succeed.
|
Articles | 23 Jan 2012 |
| Strategies for performing with agility
The first declaration of the Agile Manifesto is "individuals and interactions over processes and tools," yet this fundamental tenant seems to get lost on many agile projects. Highly capable people guided by fundamental principles of agility are more important than any tools, technology or overly-specific processes and best practices. This article provides tips for executives, development managers, and agile team leads to strike the balance of structure and freedom so they can reap the rewards of high performance teamwork and more successful agile projects.
|
Articles | 23 Jan 2012 |
| Outsourcing agile development projects: Part 2. Top five tips for success
Many software development organizations are making use of outsourced development resources on their projects. As companies embrace agile and lean approaches to development, the question often arises – is outsourcing suitable in an agile environment? The answer is – it's possible, but it will require some careful forethought and some deliberate execution to ensure success. In this two-part article series, Tony Grout shares his experiences of where agile outsourcing can be effective, and the critical elements that must be in place to achieve optimal results.
|
Articles | 23 Jan 2012 |
| Outsourcing agile development projects: Part 1. Key things to consider before you start
Many software development organizations are making use of outsourced development resources on their projects. As companies embrace agile and lean approaches to development, the question often arises – is outsourcing suitable in an agile environment? The answer is – it's possible, but it will require some careful forethought and some deliberate execution to ensure success. In this two-part article series, Tony Grout shares his experiences of where agile outsourcing can be effective, and the critical elements that must be in place to achieve optimal results.
|
Articles | 23 Jan 2012 |
| Top 5 lessons learned about scaling Agile from a leading insurance provider
Agile development is a collaborative, incremental and iterative approach to software development that can produce high-quality software on schedule and cost-effectively. Agile practices were initially designed for small collocated teams, but you can adapt them to fit a more complex environment. IBM has experience with this not only internally, but with other large enterprise clients. Among the most valuable lessons we've learned about implementing agile in the enterprise were gained while helping a large insurance company, we'll call "Insurance Co," with their agile adoption and their implementation of IBM Rational Team Concert.
|
Articles | 23 Jan 2012 |
| Agile transformation in action
Julie King is the Vice President of Consumability for IBM Software Group (SWG). She is a Distinguished Engineer and the Chair of the Software Group Architecture Board – a body which forms IBM's technical strategy and works across product lines and across teams to achieve a common technical vision. Julie provided leadership throughout IBM Software Group's three year agile transformation. We sat down with Julie to learn about the challenges they faced and the results that SWG has achieved.
|
Articles | 23 Jan 2012 |
| Five tips for assembling successful Disciplined Agile Delivery teams
"Disciplined Agile Delivery" (DAD) is a set of practices advanced by IBM to help larger software development teams be as successful with agile development as smaller teams. DAD isn't just another agile method; instead, it offers a hybrid framework that combines the best guidance from a variety of existing and proven agile practices. DAD also supplements common agile methods with enterprise guidance. As a result, it can help organizations with project teams of more than 20 people get the most out of agile development methodologies. When you form teams for DAD, there are a number of things to consider. The top five are the subject of this article.
Also available in:
Japanese
|
Articles | 23 Jan 2012 |
| Agile State of the Art Survey
The "Agile State of the Art Survey" was designed to gather information
about how businesses are actually implementing agile techniques. There were
168 respondents from around the world, working in various business sectors,
including government agencies. These respondents shared details about how they
have benefited from agile methods and the challenges they still face. This
article shares some overall numbers from the survey and covers the top
benefits and challenges.
|
Articles | 23 Jan 2012 |
| Top 5 tips for using agile in mission critical systems development
By definition, the cost of failure in mission-critical products is very high. Applying agile methods to the development of the software and systems that run them can help prevent the defects that lead to failure. Agile development methods can improve product quality, reduce costs and the time to market, and increase the predictability of their outcomes. However, it takes some fine-tuning of agile methods so that they make sense for these complex and rigorous projects. Agile governance, dynamic planning, test-driven development, incremental development and effective risk management are the keys to successful application of agile in mission-critical systems development.
|
Articles | 23 Jan 2012 |
| Is "agile documentation" an oxymoron?
Does the term "documentation" have any place in an agile environment? The goal on agile projects is to keep documentation as simple as possible, relying on roadmaps, overviews and concepts rather than enterprise-focused details. But what happens when using an agile approach on more complex projects? For example, what if the team that writes the software is different from the team that must maintain it? Or what if auditors come calling? In these instances, basic agile documentation based on user stories alone may come up short. This article provides insights into how teams can take an agile approach to documentation in more complex environments.
|
Articles | 23 Jan 2012 |