SDLC Model by Fourth Medium Consulting

I really like the domain model presented by Mark Kennaley in his blog post SDLC 3.0: A Complex Adaptive System of Patterns.  I think it is especially valuable for IT leaders at manufacturing organizations that have implemented Lean practices.  The model shows what Lean and Agile share in common and should allow an IT leader to describe the value of Agile in terms familiar to an operations manager/leader.

SDLC 3.0 Model by Fourth Medium Consulting

Reblog this post [with Zemanta]

ROI for Agile Training

Leaders considering the adoption of Agile often ask about return on the investment in training and coaching required to implement new practices successfully  There are several perspectives on the potential return on investment:
1. Accelerate Benefits from Software
Presumably the software being developed has an ROI case supporting it.  Agile development puts working software into production sooner, and puts the highest value features in place soonest. Whatever payback target is established for the software itself (e.g., payback after 6 months), Agile closes the gap and gets the payback sooner.
Incremental Funding Model

Incremental Funding Model

2. Reduce Defect Rates
Agile practices reduce software defects.  For example, if an average development team has headcount costs of $10,000 per week, or $520,000 per year, and is allocated 30% of the time to defect/bug correction (a conservative estimate), you’re spending $156,000 per year fixing bugs.  A modest reduction to a 25% bug rate would yield savings (or added value from resources freed up to create new features) of $26,000.
3. Increase Resource Utilization/IT Asset Yield
Agile practices increase productivity of your IT resources, effectively improving outputs at your current expenditure levels.  If your average development team is producing 12 product release a year (once a month on average) and moves to a release every 3 weeks (roughly 17 releases per year), you’re theoretically getting 141% of your previous yield.  The additional 5 releases may not be 100% additive, the combined effect of getting software into production sooner and making it better and less buggy adds real value to the company.
Reblog this post [with Zemanta]

Offshoring Facts

Mike Rosen, a Cutter Consortium director, summarized findings of Cutter research on quality and cost of offshore projects.  Their data was gathered from over 7,500 projects and 20 years.  Based on my experience, their findings are not surprising.

Rosen quotes a Cutter colleague, Micheal Mah, who compared “industry average” projects with offshore projects and agile projects.

Based on all projects reviewed, the average project is about $3.5M. Given this project size, an average project takes 12.6 months with a staff of 35, and 2,702 defects. For the same project size, an offshore project costs $3.2M, takes 9.6 months, and has 7,565 defects. In other words, it costs about the same, takes 75% of the time, but has 2.8 times as many defects.

A sample agile project of the same size (lines of code) cost $2.2 million, taking 7.8 months with a staff of 35, and resulting in 1,372 bugs. When compared to the industry average, this is $1.3 million and 4.8 months less with half the number of bugs. When compared to the offshore average, it is $1 million and 2.2 months less with a staggering one-sixth the number of bugs.

I was resistant to offshore development in its early years because it felt like a poor match with agile principles.  Over time I’ve come to recognize that offshore development will continue to gain ground in US corporations.  Its primary advantage is lower headcount cost.  Offshore developers can also bring value to the table with language, culture, and regional domain knowledge that’s lacking among their US counterparts.  However, the decision to use offshore development resources should be made with knowledge of its full cost, not just headcount costs.  And for many projects, the up-front savings of lower cost personnel is more than offset by longer term quality costs.

Prioritizing Features with Kano Classifications

The Kano Model was developed by Professor Noriaki Kano that classifies customer preferences into 5 categories:

Analysis of product features using the Kano Model assigns value based on customer needs and expectations.  The result of the analysis should allow a development team to identify features that add the highest value to a product.  Providing those features and doing them well has the potential to create the most customer excitement about a product.

Praise for VersionOne’s Agile Development Poster

VersionOne provides some very useful free tools on their website.  I’ve used their Agile Development Poster to help people in different roles understand what Agile means for them.

For the business leader, Agile requires a business strategy that includes a well articulated vision and objective, measurable goals.

For the product manager, Agile requires a product roadmap, prioritized features with business values that relate to the business strategy and goals, and release plans.

For the project team, Agile requires an iteration plan and iteration retrospectives to add incremental value on a regular basis and make continuous improvement.

For each team member, Agile requires daily responsibility and accountability for contributing to iteration success.  Daily activities include collaboration, development, integration, builds, tests, and refactoring.

In the end, working software is delivered to users in a way that creates expanding revenue streams to the company and enables the cycle to continue perpetually.

It’s a thing of beauty.

The Pomodoro Technique – Improving Time Management

The Pomodoro Technique was created by Francesco Cirillo and is a proven way to enhance focus and concentration.  It fits nicely with agile because it encourages people to define specific tasks within defined timeboxes, and then to be accountable for accomplishing those tasks.  It encourages self-governance and individual accountability.  It is a practical, low-tech way to manage time each day.

The technique is comprised of these five steps:

  1. Choose a task to be accomplished
  2. Set a timer to 25 minutes (specifically, a pomodoro, but you’ll need to read more about the technique to understand its namesake)
  3. Work on the task until the timer rings, then put a check mark on a tracking sheet for the task
  4. Take a short break (up to 5 minutes)
  5. After every fourth work phase (i.e., after four pomodoros) take a longer break

Francesco provides a free download of the Pomodoro Technique e-book and free downloads of all the basic tools required to begin using it.  He also blogs about the technique the philosophy of time management and individual responsibility on which it is based.

In the book, Francesco lists three basic assumptions on which the technique is founded:

The underlying process consists of these five stages: Planning, Tracking, Recording, Processing, and Visualizing.  The basic iteration of a Pomodoro, comprising the completion of all five stages, is a single day.

I see a link between the Pomodoro Technique and its use of a physical timer and a practice suggested by Bob Rice in his book Three Moves Ahead: What Chess Can Teach You About Business. He suggests a way to monitor how much time we spend in productive effort daily by keeping a chess timer at our workspace whenever engaged in a non-value-added activity, pressing the timer button for the opponent.  Then, when that activity ends and productive activity begins again, press the timer button for our side.  He suggests we may learn that we spend more time than we thought in activities each day that add no value to the business.

Fly.com – Complex Web App Created Using Agile

Max Rayner is CTO at Travelzoo.  A podcast in which he describes his success applying agile methods to develop Fly.com is available as a case study blog post on the OutSystems blog About Agility.

The presentation promotes the OutSystems platform, but what is really fascinating is the project itself and how Max used agile practices to deliver a functioning, revenue-producing system at minimal cost and in a relatively short timeframe.

Max emphasizes many agile best practices, including early and frequent customer/user feedback, frequent iterative product releases, continuous integration and builds, and refactoring.

Preserve The Law of Least Astonishment

Alistair Cockburn posted a pic of ahas noted by his recent Agile/CSM class here.  I like the idea of driving the customer’s rating for surprises to 0 (zero, on a scale from 0 – 100).  AKA, preserving the law of least astonishment.

Agile and Adaptive

Agile and adaptive organizations will focus on market demands.  Technology accelerates an organization’s ability to respond to market demands.  The best people use technology to make the most rapid changes possible to satisfy their customers.  Leaders act with speed and agility and will enable the members of their organizations to be agile and adapt to current demands.  Agile and adaptive organizations deliver the most value at the earliest moment to their stakeholders.

High Performance Organizations Are Built on Trust

Trust is a rare thing to find in an organization.  Most people want to trust their co-workers, customers, and managers, but experience teaches that trust must be earned.  Leaders must take the initiative to create an environment that fosters trust and removes fear.  Donal de Poar suggested ways to build trust on a team in his blog post Earning Trust in Agile

Get Adobe Flash playerPlugin by wpburn.com wordpress themes