7th Principle Focus on The Measuring Progress

“Working software is the primary measure of progress.”

Agile software development projects determine their progress by measuring the amount of working software. The project is estimated 75 percent done when 75 percent of the necessary functionality is actually working.

The progress of an agile project is not measured by the phase the development team is in, neither by the amount of written documentation nor by the volume of created code. The paramount of progress is always the working software.

measuring progress fast
by Thinkmobiles

Permanent attention to technical excellence and a good performance enhances agility. The agile development team has to pay close attention to the technical level of the product, as it constantly evolves. At ThinkMobiles, there is a well-balanced rule that combines “building the right product” and “building the product right.”

Nevertheless, the methodology is always wary of delivering fragile systems. If the implementation of some couple of changes makes the mobile application fall apart, the approach should be modified or changed at all. The test-driven development and automated builds are the way to avoid fragile solutions. When there is a set of unit tests, developers can see problems every time the build runs.

It is all about balance:

the higher a code coverage is + the closer a project is to continuous integration = the better solution will be.

But how should we measure the progress in agile projects?

It is important to understand that there is a big difference between indeed “working software” (for the end-user) and “according to specs” (which are not always what an end-user needs). In the great number of traditional (not Agile) projects, the development teams spend the immense amount of time on details that have actually no value to the end-users.

…and they do it only because it’s stated in the specifications.

During the Agile development process, developers and customers/users work together on a daily basis, agree on the functionality, and make decisions profitable and efficient to the users and project in general. All together they determine the point when the relevant “working software” is delivered and accepted.
The fundamental determination of progress lays in measuring things on a piecemeal basis – only things that are completed. Software development is considered to be finished only when it is successfully tested, delivered and accepted by the end-user.