Principles for managing a Scrum-based Agile Program

By Anonymous - July 7, 2009
  • is an essential ingredient to success of Agile implementation. It helps make collaborative decisions more easily and seamlessly integrates feed back into the system at an earlier stage in the SDLC. If co-location is not possible then it necessitates extensive usage of communication tools and applications like live meeting, video conferencing, net meetings, teleconferences, usage of Wiki tools, and instant messaging.
  • Product Backlog: Key focus here is to identify smallest workable piece of functionality, which translates to a tangible business benefit no matter how small the benefit is and that could be designed, developed, tested and delivered to live in 2 weeks iteration each. This is then maintained as a product backlog list to be delivered against incremental iterations
  • Time to market: Workable piece of software is delivered to live environment incrementally in weeks as opposed to months. This decreases the time to market and increases productivity. Iterations or Sprints are planned for designing, developing, testing and deploying the code.
  • Stake holder engagement: It is essential to engage developers, testers and deployment teams earlier in the SDLC life cycle. They need to be engaged right from the design stage where lead architects orchestrate the requirements into user stories. This needs to be agreed between all parties that it can indeed be delivered in planned iterations. Even business stake holders could be engaged at agreed intervals in agile delivery as check points. This gives an opportunity to all parties involved to ensure that project is progressing in the right direction.
  • Capacity management: Every aspect of capacity across SDLC, right from the availability of resources to software and hardware capacity needs to be assessed and agreed, before delivering software in iterations.
  • Release planning meetings – Design Iterations are planned and scheduled upfront for the designers to pick user stories from design backlog and produce low level solution design. This is then followed by release planning meeting which results in the development, test and deployment teams to pick up the designed user story, and deliver the code live in the agreed sprints. This could then be signed off by the relevant stake holders as appropriate.
  • Co-coordinated Sign offs – Importance is given at every stage of an SDLC to get sign off from key stake holders involved against acceptance criteria. Designs are validated at the end of every iteration, development completion is tested against acceptance criteria which ensures that the right code is deployed live.
  • Risk management - Periodic monitoring of the progress of software that is being delivered incrementally by the product owner and all the relevant stake holders involved in implementing the software gives early visibility to managing any issues or risk that might arise.
  • Managing changes – Changes arising as a result of timely feed back from stake holders, scope changes or feed back from the test teams to fix a bug etc is absorbed and integrated seamlessly into an SDLC due to the nature of agile delivery. The agile project manager ensures these changes are aligned to the business vision at every stage of such a requirement and ensures that it is planned to be delivered in the respective sprints as per the schedule.
  • Cost to business – Since delivery of useable software - right from design through deployment is time boxed against fixed iterations or Sprints, these results in an effective utilization of the resources. Hence this approach facilitates transparent accountability of the budget allocated to the business stake holders and ensures customer satisfaction and effective budget management.

Best practices:

  • Daily Stand up calls – It’s essential to organize daily scrum calls with the relevant parties to monitor

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.