Editor's note: MikeBishop is vice president, ProductDelivery, for Mitchell Auto Casualty Solutions. RobinPeters is manager, Business Systems Analysis, for MitchellAuto Casualty Solutions

|

Technology companies using Agile development offer a variety ofbenefits for their customers, and ensure that the voice of thecustomer is truly integrated into all aspects of thesoftware-development process.

|

Lean Agile is a software-development methodology that emphasizesincremental and iterative development, and is a departure from themore traditional waterfall style where work is planned andperformed in a sequential manner (requirements, design,implementation, verification, maintenance). Where waterfall lendsitself to so called "big-bang" releases, Lean Agile favors a morerapid and flexible approach where small amounts of functionalityare delivered at more frequent intervals. This allowsproduct organizations that employ Lean Agile concepts to be moreresponsive to customer requirements and needs as they evolve.

|

Lean Agile runs on a two-week cycle (termed a sprint), with thefirst few days devoted to planning and prioritizing what is nextfor development. Once the planning is completed for a specificsprint, the work is divided up among teams so the development isdone in a simultaneous manner (as opposed to the sequentialdevelopment in waterfall). The spirit of collaboration isessential to Lean Agile, since programmers and developers formself-directed teams to accomplish the many tasks necessary tocreate software.

|

These self-directed teams meet briefly each day to review workthat has been accomplished, what needs to be done, and whatobstacles need to be overcome. Each team develops a senseof ownership and the daily meetings provide an opportunity toquickly tackle any issues that may arise. 

|

Lean Agile also allows for customer input to be incorporatedmore often, as the product roadmap and planning cycles can beupdated repeatedly. Since the Lean Agile process is customercentric, companies applying Lean Agile methodologies continuallywork with their customers to learn what's needed, what can beimproved and how new initiatives can be designed and implemented tomeet customer needs. In addition, the frequent release cycle ofLean Agile provides earlier access to new functionality, whichhelps to accommodate change requests with minimal disruptions tothe entire project.

|

Based on customer feedback, prototypes are developed that aretested against the user requirements. This collaborative approachto development provides the opportunity to refine design conceptsand verify functionality along the way, rather than spending agreat deal of time and resources developing something thatcustomers don't need or want.

|

Frequent testing is another benefit of working with firms thatuse Lean Agile development. Since there are typically smallreleases measured in weeks, as opposed to big releases on an annual(or longer) basis, customers are able to test these changes alongthe way. This helps with resource allocation and can help tominimize disruptions to other corporate initiatives that may beunderway. In addition, any defects can be identified early on andfixes applied much more quickly using Lean Agile techniques. Coursecorrection can also be applied at each of those intervals to makesure that the software solutions are solving for the most valuableproblems.

|

A core principle of Lean Agile development is to deliverfrequent software updates. By shortening the time that anapplication is in a state of flux, the risk and complexity ofputting it back together again for a production release is reducedsignificantly. However, in order to derive the risk-reducingbenefits of this principle, the updates to the application have tobe completed at the end of each development cycle. And this maybecome a challenge when delivering features that are not able to becompleted within the designated development cycle.

|

One way to address this challenge is throughthe use of a concept known as Latent Code. Latent Codeprovides a framework for including dormant functionality in aproduct so that it can be exposed later when needed. Thevarious mechanisms for doing this go by many names–feature bits,feature flags, toggles to name a few–and companies such as Google,Twitter and Flickr use them extensively with great success.

|

Whatever name it goes by, the idea with Latent Code is that onceyou put it into the application, it can be turned on incrementallyso that new features and functionality are deployed piecemeal. Thisapproach can also be applied to making specific functionalityavailable to only a certain percentage of users at atime. 

|

Phased deployment of the Latent Code provides developers withthe ability to monitor for any quality and performance issues asthey arise. This lets developers address problems beforethey impact the majority of users and helps to improve quality forfuture development. Use of Latent Code helps to avoid longduration, big bang releases that may not always meet customerneeds.

|

Another benefit of working with partners who use innovativetechnology approaches like Latent Code is that future enhancementscan be scoped out during the planning stages, scheduled forcreation, and then added to the software for later use. It provides the ability to plan ahead for large changes, such asthe switch to ICD-10 that technology companies operating in thehealthcare industry will need to address next year and addressthese in an incremental fashion, with plenty of time for additionaltesting and validation. 

|

Some software technology companies are already providing ICD-10functionality enhancements, such as the changes to theirintegration layer and database so that their customers and partnerscan update their systems to conform to the new data formats whilethey are still working on processing, display and pricing logic ofICD-10 codes. So although the full ICD-10 project is not complete,parts of the ICD-10 functionality within products can be releasedin order for early testing and integration.

|

These features will not be fully utilized until providers startto use ICD-10 codes on bills. Having the ability toimplement the pieces of ICD-10 before it is necessary givessoftware partners the ability to be proactive and flexible withchanges and gives customers the ability to test and providefeedback before the use of ICD-10 codes is required. 

|

Using Latent Code is just one of many techniques that technologypartner use to improve the ways they deliver products both in termsof speed to market and quality.  By embracing theseinnovative principles and tactics, they are embracing a core tenetof Lean Agile–continuous improvement–and increasing the delivery ofquality products.

Want to continue reading?
Become a Free PropertyCasualty360 Digital Reader

  • All PropertyCasualty360.com news coverage, best practices, and in-depth analysis.
  • Educational webcasts, resources from industry leaders, and informative newsletters.
  • Other award-winning websites including BenefitsPRO.com and ThinkAdvisor.com.
NOT FOR REPRINT

© 2024 ALM Global, LLC, All Rights Reserved. Request academic re-use from www.copyright.com. All other uses, submit a request to [email protected]. For more information visit Asset & Logo Licensing.