Destination: Agile

Top Eight Reasons Why Organizations Are Making the Switch

8 January 2008

Sally Elatta
AgileTransformation.com

Organizations are increasingly moving from traditional waterfall methods of software development to agile methodologies, including Scrum. If you're new to agile and not sure of exactly what it is then allow me to give you a five-minute overview before I jump into why companies are moving this direction. You should also read “The 10 Key Principles of Agile.”

Agile refers to a set of values and principles which govern a style of software development that encourages iterative, collaborative and results-focused development. The following definition from Scott Ambler says it best:

“Agile is an iterative and incremental (evolutionary) process approach to software development which is performed in a highly collaborative manner with ‘just enough’ ceremony that produces high quality software which meets the changing needs of its stakeholders.”

Agile is the umbrella for several other popular methods such as Scrum, XP, Feature Driven Development, DSDM and others.

Scrum is one of the most popular agile methods. You can think of it as the project management side of agile. Scrum provides the processes and visibility needed to manage and control complex software and product development. Jeff Sutherland and Ken Schwaber are the two founders of Scrum. Many companies that adopt agile will adopt Scrum for managing the projects and also use some engineering practices of XP (such as Test Driven Development, automated testing, coding standards, and user stories) and some of the agile modeling and light documentation techniques provided by Agile Modeling.

If you adopt Agile/Scrum, your teams will likely:

  • Gather the list of work to be completed as user stories
  • Develop a release plan to determine the project schedule
  • Estimate the complexity of each story in terms of story points
  • Work in small two- to four-week fixed iterations (also called sprints)
  • Start an iteration with a planning meeting
  • Collaborate within the team and with the business
  • Have daily fifteen-minute standups to track progress
  • Have a demo at the end of each iteration to review what was accomplished (or not!)
  • End the iteration with a retrospective

Most importantly, your agile team will have the following goal:  “To deliver high quality, running, tested stories that meet the business need in a predictable, efficient and collaborative manner—on time, on budget!”

So now that I’ve covered what agile is, let’s dive into the top reasons why organizations are moving this direction. We’ll first look at why customers and product owners adopt agile. We’ll then examine why teams and management adopt agile.

Top 8 Reasons Why Customers/Product Owners Adopt Agile
  1. Early measurable return on investment. They want to see working software at the end of each iteration and early in the process.
  2. High visibility and control over the project progress. High visibility into project progress can also yield early indications of problems.
  3. Early and continuous customer feedback. Because the customer is involved throughout development they end up with software they want and will use.
  4. Empowered Product Owner. The PO is given the information necessary to make decisions to steer the project toward the goal.
  5. Incremental delivery. Delivery of software on the scheduled release date is not an all or nothing deal.
  6. Agile change management is adaptive to changing business needs. Agile and Scrum give the product owner more control over adding, changing, or removing requirements (except for the current iteration stories) than traditional methodologies.
  7. Agile helps align IT with the business. Teams work only on the top business priorities.
  8. Agile reduces product and process waste. Nothing is developed that isn’t specifically needed. Agile processes are lightweight and value driven.
Top 8 Reasons Why the Team and Management Adopt Agile
  1. Agile builds empowered, motivated and self organizing teams. Agile produces an increased level of team satisfaction because individuals are empowered to provide input, set the iteration goal, self-organize, and help improve the process. This unleashes the creativity and innovation of the team members.
  2. Clear expectations are set and communicated. Both the team and product owners have a clear understanding of the release and iteration goals and what is expected of them to reach these goals.
  3. Success is clearly defined. The agile definition of "Done" is accepted by the product owner as completed and ready to ship. The only measurement for success is stories that are "Done" at the iteration and release level.
  4. Teams can focus on delivering measurable results. Agile teams focus on getting working software delivered instead of clearing impediments, prioritizing, or being pulled in other directions.
  5. Customers communicate directly with the team and provide timely feedback. Early and direct feedback is the only way to deliver what the customers really need.
  6. Teams feel a sense of accomplishment and recognition. The team feels a sense of accomplishment at each demo when they deliver stories that are "Done" and hear the customer and stakeholder eedback first hand.
  7. Management realizes cost/time savings due to waste elimination and efficiency. Many organizations that adopt agile seek to become "Lean" and eliminated processes that add no value.
  8. Better resource management for shared team members. The good thing about time-boxed iterations is that they are time-boxed! This means that shared members from other teams (DBAs, Technical SMEs, Report Writers, etc.) will know in advance when the next planning meeting, demo, and retrospective are scheduled.

Every person on an agile project could add a reason to this list. These, however, are the prominent reasons why more and more companies are adopting agile methods for their software development projects.


Opinions represent those of the author and not of Scrum Alliance. The sharing of member-contributed content on this site does not imply endorsement of specific Scrum methods or practices beyond those taught by Scrum Alliance Certified Trainers and Coaches.



Article Rating

Current rating: 5 (1 ratings)

Comments

Geir Amsjo, CST,CSP,CSM,CSPO, 1/12/2008 6:10:25 AM
Thank You for this excellent summary of arguments for adopting Agile. I particularly liked how you split the reasons for adoptation into Customer/PO and Team/Management.
Aniket Mhala, CSM, 1/14/2008 12:35:18 AM
Good Article. I do agree with what you said as ΓÇ£Organizations are increasingly moving from traditional waterfall methods of software development to agile methodologiesΓÇ¥. The most important thing is that how to move from waterfall to agile methods. The transition is very important at every level (i.e. Team, Management, and Customer/PO level). There must me common understanding and common vision about agile adoption. By using agile transition approach or model by right enthusiastic people at all levels in right direction would help organization to adopt agile smoothly.

Cheers
Aniket
Nimesh Soni, CSC,CSP,CSM, 1/17/2008 12:55:50 PM
Good article on "Destination Agile"! You provided a useful list of reasons why organizations are moving to Agile and Scrum.

As you mentioned, agile is used for software development while Scrum is used for project management within the Agile project portfolio. I think one of the most important reasons why companies adopt agile and Scrum is that Agile promises to create 'potentially shippable, working piecen of software' at the end of each iteration. And, if the Agile teams are using Continuous Integration (and they should be using it), at any given time, you have a working piece of software that has been unit tested as well as integration tested (using automated build and automated tests).
Mike Sutton, CSM,CSPO, 1/24/2008 4:59:48 AM
Excellent introduction, passes the grandma test!! Although I would have said agile is a journey rather than a destination. I like that you distinguished between process agility and engineering agility. At the highest level, agility (according to Scrum) is all about delivering business value (even in non-profits!) and whilst engineering agility (e.g XP) does not itself deliver direct business value (IMHO), it enables the team to fulfil its commitment to quality software in a short time - so it delivers technical value that affects the business value delivery (huh?).
I do feel that very little is mentioned about WHAT you need to adopt agility, a different kind of race might require different breed of horses, so does agile adoption. I would like to see some stats on the initial people turnover in successful agile team or waterfall to agile transitions.

You must Login or Signup to comment.