23 Eylül 2012 Pazar

Agile: Fast & Fruitful Development


Agile is a product development approach that focuses ondelivering small increments of product functionality overtime. The goal is to deliver the highest value features quickly. 
This makes agile attractive financially since revenue and benefits also start accruing quickly. In addition, when agile is compared toother product / project management frameworks, it wins the trifecta. Agilereduces risk. Agile enhances quality. Agile cuts development costs.
In this article, we will review how to achieve the benefitsof agile while also confronting some of its challenges.  Topics covered are:
  • How to Earn Revenue Now
  • How to Remove Roadblocks
  • How to Manage Rework
  • How Agile Cuts Costs, Enhances Quality andReduces Risks
  • When to Use Agile

How to Earn Revenue Now!

The challenge is for the product owner to focus on featuresthat drive revenue and benefits. And the first step is to pick the rightsegment. Since the product will be rudimentary, demanding consumers will rejectit. If it is rejected, then little revenue will be realized and the agileapproach fails.
The key is to find a segment that is ignored by currentsolutions and is therefore willing to deal with the inconvenience of arudimentary product. As this initial core accepts the product and proves itsbenefits, the product may be extended to capture additional segments.   
The story of the transistor radio illustrates how to capturean overlooked segment with a simple product and then go on to refine theproduct for a broader set of consumers.
In the early fifties, radios used tube technology whichprovided outstanding audio quality. Transistors were discovered that could beused for radio, but the sound was poor. Instead of going head-to-head with anentrenched competitor, Sony found a way to exploit the transistor’s differenceto make it a differentiator. The difference was size. A radio could now bebuilt that was portable.
That first transistor radios cost over $300 dollars incurrent costs. It appealed to a small segment who wanted to listen to sportswhere audio range was not a big issue. It also attracted teenagers who couldlisten to their choice of music.
Costs continued to decline and sound quality improvedto be “good enough”. Transistor radios not only captured the portable market,they went on to displace tube radios in the stationary market. Transistorradios are still the most successful consumer electronics product with over 7billion sold.
An outstanding framework to use when considering agile product developmentis Clayton Christensen’s Disruptive Innovation. The3-step process is:  
  1. Launch- A product or service takes root in simple applications at the bottom of a market. The product provides lessperformance overall.  But muchbetter performance of an unmet need that creates a new market.
  2. Refine - The product relentlessly moves ‘up market’
  3. Conquer - Displaces established technology and competitors 

How to Remove Roadblocks

As you can see inthe diagram, the “burn rate” or rate of spending for agile is high from thestart. If agile is unable to deploy quickly, its costs escalate causing return-on-investment(ROI) to plummet.
The agile framework is set-up to eliminate many inherentroadblocks by establishing a team of full-time associates who remain togetherfor the duration of the program. Teams will be discussed more in a latersection.
But there are still some specialists that are needed for ashort period who are called upon when necessary. Since these specialists are inhigh demand, there is often delay in getting their services.
Before implementing an agile approach, resolve allocation ofcritical specialist skills. Some approaches to consider:
  • Automate – Whenever possible, critical andfrequent services should be automated and made self-service. Server buildsoften hold up software development teams and make a good candidate for automation.
  • Delegate – Determine what specialists’ functionscould be delegated to agile team. It may be necessary to develop standards and provideoversight.
  • Engage temp resources – Allow the agile team toacquire third party resources as needed following appropriate standards andoversight. Unlike traditional methods, the agile team will only have a fewweeks / months to prove their value proposition, so costs are unlikely toescalate.
  • Implement agile services management – There is acomplimentary agile approach for service queue management to make moreefficient and predictable. It is called Kanban.

How to Manage Rework

In agile, a holistic design for the fully built product isnot completed upfront. Instead product design emerges as the solution is builtand refined.
Those with experience will see that an emerging design mayalso cause rework. For many of us coming from more traditional methods, thespecter of emerging design makes us shudder.
But a holistic design may provide a false security. If theproduct is using new technology, defining a robust and scalable design isunlikely on the first pass. It may be more useful to get feedback sooner thanto over-analyze. So start small, get it out in the real world and plan onmaking adjustments.
If the technology is well established, there is opportunityto borrow design patterns from successful projects. For example a 3-tierarchitecture when developing a website is a proven pattern. 
The development team also may have insights as to whichfeatures support synergistic development. The caution is that we want to avoidbuilding lots of foundation functionality that delays release of the product.
With frequentdelivery, it becomes necessary to perform some development functions such astesting repeatedly. In more traditional methods, testing would only be doneonce. For those activities that are now completed multiple times in agile, itis important to review how they may be made more efficient. For example,automating test cases will reduce costs and avoid elongating the schedule.

How does Agile Cut Costs, Enhance Quality, & Reduce Risk

At the heart of agile is the “empirical process”. The "empirical process" manages product development through frequent inspection and adaption. The steps are plan, do, inspect and adapt. 
Because agile defines short, consistent, time-boxeddevelopment cycles of just a few weeks, the empirical process is effective inagile. There are numerous opportunities to plan, act and review. More frequentiterations
  • Improves efficiency by exploiting the “learningcurve”.  Hastening the number of iterations,hastens learning.
  •  Helps us avoid making large investments infeatures that are not useful since there is regular review by the product ownerwho is a core member of the team and by the product consumers.

As mentioned earlier, the team is dedicated and full-time.Dedicated team members avoid switching costs that occur when a person mustswitch from one project to another. When switching, a person must rememberwhere they left off and then ramp up. Studies suggest that switching adds up to40% to overhead.
All of these agile methods cut costs, reduce risks andenhance quality by working on small doable chunks and correcting issues early.

When to Use Agile

Consider switching to agile for more of your productdevelopment. It is especially helpful when the problem or solution is unclearand requirements will change frequently in response to new information.
Agile benefits any product that that can launch with asimple version that attracts early adopters. Remember that if the product issuccessful there will be sufficient benefits to fund refactoring andincorporate learning into the next version of the design.  

When the underlying technology used to develop a product is easy to change, then agile is ideal. For example websites, on-line apps, a restaurant menu, a class curriculum, or the finishes in a building.
It is also useful for products weighed down by too many features. The National Science Foundation completed a study that found that 50% of system features were never used and a significant percent were used sparingly. Those extra features make products more difficult to use and frequently add to on-going overhead.
Google exploited this insight with the release of its officeproducts such as Gmail that focused on the high benefit features and dumped therest. The features cut werenot missed by the typical user.

Why Use Agile

The CFO will find agile exciting since revenue / benefitrealization starts much earlier.
The product owner and development team will also be compensated.They gain feedback from consumers sooner which is informative and rewarding.
Being on a development team using traditional methods can bea long march without any big wins until the end. Agile provides frequent deliveryof working product to enhance the team’s morale.
In addition, the team experiences improvements in theirability to deliver more effectively using the empirical process. Crisismanagement – a factor in many projects – is eliminated since change can beincorporated easily in the next iteration.

Resources

  • Product management using disruptive innovation - Read more @ Professor Christensen >>  
  • Empirical process - Read more @ Agile Learning Labs >> 
  • Switching costs of multitasking - Read more @ American Psychological Association >>  

Hiç yorum yok:

Yorum Gönder