Select Page

Agile

What Agile Methodology does Zia Use?

This is a question we receive at lot from customers. We believe in and follow the Agile Software Development Manifesto (https://agilemanifesto.org). You will not find a Scrum Master, Pigs or Chickens, no Cowboy Coders or Extreme Programmers at Zia. We may have a few extremely talented programmers, but no Lean or Kaizen programmers. We choose to use an Agile development methodology for one reason, it flat out works better than other methodologies we have used over the years.

We believe in using an evolving methodology that meets the reporting needs of our customers and focuses on delivering quality software that benefits our customers daily jobs. We use daily stand up meetings, pull quality forward by testing and integrating continuously, and we are a partner with Rally Software. If our clients are willing to use Rally to capture requirements (user stories), plan iterations and releases (backlog and iteration planning), and write test cases, we encourage it. This is not possible with every client and we work with them to communicate project status in a way that works for them.

Zia’s Agile solution methodology strives to achieve the highest levels of customer satisfaction by delivering complete sets of functionality early and often. This iterative development approach prioritizes software features according to business value.

Traditional software development is based around linear based development models, comprised of phases such as:  Define Requirements, Implement Code, Test System, Deploy. Development cycles are often in the 12 – 36 month range and include a plethora of specifications and documentation delivered along with the functional software. Due to the complexities of software development, scoping and implementing on this large of a scale is rarely successful. Projects often run over budget and have a hidden cost associated with changing requirements after the initial discovery process.

The Manifesto for Agile Software development (See https://agilemanifesto.org) offers a high level description of the values that Agile software embraces:

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.

Agile software development requires the frequent delivery of complete software features.  For example, development iterations usually last two to four weeks.  Each iteration delivers fully tested and functional feature sets. By requiring each iteration to be fully tested, lengthy and costly testing phases in the later stages of the project are avoided. Zia and the client business owner will work closely together to ensure that the features with the highest business value are delivered first. The primary goal is to maximize the value the client receives for the money spent.

Traditional software development resists change, making it costly to alter requirements after the project start. In Agile based development, changing requirements are welcome, even late in the development cycle. The iterative approach to solution development minimized the costs associated with change. Delaying the detailed design and technical specification for a given feature until the start of the iteration that will implement it does this. Requirement changes are accommodated by trading in new features in exchange for existing requirements of equal or greater effort.

At its heart, Zia’s Agile based methodology is centered on a close collaborative approach to maximizing value for our customers. Constant client communication is necessary to ensure that each development iteration addresses features with the highest business value, even if those features were unknown at the launch of the project.

Benefits of the Zia Methodology

  • Return on Investment – Maintain a close level of collaboration with the client project owner, ensuring that the most important business features are always slated for the next development iteration.
  • Embrace Change – Minimize the cost of changing requirements. Do not spend wasted work on a large up front design specification that is immediately out of date. Allow for updated requirements throughout the project lifecycle by performing incremental detailed design at the start of each iteration.
  • Pull Quality Forward – Rather than waiting until the end of a six month development cycle to test the entire system, deliver production quality tested code at the end of each iteration. This reduces the ‘technical debt’ of unexpected code quality issues.

How does Zia’s Methodology Work

The Zia Methodology closely follows the Agile Approach: “Money for Nothing, Changes for Free”. This section describes how customers will work with the Zia development team on this project.

Typical consulting companies will bid fixed price projects but once the paperwork is signed, the change request start coming in.  Projects can end up with hundreds of thousands if not millions of dollars in change requests during development. After acceptance of the work products, there is still more work to do because of bugs and some functionality that is not really completed or useful.

What is the “Changes for Free” option?

  • The customer must execute this option by working with the Development Team every Iteration.
  • Failure to do this voids this clause and the contract reverts to time and materials.
  • The Client Sponsor reprioritizes the backlog of work at the end of each iteration. Zia calls this the UAT and Planning phase.
  • Changes are included with these rules.
  • Changes in priorities are free if total contract work is not changed.
  • New features may be added for free at Iteration boundaries if low priority items of equal work are removed from contract.

Requirements of Client:

  • Features are prioritized by business value and implemented in order of maximum value.
  • The clients end Users follows project closely and work with the Client Sponsor to produce a quality Project Backlog.

Advantages:

  1. Client determines ROI cutoff where implementation of the next feature costs more than the value of the feature.
  2. Zia assumes risk of late delivery of mutually agreed work.

Money for Nothing, Changes for Free

Photo Courtesy of Peter Stevens

Structure: This works with agile software projects because there is little or no work in progress. After each iteration, functionality is either complete or not started. Work is basically on a Time and Materials basis with a cost target, often with the intention that the project should not use up the entire project budget. After a certain amount of functionality has been delivered, the customer should realize that enough business value has been realized that further development is not necessary and can therefore cancel the project. A cancellation fee equal to the remaining profit is due.

Scope: can be changed. Planned but unimplemented features can be replaced with other stories of the same size. Additional features cost extra.

(Source reference: “10 Contracts for Your Next Agile Software Project,” Peter Stevens)


Pin It on Pinterest