Home > DAD Book, DAD discussions, Discipline > Incremental Delivery of Consumable Solutions Requires Discipline

Incremental Delivery of Consumable Solutions Requires Discipline


Being able to deliver potentially shippable software increments at the end of each iteration is a good start that clearly requires discipline.  The Disciplined Agile Delivery (DAD) process framework goes one step further and advises you to explicitly produce a potentially consumable solution every iteration, something that requires even greater discipline.  Every construction iteration which your team executes requires the discipline to address:

  • Working software that is “done”.  Your software should be tested to the best of your ability.  Ideally this includes pre-production integration testing and acceptance testing of the functionality delivered to date.  The software should not only fulfill the functional requirements but appropriate non-functional requirements (NFRs) as well.  Some of this testing may require the help of an independent test team, particularly at scale.
  • Continuous documentation.  Deliverable documentation, such as operations and support, system overview, and end user documentation are part of your overall solution. Evolving this documentation in sync with the software requires greater discipline than simply leaving this documentation to the end of the lifecycle.
  • Consumability. Your solution should be more than potentially shippable, it should also be consumable.  This requires investing some effort in user experience (UX) design throughout the lifecycle, particularly early in the project.
  • Organizational change.  The business processes around using your system, and potentially even the organizational structure of the stakeholders involved with it, may need to evolve.  The implication is that your team needs the discipline to recognize and explore these issues throughout the project so that your stakeholders are prepared to receive your solution.
  • Operations and support issues.  Your solution should be consumable by all stakeholders, not just end users.  Your operations and support staff should be able to work with the solution efficiently.  To understand these needs your team needs the discipline to work closely with operations and support staff throughout the lifecycle, an important aspect of your overall DevOps strategy.
About these ads
  1. Peekay
    August 21, 2012 at 4:55 am

    Thanks for the inputs on DAD. Can you please clarify in DAD when will the Acceptance testing be performed by the customer. In a typical delivery life cycle, prior to Go Live the UAT will be performed by the customer and the UAT points have to be addressed by the project team prior to Go Live.

    Though it is potentially consumable solution, having UAT at the end of each iteration may not be feasible in bigger projects as customer may want to do it quarterly or half-yearly combining several construction iteration scope.

  2. August 25, 2012 at 3:01 pm

    This is a very good point. Many agile practioners naively assume that you can have production-worthy consumable software every week or two. For simple projects such as a website, this many be possible. However for large enterprise applications with shared resources for data and services, or for medical devices for example this may not be feasible. If you are using DAD, you will use the same agile testing practices as described in Extreme Programming (XP) such as TDD and continuous integration. With good automated regression testing practices in place (unit, acceptance, UI) you should at least have good quality software at the end of each iteration.

    Ideally the customer is embedded in your team to supplement the automated testing with manual exploratory testing and to help ensure that the acceptance testing coverage is adequate. For sophisticated, mission critical, or life-dependent systems, it is often recommended, and in some cases mandated that you execute an end of lifecycle UAT cycle. We recommend that you do this as part of the Transition phase. In some situations, this could be done in parallel with the last few iterations of Construction. It is typical to use the DAD practice of independent testing for this purpose.

  1. December 20, 2012 at 1:54 pm
  2. October 9, 2013 at 5:58 am
  3. October 16, 2013 at 4:47 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 598 other followers

%d bloggers like this: