When worlds collide

Having been on both sides of the aisle, it is easy to see how the SDLC and Agile camps can believe themselves to be mutually exclusive. After all, from the “plan-first” point of view, the perceived “just build it” mentality of the Agilists seems somewhat reckless and cowboy, while the “plan everything” mentality seems hopelessly wasteful and doomed to pointless failure, for the “feature-first” crowd.

However, I offer that the two communities are closer than either would admit in mixed company, with the difference more in execution than in philosophy. Because, philosophically, they both strive for the same thing: successfully building relevant solutions, as quickly and cost effectively as possible.

Consider this: they both start with project charters, they both involve significant planning (yes, Agilists plan!), they both have budgets and timelines, they both report various performance metrics, manage risk and change, establish vendor relationships, and just about everything else defined in the venerable PMBOK. But whereas SDLC’s attempt to plan everything up front (sometimes iteratively), Agile methodologies – and specifically Scrum – spread planning throughout the entire project, using a process called progressive elaboration. Indeed, one way to think of a Scrum project, in SDLC terms, is as a staged (timeboxed) development project utilizing rolling wave estimating. Not so different, after all.

Similarly, if you take those up-front use cases and requirements, replace them with feature definitions (stories) which will be progressively elaborated during the course of the project, shape feature development into time-boxed development efforts for estimating and monitoring purposes, allow highly engaged product owners to redefine which features get developed first (with limits), utilize just-in-time decision making, integrate testing  throughout, and continuously plan and reevaluate as events change on the ground, then you have captured the essence of an Agile project.

Finally, If you use a standardized reporting metric, such as AgileEVM, and use feature- and schedule buffers for high-level planning and estimating, then you have a framework where SDLC and Agile projects can somewhat peacefully coexist and be evaluated with respect to one another.

So, if cats and dogs can learn to live together, so can SDLC’ers and Agilists. For, indeed, we all like to eat and lay on the couch, don’t we?

Leave a comment