Reflection on Principle 7 — Working software is the primary measure of progress

Imran Qazi
being-agile
Published in
2 min readFeb 23, 2018

--

This article is part of 12 agile principles in 12 sprints blog series.

“These days we do not program software module by module; we program software feature by feature” — Mary Poppendieck

A great quote by Mary; this is the essence of how we should approach software development and measure the progress of the projects i.e. in the form of tangible working software that provides an end-to-end implementation of business features.

To practice this principle, we ask the team to focus on completing the working features and passing the working software to the QA team as early as possible.

The team focused on:

  1. Reducing the time spent on technical tasks such as setting up infrastructure, development environments and starting on feature development asap. We did this by only setting up the minimum essential infra that is required to start implementing the first feature.

2. Split the user stories using S.P.I.D.R approach (by @mikeCohen). The aim is to reduce the size so that the user stories can be developed and released for QA process no more than a couple of days. This can provide early feedback to developers from QA and Product Owner. It is ideal if product owners can review the implementation as well.

3. Ensure that the user stories comply with ‘tracer bullet’ test. The idea of a tracer bullet in software development comes from Andy Hunt and Dave Thomas in their book, The Pragmatic Programmer. In writing user stories do this by describing the stories that go through the entire technology stack. User stories should describe the end to end business feature instead of describing the user interface, backend or database.

Being conscious of delivering working software and making small changes to achieve this can really help the team deliver more value to your clients each sprint.

--

--

Imran Qazi
being-agile

Agile Coach, Technology Leader, Business Agility