Is Agile Development Good for Health IT?

Agile software development teams rapidly deliver high quality applications that customers actually use. That’s the promise.

The Standish Group has estimated that 64% of software features are rarely – if ever – used and only 20% are regularly used. In Health IT, where software development costs are inherently high, this factor is particularly noteworthy. In addition to the costs of compliance with industry regulations including HIPPA, a 2008 AMIA study posted on NIH.gov identifies disparate data sources, security, interoperability, and high numbers of interfaces as factors that can drive Health IT software development costs above typical development costs.

If software developers build only modules that users use, costs are likely to go down while user satisfaction goes up. But even as more and more organizations reap the benefits of Agile, others struggle to achieve ROI. Ken Schwaber, co-formulator of the Scrum implementation of Agile, estimated that “75% of those organizations using Scrum will not succeed in getting the benefits that they hope for from it.” While Agile itself is simple, doing Agile can be tough.

Successful Agile teams follow the principals in the Manifesto for Agile Software Development, published in 2001. The following principals are particularly relevant to Health IT:

  • Customer satisfaction by rapid delivery of useful software
  • Working software is delivered frequently (weeks rather than months)
  • Welcome changing requirements, even late in development
  • Face-to-face conversation is the best form of communication (co-location)
  • Close, daily co-operation between business people and developers

The last two points are essential to delivering usable, and useful, Health IT software. The Manifesto stresses the importance of “customer collaboration over contract negotiation.” Development teams need to interact with practitioners early and often to ensure that software features meet user requirements. By focusing on the features users need most, development teams align their services with their customers’ business needs.

By delivering only the highest priority features, software can be delivered faster. When users see the features they need most in the next release, they tend to appreciate the value of their own participation in the software development process. When development teams maintain the flexibility to adapt to evolving user needs, trust and collaboration levels tend to increase and the promise of Agile is realized.