Before you blame it on Agile Methodology… Let’s take a quick look.
All of us used Agile many times during our past implementations. Think of a time, when the Business wanted some product developed that is critical to the Business and the management want that immediately. You and your team are given the best available resources (Development, Functional, Business, Testing, and SME).Since this is driven from the top, you and your team sense the urgency. The decisions are made quickly as a team. The team designs, develops and tests iteratively till you get a viable value added solution. Without your knowledge, the team did this in an agile fashion. The key here is sense of urgency, commitment by each and every team members.Communication is seamless as every one of the team member was available anddecision are made immediately. Don’t you wish you could do this on every project? This is exactly what Agile will enable you to do.
What is Agile?
Agile software development is a software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
Agile methodologies incorporate iteration and the continuous feedback that it provides to successively refine and deliver a software system. It involves continuous planning, continuous testing, continuous integration, and other forms of continuous evolution of both the project and the software. They also focus on empowering people to collaborate and make decisions together quickly and effectively.
Agile methodology is a new Buzz word that started few years ago and many Organizations are moving into this space.
I had seen and heard various teams assume Agile will make software implementations quicker and faster. This can be true if all pieces of puzzle align perfectly.
But … How?
Only if someone aligns right piece at right place at the right time to create a flawless picture. For a team to self organize, empower themselves and make decisions and successfully collaborate demand lot ofcoaching and mentoring from the leaders and managers. Not realizing this will cause more delays than traditional methods. This will cause false sense of urgency and may impact the project as well as the team.
Managers should realize that to achieve this perfect end state it takes few iterations for teams to change their mind set and embrace the new methodology. Not all organization will be able to reach this end state unless facilitated by Project Managers/Development Managers/Test Managers.Leaders and managers in the organization need to bring in cultural shift and help agile teams to understand the core values.
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
This value shift will not happen overnight. You have a cross section of various team members with varied experience and some of them may have worked on the water fall methodology for a long time.
Also, team members should have the big picture. In Agile implementations the requirements are captured as Agile Themes, Agile Epics, Agile User Stories & Tasks. A Theme will have one or more Epics, An Epic may have multiple user stories and a User story is broken into multiple manageable Tasks. A group of user stories are delivered in each time cycle (sprint). As an example an Epic may span across multiple sprint, but that should not stop the team from incrementally develop and test the components during a given sprint. The Epic itself may span across multiple sprints. Say in case of an SAP roll out an Epic may span 6 to 9 sprints. In this case, care should be taken not to skip the Integration/regression/User acceptance testing. Your team may need one complete sprint (last sprint) just for this testing. This testing can happened only after all the components are build and successfully component tested.
In Agile, similar to SDLC, you have the same phases Plan ->Analysis -> Design -> Implementation ->Maintenance. The idea in Agile is do faster/better and not at the cost of skipping any of the phases.
Only when team members buy-in and understand the benefits of agile methods, embrace it with the right mind set, then the organization will see the true value with Agile Methodology. Once team members see the benefits from one agile implementation, they will be proponents for other implementations agile implementations.
To end this here, team member need to be engaged, feel the sense of urgency, trust and value inputs from team members and above all embrace that Agile works.