The Ultimate Guide to the SDLC

The Complete and Ready-To-Adapt System Development Life Cycle

  • Home
  • SDLC Principles
  • Articles
  • Table of Contents
  • Downloads

Managing Scope Creep

By Victor M Font Jr 2 Comments

Scope creep - dangerous cat image, free image from pixabay.com, CC) license, no attribution requiredOne of the greatest challenges for anyone in Information Technology is managing scope. Scope creep is a bane to a project’s success metrics. Scope creep occurs for a variety of reasons like poor change control practices, not understanding project objectives, poor requirements practices, poor communication and even poorly skilled project team members, project managers and business analysts. In a JAD session, where everyone is offering their thoughts and opinions, scope creep can crawl in almost before anyone realizes a topic has veered off course.

In Chapter 3 of the book “Writing Effective Use Cases,” Alistair Cockburn talks about an “absurdly simple and remarkably effective” method to control scope that he learned from consultant Rob Thomsett. The method is so simple, yet proven to be so effective, that it personally led to a true “AHA!” moment for me. The method is called the in/out list. It draws a boundary for meeting participants between what is in scope and what is out of scope for the discussion.

Topic : Order Entry
In
Out

Entering standard orders
In
 

Forms of payment
In
 

Combining multiple orders to reduce customer shipping costs
 
Out

Partial deliveries, late deliveries, wrong deliverables
In
 

Invoicing in any form
 
Out

Out of stock inventory
 
Out

Introduce the in/out list right after establishing the ground rules. Write it on the white board or on flip chart paper and post it for all to see. Allow it to remain visible for the entire discussion. Use a new in/out list at the introduction of any new requirements discovery activity since topics in focus are likely to change every few hours. Give details about the points that are in scope for the current topic of discussion and explain that the out of scope items will be discussed at an appropriate time in a future meeting. Give the audience a chance to acquiesce to or contest the in/out list. Allow time for the group to debate any opposition and concede to consensus.

During the course of the topic’s discussion, someone may bring up an entirely new item for reflection that had not been thought of before. Allow the group to decide if it is in scope for the day’s activities or not. If it is, add it to the in/out list and ask what needs to be dropped to make up the time difference. If the group says no, log it as an open issue and make sure to schedule it for another meeting. The in/out list is effective in any kind of meeting, not just JADs.

The JAD continues with cycles of eliciting, analyzing and documenting requirements. The analysis at this stage is preliminary. A much deeper analysis comes later and will be discussed in the Chapter 6. Analyzing requirements is as much about finding ways to improve business processes as it is about satisfying business need. It is okay to challenge requirements that might not make sense in light of the objectives, current technology or implementation cost. Ask probing questions about why debatable business processes are the way they are and do not accept “because we’ve always done things that way” as the answer. Lead the participants into a process improvement course of action instead of letting them settle for the status quo.

The inclination to cultivate interpersonal conflict is the greatest disadvantage of the JAD. Disagreements between participants may occur in a JAD setting which cannot be settled within the confines of a single session. The scribe logs it as an open issue and the facilitator assigns the disputing parties the task of coming to a single source of truth and reporting the resolution by an agreed upon date. Validate all the activities against the objectives established early in the meeting. Identify the requirements’ critical success factors.

Good requirements are measurable and testable. For every requirement ask two questions: How will we know that the planned changes have been effective? How will success be measured? If break-out sessions are planned, make sure to debrief when they are over. Close the day’s activities by summarizing what happened and what was accomplished. Review any open issues and ensure that each one has an assigned resolver and a resolution date.

When the participants leave, the scribe and BA stay to add the day’s requirements to the BRD if the scribe hasn’t done this in real time during the session. Yes, it is possible to write most of the draft BRD while the JAD is in session. Multi-day JADs begin subsequent days with a review of the prior day’s accomplishments. When the JAD is completely over, follow-up on any remaining open items and complete the BRD. Before sending the BRD out for review by the participants, confirm its readiness through the quality review process described in Chapter 6. If JADs are run effectively and follow-up items resolved quickly, a final BRD can usually be delivered to the participants within 7 to 10 days post JAD, quality check and all.

Agile Manifesto

By Victor M Font Jr 1 Comment

Wordle.net image created by Victor M. Font Jr. for Agile Manifesto article
Jim Highsmith is one of the authors of the Agile Manifesto and its official historian.1 Highsmith said:

On February 11-13, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, seventeen people met to talk, ski, relax, and try to find common ground and of course, to eat. What emerged was the Agile Software Development Manifesto. Representatives from Extreme Programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming, and others sympathetic to the need for an alternative to documentation driven, heavyweight software development processes convened.

The 17 authors of the Agile Manifesto are:

  • Kent Beck
  • Mike Beedle
  • Arie van Bennekum
  • Alistair Cockburn
  • Ward Cunningham
  • Martin Fowler
  • James Grenning
  • Jim Highsmith
  • Andrew Hunt
  • Ron Jeffries
  • Jon Kern
  • Brian Marick
  • Robert C. Martin
  • Steve Mellor
  • Ken Schwaber
  • Jeff Sutherland
  • Dave Thomas

The Agile Manifesto is a statement of principles that support agile software development. This simple, 68-word statement says:

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.

The twelve principles behind the Agile Manifesto are:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity—the art of maximizing the amount of work not done—is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

The framers of the Agile Manifesto emphasize the human aspect of systems development and rightfully so. All the planning in the world is not going to lead to a successful project if the people aren’t engaged. You can spiral iterations into oblivion, but if the stakeholders aren’t actively collaborating with the project team you not going to produce a product the customer needs. With the lone exception of the hybrid ICM, this is one of the weaknesses with the early Waterfall variants, the human factor falls short.

1Source: http://www.agilemanifesto.org/history.html, Copyright ©2001 Jim Highsmith

Adaptive Software Development

By Victor M Font Jr 3 Comments

Adaptive Software Development
Photo courtesy of Armin Hanisch

Adaptive Software Development (ASD) embodies principles that teach continuous adaptation to the work at hand is the status quo. ASD was created to replace traditional Waterfall variants. In a general sense, ASD processes represent a repeating series of speculate, collaborate and learn cycles.

“Speculate” refers to the planning paradox—outcomes are unpredictable, therefore, endless suppositions on a product’s look and feel are not likely to lead to any business value. Some important dimensions are more than likely wrong. Hypothesize a rough idea of what you need and plan to adapt. The big idea behind speculate is when we plan a product to its smallest detail as in a requirements up front Waterfall variant, we produce the product we intend and not the product the customer needs. In the ASD mindset, planning is to speculation as intention is to need.

“Collaboration… portrays a balance between managing the doing and creating and maintaining the collaborative environment.”

Paraphrasing Highsmith,1 he said, “Collaboration… portrays a balance between managing the doing and creating and maintaining the collaborative environment.” Speculation says we can’t predict outcomes. If we can’t predict outcomes, we can’t plan. If we can’t plan, traditional project management theory suffers. Collaboration counterpoises speculation in that a project manager plans the work between the predictable parts of the environment and adapts to the uncertainties of various factors—stakeholders, requirements, software vendors, technology, etc.

“Learning” cycles challenge all stakeholders and project team members. Based on short iterations of design, build and testing, knowledge accumulates from the small mistakes we make due to false assumptions, poorly stated or ambiguous requirements or misunderstanding the stakeholders’ needs. Correcting those mistakes through shared learning cycles leads to greater positive experience and eventual mastery of the problem domain.2

An adaptive software development process was first described in 1974 in a paper written by Dr. Ernest A. Edmonds named A Process for the Development of Software for Non-Technical Users as an Adaptive System, General Systems, Vol. XIX, pp.215-218. Dr. Edmonds is Director of Creativity & Cognition Studios, University of Technology, in Sydney, Australia. He writes in an abstract of the paper on his website3 and says:

The aim of the paper is to describe the process of software development as it often occurs unintentionally, in a way that might make it easier to recognize what is happening…

…It is suggested that the solution proposed may also allow users to adapt their methods at the same rate as the development of the software, giving a smooth and well understood change in the system.

Edmond’s subsequent works further describe his approach to iterative adaptive processes. The idea apparently caught on. In the mid-1990s a number of adaptive processes sprang up throughout the IT industry. Prominent early methods include Rapid Application Development and Scrum (1991), Crystal (1992), Extreme Programming, Adaptive Software Development, Feature Driven Development, and Dynamic Systems Development Model (DSDM) (1995). These are now collectively referred to as Agile Methodologies, after the Agile Manifesto published in 2001.

It’s hard to define exactly what an agile software process is. There are so many approaches to agile software development; there is no one size fits all, yet they all share common best practices. Scott Ambler, author of Agile Modeling: Effective Practices for eXtreme Programming and the Unified Process, Wiley; 1st edition (March 21, 2002), puts it this way:

Disciplined agile software development is: An iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by self-organizing teams within an effective governance framework with “just enough” ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholder.

To learn more about Agile development methodologies and how they may fit into your flexible SDLC, order The Ultimate Guide to the SDLC today.

The Ultimate Guide to the SDLC front cover
Paperback Edition

$74.95

[add_to_cart id=”1016″ show_price=”false” style=”border:none;”]

1Source: James A. Highsmith III, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems, Dorset House Publishing Company, Incorporated (December 1999); ISBN: 0932633404
2Derived from: MESSY, EXCITING, AND ANXIETY-RIDDEN: ADAPTIVE SOFTWARE DEVELOPMENT
by Jim Highsmith Copyright 1997 by Jim Highsmith. All rights reserved. Source: http://www.jimhighsmith.com/articles/messy.htm
3Source: http://www.ernestedmonds.com/, accessed February 8, 2010

Incremental Commitment Model

By Victor M Font Jr 3 Comments

Incremental Commitment Model
Image Courtesy of Barry Boehm and Jo Ann Lane
The Incremental Commitment Model (ICM) was presented in 2006 in a paper titled Using the Incremental Commitment Model to Integrate System Acquisition, Systems Engineering, and Software Engineering written by Barry Boehm (Spiral Model) and Jo Ann Lane, a Principal at the University of Southern California Center for Systems and Software Engineering.

The ICM model emerged primarily as a result of recommendations from two independent studies. The first is the October 2006 Defense Software Strategy Summit in which Dr. James I. Finley, Deputy Under Secretary of Defense (DUSD) Acquisition, Technology, and Logistics (AT&L) sought to find ways of better integrating software engineering into the systems engineering and acquisition process. In the second initiative which ran concurrently with the Defense Software Strategy Summit, the National Research Council addressed the problem of better integrating human factors into the systems engineering and acquisition process.

In their paper, Boehm and Lane propose the ICM model to organize

systems engineering and acquisition processes in ways that better accommodate the different strengths and difficulties of hardware, software, and human factors engineering approaches. It also provides points at which they can synchronize and stabilize, and at which their risks of going forward can be better assessed and fitted into a risk-driven stakeholder resource commitment process.

Boehm and Lane’s analysis surfaced five problems common across current development models, including Boehm’s Spiral Model, relative to integrating their hardware, software and human factor aspects. The problem areas are:

  • Complex, multi-owner systems of systems
  • Emergent requirements
  • Rapid change
  • Reused components
  • High assurance of qualities

The most important conclusion, though, was that there were key process principles that address the challenges, and that forms of the models were less important than their ability to adopt the principles.
—Boehm and Lane

These key principles are:

  • Stakeholder satisficing
  • Incremental and evolutionary growth of system definition and stakeholder commitment
  • Iterative system development and definition
  • Concurrent system definition and development
  • Risk management – risk driven anchor point milestones

ICM draws on the strengths of existing models such as the early validation and verification of the Vee, lighter-weight concepts such as Agile and Lean, Spiral risk management and the Rational Unified Process (RUP) phases and anchor points. We have not discussed RUP in detail but it is an adaptive approach originally developed by Rational Software which was purchased by IBM in February 2003. RUP’s foundation is a set of building blocks that consist of Roles, Work Products and Tasks. The project life cycle consists of the four phases of Inception, Elaboration, Construction and Transition. There are six engineering disciplines that include Business Modeling, Requirements, Analysis and Design, Implementation, Test and Deployment. Three supporting disciplines are Environment, Configuration and Change Management and Project Management. As for Agile and Lean, we’re going to inspect lighter-weight concepts in the next section of this chapter.

Compared to the Waterfall variants we’ve seen so far, ICM advocates for the concurrent engineering of requirements and solutions. Feasibility rationales are expressed as simple pass/fail milestone criteria. Certain risks are mitigated by avoiding unnecessary documents, phases and reviews. Emergent requirements are handled through change processing and rebaselining activities to stabilize development for the next increment.

The life cycle is divided into two stages: Incremental Definition and Incremental Development and Operations. Incremental Definition is the three phases of Exploration, Valuation and Architecting. Incremental Development and Operations comprises two phases: Development Architecting and Operation Development Architecting. Timeboxing is employed to regulate iterations.

In concluding their paper, Boehm and Lane said:

The Incremental Commitment Model described in this article builds on experience-based critical success factor principles (stakeholder satisficing, incremental definition, iterative evolutionary growth, concurrent engineering, risk management) and the strengths of existing V, concurrent engineering, spiral, agile, and lean process models to provide a framework for concurrently engineering system-specific critical factors into the systems engineering and systems development processes. It provides capabilities for evaluating the feasibility of proposed solutions; and for integrating feasibility evaluations into decisions on whether and how to proceed further into systems development and operations. It presents several complementary views showing how the principles are applied to perform risk-driven process tailoring and evolutionary growth of a systems definition and realization; to synchronize and stabilize concurrent engineering; and to enable simultaneous high-assurance development and rapid adaptation to change.

A natural extension and enhancement of the Waterfall variants, ICM is a true evolutionary prototypical hybrid inculcated with the characteristics of Waterfall, RUP and adaptive processes. CrossTalk, The Journal of Defense Software Engineering is an approved Department of Defense journal. In articles published in CrossTalk (2002-2005) called the “Top Five Quality Software Projects,” well over half of the best documented government software-intensive success stories, when analyzed for the use of critical success factors, explicitly applied ICM principles.

Legend of the Chicken and Pig

By Victor M Font Jr 1 Comment

Chicken and the Pig Legend
Photo by Juan Lacruz
Licensed under the Creative Commons Attribution-Share Alike 3.0 Unported license.
The Scrum framework consists of Scrum Teams and their associated roles; Time-Boxes, Artifacts, and Rules. Every Scrum team has a ScrumMaster responsible for making sure Scrum practices are followed and impediments to progress removed. The ScrumMaster does not manage the team. Teams are self-organizing with no more than 7 members. There is a Product Owner representing the customer to ensure the team addresses priorities from a business perspective. The Product Owner sits with the team. Team members are called “pigs” and everyone else is called “chickens.” The pig and chickens idea originated from a fable. The earliest written version I could dig up is from June 13, 1950 published in the Titusville, Pennsylvania Herald in the column “Try and Stop Me” by Bennett Cerf, pg. 4, col. 4. Cerf said:

A hen and a pig were sauntering down the main street of an Indiana town when they passed a restaurant that advertised “Delicious ham and eggs: 75¢.”

“Sounds like a bargain,” approved the hen. “That owner obviously knows how to run his business.”

“It’s all very well for you to be so pleased about the dish in question,” observed the pig with some resentment. “For you it is all in the day’s work. Let me point out, however, that on my part it represents a genuine sacrifice.”

Schwaber and Southerland¹ use a variation of this fable to illustrate two types of project members. Pigs are totally committed to the project and liable for its outcome. Chickens consult on the project and are informed of its progress. Chickens do not tell pigs what to do. By implication, a rooster is defined as a person who struts around offering uninformed and disobliging views. We all know a few roosters, don’t we?

¹Ken Schwaber and Jeff Southerland formerly presented Scrum as a software development approach at the International conference on Object-Oriented Programming, Systems, Languages and Applications 1995

  • 1
  • 2
  • 3
  • …
  • 7
  • Next Page »

Buy Now, Instant Download

The Ultimate Guide to the SDLC front cover
PDF eBook

$49.99

[add_to_cart id="1013" show_price="false" style="border: none;"]

Download Free Preview

[add_to_cart sku="SDLC-Pre" style="border: none"]

UltimateSDLC.Com is Hosted on SiteGround

SiteGround Web Hosting

Free Instant Download

The Ultimate Guide to the SDLC front cover
PDF eBook

$49.99 NOW FREE!

[add_to_cart id="1013" show_price="false" style="border: none;"]

Valuable Extra Content

Downloadable Content

When you purchase The Ultimate Guide to the SDLC, you also receive over 60Mb of valuable complementary content contributed by some of the world's most respected Information Technology experts such as: Dr. Barry W. Boehm, TRW Professor of … Read More

About the Author

Victor M. Font Jr., Author

Victor Font is an award winning author, entrepreneur and star performing global IT Executive with over a quarter century’ experience in application development, project management, business analysis, quality assurance and leadership. He is a founding member … Read More

Testimonials

Thank You for Your Testimonial

“…The author has truly “hit the nail on the head.” Whether you are an academic student who is aspiring to be an IT professional one day, a trainee that has just started career, a business & quality analyst and manager that has years of IT SDLC project experience—a must read for an IT professional at all levels of IT journey.” —Sekhar Bommana PMP, ITIL, VP – … Read More

Consulting Services

I have the prescription for your IT ailments

Implementing a SDLC is not an easy task. In fact, it can take months or even years to develop the policies, processes, procedures, metrics and training to bring you the kind of results that lead to repeatable project successes, reduced rework and deliverables that meet or exceed stakeholder expectations. There are a number of factors that … Read More

Copyright Notice

Copyright © 2010–2026 Victor M. Font Jr.
Unauthorized use and/or duplication of this material without express and written permission from this website’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to Victor M. Font Jr. with appropriate and specific direction to the original content.

Recent Posts

  • Managing Scope Creep
  • Agile Manifesto
  • Adaptive Software Development
  • Incremental Commitment Model
  • Legend of the Chicken and Pig

Recent Comments

  • Teknik Fisika on Managing Scope Creep
  • Teknik Fisika on Incremental Commitment Model
  • Dawlat Waziri on The Project Management Method and the SDLC
  • Kuliah Terbaik on The 3-Legged Stool of IT Business Value
  • Victor M Font Jr on The Spiral Model

Tags

Affiliates Agile Best Practice Business Analysis Checklist Commission Elicitation Good Requirements Hybrid Hyrid IT Governance Model Organizational Change Outsourcing Project Management Quality Assurance Requirements Elicitation Risk Management SDLC Thought Provoking Waterfall Waterfall Variant

Return to top of page

Copyright © 2010–2026 Victor M. Font Jr.

Privacy Policy | Terms of Service | Contact Author | Report Erratum | Sitemap