By Ron Montgomery, Management Consultant & Owner, OnPoint, LLC
Agile Methodology was born as a lightweight framework for managing software development. It emphasizes business-driven prioritization, responding to change, self-organizing teams, face-to-face communications and quick delivery cycles. It de-emphasizes sequential processes and detailed project artifacts such as specification documents. Since it’s inception the benefits of the concept have been spread to other areas of business. Today you will often hear the word agile in association with:
- Extreme Programming (XP) – System engineering practices
- Scrum – Project management practices
- Lean – Management practices adapted from lean manufacturing
The agile movement has been in progress for many years and reached a pivotal point in February 2001 when a group of software development experts met in Utah to ski, socialize, and discuss how to improve software development. The result was the “Agile Manifesto and Principles", which are listed below and also posted at www.agilemanifesto.org.
Agile Values
“We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Agile Principles:
- Satisfy the customer through early and continuous delivery of valuable software.
- Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
- Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
- Business people and developers must work together daily throughout the project.
- Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
- The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
- Working software is the primary measure of progress.
- Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
- Continuous attention to technical excellence and good design enhances agility.
- Simplicity--the art of maximizing the amount of work not done--is essential.
- The best architectures, requirements, and designs emerge from self-organizing teams.
- At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
Agile is a significant departure from the classical “waterfall” management approach as summarized below:
Waterfall
|
Agile
|
“Plan the work and work the plan”
|
Plan, work and repeat
|
Plan for activities & tasks
|
Plan for functionality
|
Learn and document everything at the outset of the project
|
Respond to new information during the project
|
Resist changes to scope
|
Welcome changes in scope
|
All scope items must be delivered
|
Functionality will be re-prioritized frequently by the business, and some functionality may never be developed
|
Projects are organized like relay races, with scheduled handoffs between groups
|
Projects are similar to scrums in rugby, as all team members work to move the ball down the field
|
QA is performed at the end of the project
|
QA is performed continuously
|
Why Agile?
For decades, the traditional waterfall method has led to frustration over long development cycles, high costs, inflexibility, and missed requirements. The reason for this frustration is simple: the traditional waterfall method was based on the flawed premise that software development is predictable and can be planned thoroughly up front. The reality is that software is abstract and based on changing business needs that cannot be fully anticipated.
The agile framework can increase software development productivity, accelerate time to market, improve software quality, and reduce risks. Given the pervasive nature of software in our business and personal lives, it is easy to understand why the agile movement has grown from a small group of software developers to broad-scale, mainstream adoption.
As new software engineers enter the workforce, they will want to work as part of empowered agile teams rather than an “old school” waterfall environment. In a few years agile, or some adaptation of it, will be no longer be a trend. It will simply be the way software development is managed.
Agile is a Framework, Not a Guarantee of Success
Agile projects can fail and when they do, it is often the result of company culture that is oriented toward command and control versus empowerment. In addition to cultural problems, organizations that have attempted to “scale” agile practices at the enterprise level, have encountered problems with a lack of alignment at the investment, program and team levels. In recent months, a framework has been published for implementing agile at scale. The framework emerged from several years of large-scale agile implementations and can be viewed at www.scaledagileframework.com.
Taking it From Here – Professional Development
If you are a project manager involved with software development and delivery, you should take control of your own professional development and focus on agile. Seek out opportunities to attend training courses and begin to invest in your own library of books on the subject. There is no shortage of great books on agile. Here are a few titles that I found helpful in my transition from traditional project management to agile:
The transition to agile is aptly described as a journey rather than a destination. I encourage you to begin the journey today.
Written by Ron Montgomery, Management Consultant & Owner, OnPoint, LLC Ron is certified as a Project Management Professional, Agile Certified Practitioner and Certified ScrumMaster with over 35 years of hands-on experience in business planning, software development, process improvement & deployment of software solutions. By partnering with clients to drive business value from technology projects, Ron assists clients with business planning, IT strategy, project and program management, vendor selection and team training/mentoring.
Did you find this story informative? We would like the opportunity to keep you up to date on all of our training articles. Please Sign Up for our newsletter so we can do just that.
Here are some related articles you may be interested in:
Communication Essentials For Project Managers
A Simple Approach to Prioritization
Learn How Action Oriented Team Management Can Drive Timely Results.
Communication: Fundamental to Project Success
Four SMART Principles of Project Management
At ManagingAmericans.com we encourage members to go in and out of our communities to learn about different areas of the business; how to work together, solve problems and improve skills. Each community details expectations, challenges, success tips, training programs and useful resources. Growing your knowledge base and learning about all areas of business can help you navigate towards success in your career.
Our Communities include First Time Manager or Supervisor; Accounting; Business Development;Customer Service; Middle Manager; Finance; Human Resources; Information Technology; Marketing & Communications; Senior Manager; Operations & Logistics; Project Management; Purchasing & Supply Chain; Executive Leadership / General Management; Quality & Safety; Sales; Workplace Communication Skills