Going Agile… If you are wondering whether iterative delivery methods are being adopted and taking hold, stop wondering; we are here and the trends continue to support the shift. Recent surveys published by various industry analysts show an increase in companies looking towards iterative/agile methods for the delivery of their software products. It is from personal experience in working with companies in transition from waterfall to iterative that I write some useful suggestions and recommendations.
This is probably the single most important element of success for any organization going agile. For example, align all the team members’ performance goals/bonus payouts to the success criteria of the project. Co-habitation of the various disciplines (team members from product/business, development and testing) has to be enabled (team rooms/open spaces / no physical barriers to communication, etc…) and practiced. For your remote teams, ensure the daily meetings / WebEx sessions are taped, posted and reviewed. The offshore teams must be fully integrated with the onsite team.
Test Organization and Responsibilities
Onsite test consulting leaders work on the collaboration/iteration testing activities directly with the delivery team, validate the test scenarios/coverage and are the primary conduit to the offshore testing team directing regression, the iteration and the production release. Providing adequate onsite testing resources to keep up with the iteration will be very important to the offshore testers keeping up with regression and iteration. Agile testing requires early testing and integration to validate the quality of the iteration.
Yes, metrics and process improvements still apply in the agile world. Specific to agile, we are analyzing whether we delivered the value addition software the business requested, backlog burn-down, iteration defects and cycle time to close, number of builds/iterations against plan, etc. Project Management will be tracking these and other development and testing metrics to look for efficiencies in our estimate and planning assumptions. With each iteration, the planning/estimation accuracy should increase.
The intent here is to enable collaboration through common tools, processes and frameworks. The data produced must be accessible, maintainable and transparent. For example, we refer to tools like Requirements Management, Test Management, Source Code and Documentation Management. In addition, automation test execution tools are mandatory for the success of agile delivery. Ensure you have an automation framework in place before you go ahead and script test cases. If not done properly, the efficiencies you expect from automation will not be realized and the test team will fall behind in regression and iteration validation.
Naturally, how a company embraces iterative/agile delivery and to what extent will depend on their maturity level across people, process and technology. What usually happens is a mix-match of iterative principles/methodologies with some aspects of waterfall. It is during this “agile-like” period of transition that creates the most challenges for the team expected to deliver the return on investment. Stay the course and continually get support/reinforcement from your business and technology leaders.