As one of the biggest movements to emerge in technology and business change delivery in recent years, agile continues to gather momentum. It promises improved engagement across those involved in change delivery, more cost effective delivery, and a faster turn-around on change.
The challenge is that purely following a process isn’t enough, and to ensure that agile as a method is rolled out and effectively embedded in the organisation needs cultural and management change. Further, there are requirements beyond the basic process in order that agile methods can work effectively in complex, large scale and established business and technology contexts.
There is a common perception that agile means an end to rules and process. This is not the case - agile teams who abandon basic good practice in development create significant product and project risk. It also compromises the ability to control development and it can be particularly challenging in multi-stream delivery.
The biggest shift in moving to agile methods is cultural and yet this is the angle often forgotten as the approach is adopted.
Some challenges to consider
Testing and governance has to be carried out in appropriate ways to maximise and draw out the benefits of agile otherwise additional problems can arise. These are often quite different to the traditional methods. Teams are typically small, cross-functional and self-organising, with testers working alongside developers and business users.
No agile solution will be exactly the same, however, there are some common scenarios that arise and your planning should be designed to manage these effectively. The key to this is ensuring that the necessary enabling capability and infrastructure, including environments, tools, resource plans and reporting, is set up correctly right at the beginning, and able to support the pace of agile delivery.
There is a tight focus on strategic alignment to realise the added value. This means dealing with complicated risk management profiles and the service always being centred around achieving the right business and technical outcomes.
The culture and values of an agile team encourage strong communication as well as creating effective understanding, collaboration and ensuring knowledge transfer so that any gaps or anomalies can be quickly resolved. Where your development and testing teams cannot be co-located, appropriate processes and technologies to support good communications need to be put in place.
If your agile team is working in a distributed environment, this can offer particular challenges of communication and collaboration. However, it also means the organisation can choose the right people for the team whatever their location and time zones, as these can often be leveraged to shorten the delivery cycle.
Larger scale agile implementations require a greater degree of governance and control points than those on a smaller scale. They also require greater discipline, planning and structure. For instance in a hierarchy of scrum teams, regular release plans establish a baseline that drives the overall structured release plan. Below this, teams have the freedom to structure how they deal with backlog as long as they meet the business needs defined in the release plan.
Integrating agile programme streams with waterfall or V Model programme streams means designing and implementing the delivery framework and governance processes to ensure they synchronise, integrate and harmoniously deliver across dependencies; which can often be the case in large scale scenarios. In this case, we believe that rolling systems testing and rolling integration testing is essential because it means that there will always be a solution available and developed components can be added to the solution immediately. The implementing of the delivery framework and governance processes to ensure they synchronise will be key to the success of these programmes.
Being agile and doing agile are not therefore necessarily the same thing. Ask yourself the question; how do you approach your testing now and is this approach successful? If you were asked tomorrow to demonstrate how you govern and control system releases your environment, what would the answer be? If the answer is not available or easy to demonstrate you may want to review your agile strategy.