The term Agile is on everyone’s mind and in everyone’s inbox these days - but what does this modern approach to project management actually mean, and how is it different than what everyone is used to doing? Applied in a thoughtful, practical, and realistic way, we believe that Agile can be a highly successful framework when applied to certain projects, and can result in greater flexibility and transparency, and reduced ambiguity, and less risk of going over budget. Before we dive in, you may be wondering why the process is of importance when plotting the path forward for your initiative. Let’s examine this a bit.
Why does the project management framework matter?The approach to conducting a project or initiative has an impact on the way all involved parties communicate, how status is tracked and reported, and how often deliverables are ready for review. Some approaches may require more frequent, but shorter meetings and deliverable reviews, whereas others may require less frequent, longer time commitments. Ultimately, the most important factor should likely be which process will yield the best possible product within the budget and time constraints that currently exist.Oftentimes the decision is between a more traditional Waterfall approach and one that fits under the Agile category. Under Waterfall, work is performed sequentially and often structured by discovery and documentation of requirements, design, build, test and release/launch. Each of those individual activities could span as little as a few weeks or as long as a few months, depending on the size and objectives of the effort. With an Agile approach, all of those activities still occur but they are typically focused on individual components or features of the product being built. For example, rather than designing and building a full website, you might instead - in a short interval of time - built, test and launch an individual page or feature. While this may seem less efficient, it allows for closer collaboration between teams, and a more iterative approach towards creating a larger product.
What is Agile?Agile is a term that’s often used to describe the category of processes focused on incremental milestones and allow for evolving requirements and ideas. While aspects of the Agile approach have been around since the 1950s, the term itself did not come about until 2001. That year, 17 software leaders agreed to the label “Agile”, which does not represent a specific process or approach, but simply a manifesto that was jointly agreed to and signed. That document defines 12 aspirational goals of software development and specifically:
- Recognizes that requirements are often never final and that initiatives should benefit for the fresh thinking that can arise throughout as knowledge is gained
- Emphasizes early delivery and continual improvement, as well as a rapid and flexible response to change
- Prioritize working software over comprehensive documentation (e.g. building a working prototype to collect feedback rather than creating a document of needs)
What is Scrum?Scrum is a process framework that addresses the Agile Manifesto and provides essential rules while leaving room to layer on additional process components as needed. Scrum also:
- Breaks work into actions that can be completed in 2-to-4-week sprints, each of which should result in a production-ready deliverable
- Builds in the concept of continual improvement through the regular, scheduled exchange of feedback on the process and team organization between sprints
- Prioritizes hands-on review of functioning increments versus heavy documentation of needs before any building begin
Examples of Agile ApplicationsThere are many potential applications for an Agile approach. For example, teams could easily reap the benefits when:
- Building a brand new software-based product
- Replacing an existing live, results-producing, marketing website in an incremental fashion
- Providing ongoing support, maintenance, and enhancement of a legacy application or website
Client benefits of AgileWell-run Agile projects do a good job of synchronizing client and agency goals and benefits, which helps ensure everyone involved is moving in the same direction. Clients in particular benefit from:
- Increased flexibility to accommodate evolving requirements and fresh thinking as information is gathered throughout a project, given the backlog of requirements can be reprioritized before each new sprint
- Full transparency into decision costs, trade-offs, opportunities and risks, enabling stronger decision making
- Frequent opportunities to test in the real world, gathering live data to validate decisions and inform new paths
- Less ambiguity and anxiety around decisions, which are based on hands-on testing or real-world results versus nested assumptions
- Great control over direction, allocation of budget dollars, and speed of work
Agency benefits of AgileMany of the benefits that clients receive also benefit the agency team, whether it’s the ability to continually introduce new ideas, the greater overall transparency that helps simplify communication, or simply having less ambiguity around decisions. Agencies also benefit from:
- Empowerment of team members, as they are allowed to bring ideas to the table and think creatively. This leads to a real sense of ownership and being vested in the outcome
- Greater ability to focus on the work at hand within a given sprint, which can only improve the quality of the work being done and allow it to happen efficiently
- Less time reading and writing, and more time doing and reviewing, which is likely to get directly to what teams enjoy doing on a day to day basis
Other joint benefits of AgileAll parties involved also benefit from:
- Greatly reduced risk that the budget or timeline will run out before key deliverables are complete, leaving something unusable that can’t be launched to the world - in fact, each sprint should result in a production-ready increment
- Quality assurance and testing are chipped away at throughout, significantly easing launch decisions and timing
- Assurance both teams are collectively building the right product, minimizing the use of assumptions
- Underlying delivery challenges are exposed throughout, reducing surprise and risk
Is Agile a good approach for your organization?When considering the right approach for your team and organization, it is important to take a look at how folks work best and what is realistic in terms of process. Key questions to address may include:
- Can product requirements be discerned up front, finalized and then locked to a reasonable degree for the duration of the initiative? Or are requirements harder to define upfront? Perhaps you’d also like the ability to incorporate new ideas, especially if they add real value, regardless of where they occur in the timeline?
- How effective is your team understanding documentation and picturing what the end result will be from written text and/or diagrams? Or does your team respond more effectively to work that can be seen and experienced first-hand?
- Which is more important? Is it building the right product, or delivering a “product” by a specific date? Or does the need to stay under budget because of organizational constraints whatever might be delivered?
- Is it better to commit a regularly scheduled, smaller increments of time throughout to review and test work in progress? Or is it best to just try and test it all in one big effort closer to launch?
- To what degree do your requirements incorporate and build upon assumptions? And what value would be assigned to the ability to validate assumptions intermittently?
- Is it feasible to assign a product owner on the client team to be responsible for prioritization and definition of work to be done, and coordination of stakeholders throughout the organization?
Secrets to Success with AgileHaving touched on what Agile is, ways to address the Agile goals, and what the benefits are to all involved parties, you may be wondering what factors should be in place to maximize the chance of positive outcomes. The top four keys to success are:
- Client expectations are in alignment as to how this will proceed
- Everyone, agency and client teams included, commit to the concept of empiricism and work to continually improve
- A commitment is made to move for the right reasons (see questions above for examples of what to consider)
- The right people are placed into the right roles and empowering them as much as possible to do their job
Where else do we see Agile being applied successfully?Developed initially for software development, Agile approaches are rapidly expanding to other functional areas within organizations. A few examples include:
- Budgeting and financial planning