A lthough agile software development methodologies have been around for almost a decade, interest in agile approaches has exploded recently as companies seek better ways to compete with their global counterparts by getting their software products to market more quickly. The economy’s downturn and subsequent budget cuts have led to greater interest in how to do things faster and how to do more with less. As a result, agile methodologies— Scrum, Extreme Programming, Lean Software Development, Crystal, Dynamic Systems Development Method, Adaptive Software Development, and others—have attracted many CIOs who are looking for approaches to make product development faster, more reliable, and more satisfying to the end-user.
While these promises are enticing, most expected deliverables (chunks of working The Agile-Waterfall agile methodologies are designed for code early and often vs. documentation Cooperative small, collocated, collaborative teams. early with code at the end). These two Large companies have clear, valid Knowing these constraints—yet still practices have different ways of measuring reasons for requiring certain waterfall feeling a need to respond rapidly to progress, determining success, managing activities on otherwise agile projects. market pressures—companies with teams, organizing, and communicating. Project approval processes designed to large and geographically dispersed IT How can they be managed as part of a weigh benefits, costs, and strategic divisions have chosen to forge ahead, cohesive project portfolio? Can agile and alignment with corporate objectives are making changes when necessary, to adopt waterfall methodologies coexist and still one example of a standard waterfall- agile methodologies within their large, make the company successful? up-front requirement. Independent historically waterfall-oriented organiza- The answer is yes. Not only can they Validation and Verification (IV&V) is a tions. Because it’s simply impractical to coexist for the interim but they can waterfall-at-end requirement for those “flip a switch” and have a 1,000-person coexist for the long term, since not all companies in industries that must comply IT department start doing agile all at once, companies will choose to move every with external regulations. And waterfall- these organizations must wade through a software development project to an agile in-tandem occurs when the system under sometimes murky transition period when paradigm. The trick is in how they can development is so large and complex that agile and waterfall are forced to coexist. coexist peacefully and not detract from multiple teams, often working on different During such a transition, what’s an IT operational stability and continued project platforms, must work together to prepare enterprise to do? Agile and waterfall are success. Every transitional environment, a release. so utterly different—from the way projects agile or otherwise, has to deal with duality None of these requirements will cease start (diving right into coding vs. spending until the transition is complete. Doing to exist simply because the teams are long weeks in analysis and design) to the this with the least amount of pain and employing agile practices. Instead the teams types of meetings held (quick, daily disruption means tightly embracing one of must learn to factor these corporate planning meetings vs. long, weekly status the key agile tenets: “inspect and adapt.” needs into their agile procedures, and meetings), to what we expect of the team Process reviews and the progress the teams management must begin the investigative (self-organized vs. directed), and even the have made at the end of every iteration work of determining how to streamline (typically one to four weeks in length) these requirements and activities so they guide decisions on how best to proceed don’t hamper the project. in the next iteration. This allows teams to adjust some of the agile practices to work Waterfall-up-front better in the current environment, knowing I counseled one team to use Alistair Using the “barely that these agile practices may change and Cockburn’s “barely sufficient” philosophy sufficient” guideline, become more “pure” as the environment (see the Sticky Notes for more informa- and culture change over time. tion), in order to avoid doing more than the team asked, Some agile purists will say that by was absolutely necessary when faced stretching the process it’s no longer with waterfall-associated deliverables. “Is this something truly “agile,” and in many cases they The team members had been newly may be right. Semantics aside, it’s still christened as an agile pilot team when that we really must about improving the overall software they found that they still had to go delivery system, and the label we apply through the standard waterfall project do? And if to the methodology is secondary. However, approval process to obtain the necessary teams must be careful not to stretch agile resources and funding. it is, then what practices so much that the teams revert Using the “barely sufficient” guideline, to their more comfortable, waterfall the team asked, “Is this something that is the simplest thing habits. When agile is viewed as an à la we really must do? And if it is, then what carte menu of practices that can be is the simplest thing we can do to satisfy adopted as the teams see fit, it’s the approval process?” Project approval we can do critical to adhere to a diet of key was a must for the team, because with- principles—continuous improvement out approval the project team would be to satisfy the through time-boxed iterative deliveries disbanded and the monies and staff and reviews, implementation of the would go to other, previously approved approval process?” most important items first, and constant projects. But conversations with the collaborative communication. As they financial controllers revealed that the begin their transition, teams following documentation required for the these principles will find ways to approval process could be streamlined integrate agile and waterfall. and simplified, thus saving the team
from having to do the big up-front design approved the project. waterfall at the end of each project in order that goes against the agile philosophy. Other teams with which I’ve worked to prepare the software for production. Based on the agreement reached with received provisional funding prior to official Passing through the required phase- the financial managers, team members approval, so they included the project gate of the team’s production department did the “barely sufficient” analysis approval requirements in their first two means that all documentation, meetings, and design work required to produce a iterations as deliverables along with end-to-end system testing and compatibility technical specification document, which requested features. You can see an example testing, and sign-offs must be planned and they submitted with their business case of both approaches in Figure 1. carried out. The team decided to use for approval. The design specification Don’t be afraid to put non-product story cards to represent each item on the was a high-level overview of the system items in the backlog, especially if you production checklist and allocated an with high-level functional specifications, want to take advantage of the high entire iteration to production readiness. but it avoided the detailed requirements visibility it affords. Ken Schwaber, author Team members did not implement any that would have taken the team weeks to of Agile Project Management with Scrum, new features during this iteration; instead complete. The documents were considered calls the list of project initiation work they produced documentation for just good enough for the review process, items the “Scrum Startup Backlog.” production, customer support, the architecture review committee, and systems test. (Note: This company’s system P rojec t test was concerned primarily with the Approval submitted application’s compatibility P roc es s To with other existing applications on the C us tomer network—the agile team still tested its code in each iteration.) Figure 2 illustrates this example. If R eleas e team members had any time left in this B ac klog Iteration 1 Iteration 2 Iteration 3 Iteration 4 iteration, they spent it refactoring code, • P roject Approval • F eature 1 installing development and test • P roject • F eature 2 • F eature 3 • F eature 6 • F eature 2 Approval • Arch. • F eature 4 • F eature 7 system upgrades, investigating new • Arch. Approval • F eature 1 Approval • F eature 5 technologies, and training staff. • F eature 3 An iteration dedicated to preparing Figure 1: Waterfall-up-front the passage of potentially shippable code base to another entity is useful in a wide variety of situations: Sarbanes-Oxley and the project was approved. Waterfall-at-end auditing, FDA approvals, and IV&V. Once they had approval, team members Another agile team I know of in a Even if your product does not need outside held their first iteration planning meeting large telecommunications firm discovered approval, you can use this hardening and brought along the specification that that having to deal with waterfall-at- iteration to capture final screen shots for they had created. From the thirteen-page end requirements meant adding an marketing and training materials, finalize document they extracted a total of twelve extra iteration to prepare the required the release notes, conduct performance sentences that represented the first few deliverables. This team produces and load testing, and other organizational features they wanted to develop and then application software for internal activities. Just be sure that your team used this information as their initial end-users, and it must switch from agile to isn’t using this last iteration solely as a product backlog. They set aside the specification and To rarely referenced it during the course of the C us tomer release. The creation of this specification was not, however, viewed as a waste of Produc tion / IV&V time. Rather, team members felt they had benefited from the shared product vision created from the exercise of compiling the R eleas e specification. And of course, the financial managers on the project approval board Iteration 1 Iteration 2 Iteration 3 Iteration 4
got the information they needed to • F eature 1 • F eature 3 • F eature 5 • P roduction
• F eature 2 • F eature 4 • F eature 6 documents determine capitalization (some companies • F eature 7 • Arch. review require a technical specification before • Train Help deciding whether a project’s budget can be Desk labeled as capital or expense) and thus Figure 2: Waterfall-at-end
bug-fixing opportunity; that’s a signal successful than email, overseeing multiple company-sanctioned style sheets. Instead that the team is committing to more features teams was still difficult for the waterfall the agile team members created a simple in each iteration than it has time to test. managers. So, after another iteration UI that was functional and scalable, review, the process was modified again to albeit not particularly attractive. At the Waterfall-in-tandem include other key members of the waterfall end of the first release, the product was A healthcare management company teams in addition to the waterfall project deployed internally with the agile team’s with which I’m currently working has managers. All the teams eventually came UI. By the next release the waterfall team multiple complex systems—systems so together for release planning meetings, had delivered, and the official screens large they must be broken down into with a smaller set of waterfall team became part of that second release. In the components, with each component having representatives attending iteration planning meantime, the end-users had access to its own project teams. Data flows from meetings when needed (see Figure 3). A the needed functionality, and the agile legacy minis and mainframes to newer, second tier of daily stand-ups was added team was praised for its efforts. browser-based applications and then for the team leaders, as in the Ken back again—and sometimes even on Schwaber “Scrum-of-Scrums” model. The Anomaly—Two to something else—resulting in huge For more information on how these Separate Entities coordination efforts to ensure successful meetings work, see the StickyNotes for a I’m aware of one organization that system integration. link to a nicely articulated definition and has decided to keep the agile and waterfall One of the component teams was graphic by Mike Cohn. These teams, groups completely separate, with no piloting agile and realized that in order to waterfall and agile, used the iteration overlap at all. This particular company coordinate milestone deliverables with reviews to inspect and adapt and thus set up its agile teams as a separate the other teams they would have to created their own natural transition plan. organizational unit, and its internal clients pay the department for the use of its agile teams for a fixed period of time To (not for a set project). C us tomer These agile teams function as a type of “skunk works” operation (see the R eleas e StickyNotes for more information). Copyrighted by Lockheed Martin, the Team Iteration 1 Iteration 2 Iteration 3 Iteration 4 “skunk works” phrase was created by a Agile 1943 Burbank, California, team that M iles tones and Sync P oints had been tasked with creating the P-80 jet fighter from scratch. Clarence Team Analys is …Des ign…C ode…Tes t “Kelly” Johnson, who headed the team, Waterfall described a skunk works operation as “a Figure 3: Waterfall-in-tandem small group of experts who drop out of the mainstream company operations in include the waterfall project managers in Don’t be surprised, however, to find order to develop some experimental the planning sessions. This realization your agile teams moving ahead of those technology or new application in secrecy came after attempts to stay synced up via waterfall teams that aren’t inclined to co- or at speed, unhampered by bureaucracy emails failed horribly. The agile team operate or are unable to deliver. Agile or the strict application of regulations.” members realized they had left the teams usually figure out a way to keep These stealth agile teams evade waterfall “collaborative” out of the “constant making progress, even without the controls thanks to the power of their ex- collaborative communication” principle expected deliverables on which they rely. ecutive sponsors and their paying clients, (sorry, constant emailing doesn’t count!), The agile team will stub out that missing who work together to protect and incu- and so began inviting the waterfall project subsystem and create work-arounds, or they bate the teams so they can focus on their managers to all their planning meetings— will simply build the module themselves. assignments. And by keeping the two release planning, iteration planning, and In one instance, agile team members separate, management avoids dealing daily stand-ups. Initially the waterfall decided not to wait for the waterfall user with the issues surrounding changes project managers grumbled that all these interface (UI) design team to provide the needed in organizational structure, project planning sessions were wreaking havoc on their calendars. However, once they had attended a few sessions, the managers Don’t be surprised, however, to find your agile teams began to realize the value of the shared moving ahead of those waterfall teams who aren’t information and the improved ease and coordination of the work. inclined to cooperate or are unable to deliver. Although this approach was more
approval procedures, ongoing portfolio metrics and management, and overall culture that must be addressed in an ag- The KEY TO SUCCESS in each of ile- waterfall cooperative. Making changes—especially of this these examples is the teams’ approach magnitude—is never easy. But most teams to transition problems—solving problems have told me that the hardest part is just getting started. Once teams begin collectively, collaboratively, and with the adopting some of the practices, they find freedom to make decisions and changes the rewards surprising and well worth the continued effort. Organizations find that within the discipline of regular reviews. being able to better respond to the Here are several recommendations to help marketplace isn’t the only reason to switch to agile. The cooperative and your organization develop ways for agile collaborative nature of the approach provides a more supportive, meaningful, and waterfall to effectively coexist: and exciting work environment for the members of the team. Agile is a Talk with waterfall stakeholders about how you’d like to work together. commonsense approach to software Answer their questions about agile, and ask for their help in making the development, and the success of a relationship as pain-free as possible. The executive sponsor should be waterfall-agile enterprise lies in creating part of the initial discussion, to share her commitment to the process, a transition plan to excellence through her dedication to removing roadblocks, and the importance of each the cycle of inspection, adaptation, and team’s involvement. execution. {end} The waterfall requirements of the project should become stories in Michele Sliger has worked in software the agile team’s backlog. Include waterfall stakeholders in the agile development for more than fifteen planning meetings, so that everyone understands what qualifies as years. She currently works as an barely sufficient deliverables, what assumptions the teams are making, agile consultant for Rally Software and what dependencies exist. Development, where she trains software development teams in agile methodologies. In the review and retrospective held at the end of each iteration, Previously a project manager at Qwest analyze the benefits and challenges you’ve just experienced and make Communications and a consultant for recommendations on how to improve the experience in the next itera- Fortune 500 companies, Michele was a tion. Again, be sure to include the waterfall stakeholders. founding member of the engineering teams at two biotech start-ups. She is a Executive and middle management should create their own prioritized certified Project Management Professional backlog of transition issues they need to focus on, implementing corporate and a Certified Scrum Master. Michele is process and organizational change iteratively and incrementally. also an adjunct faculty member of the University of Colorado, where she Don’t try to fix everything before you start agile adoption. Just dive right teaches software project management to in—you’ll find a way to work within the current constraints. Use the graduate engineering students. Email iteration reviews and retrospectives to make change recommendations Michele at msliger@rallydev.com. and implement incremental improvements as you go. Be reasonable about this by focusing on only the top two or three things for the next iteration. It’s a backlog of recommendations and, like the backlog of Sticky product features, they all can’t be implemented at once. Notes For more on the following topics, go to Pay attention to behaviors and avoid reverting to old habits. For example, www.StickyMinds.com/bettersoftware if you notice that you’re depending on the specification that you had to Alistair Cockburn’s Barely Sufficient create in the waterfall-up-front iteration instead of having discussions methodology with the product owner, set the document aside. Mike Cohn on daily stand-up meetings Invite all stakeholders to participate in a project retrospective at the end. These meetings are crucial to help identify and implement broader More on “skunk works” transition changes that affect the entire enterprise. Further reading
Agile projects Agile development refers to a set of software development methods that encourage continuous collaboration among stakeholders and rapid and frequent delivery of small increments of useful functionality