By Ryan Martens, Founder & CTO, Rally Software
Through innovations in method characterized by Agile software
development and innovations in technical infrastructure characterized by
service-oriented architecture (SOA), web services and cloud computing, the
guiding ideas of the software value chain are rapidly evolving. The product
mentality of ‘if you build it, they will come’ is quickly being replaced by a
service mentality dominated by ‘If every interaction is not great, I will lose
them.’ In short, the model of software delivery is changing from that of
products to services.
The focus on software agility is proving to be a major enabler to capitalize on
this change. As a result, the traditional methods, tools and techniques used to
manage the long, linear and often-late development and delivery cycles are
becoming obsolete. Software agility is creating leaner and faster groups that
learn quickly and can continuously deliver the higher quality requirements of
the software services model.
Agility is becoming the rallying cry of success for software teams, and as a
result, it is an imperative to adopt, mature and scale quickly. To do that,
software executives need to understand software agility, its benefits, how to
successful transition and how user communities work to reinforce this emerging
software service value chain. The table below illustrates some of the changes
from software as a product to software services.
Figure 1: From Software as Product to Software as Service
|
Software as a Product |
Software as a Service |
Development |
Large cycle, big bang project |
Short-cycle, continuous flow of value |
Ownership |
Customer |
Provider |
Delivery & Reliability |
Someone else’s problem |
Part of the development team’s world |
Cost of Release |
High (hand-offs, big training) |
Low (incremental bites) |
Feedback Cycle |
Long |
Short |
ROI |
Delayed to final delivery and adoption |
Accelerated based on incremental adoption |
Primary Measure of Success |
Release is done on time |
Adoption success, reliability, usage and
end-user ROI |
The Agile Imperative for Software Teams
The service model changes the measure of success from on-time software
development through a linear process of hand-offs to requiring the development
team to take responsibility for delivering the business case return on
investment ((ROI) for its customers.
Given this new level of responsibility, a development team needs to get much
closer to the customer and quickly drive delivery risk out of their efforts. To
that end, Agile software development has proven a true innovation.
The change, pictured below, is like moving from a long and linear assembly line
to a continuous flow of value.
Figure 2: From Linear to Continuous Software Delivery
Agile works well for software development because it acknowledges that it is a
creative team process best managed through empirical feedback. In contrast,
waterfall approaches in our industry have not historically been very effective.
Consider these facts:
-
31% of software projects fail and only 28% are called successful (Source:
Standish Group – Chaos Reports 1994-2005)
- 6% of work on a software project is value added (Source: Implementing Lean
Software Development – Tom & Mary Poppendieck)
- 64% of all software features are rarely if ever used; only 20% are always used
(Source: XP2002 – Jim Johnson – Standish Report)
Given the vast opportunity for improvement, QSM Associates (QSMA) has
benchmarked a number of Agile teams against its database of 7,500 primarily
waterfall projects. QSMA found that Rally customers using Agile development are:
- 50% faster to market than the industry average
- 25% more productive than the industry average
- Steady defects despite increased speed
The organizations evaluated in this study apply four Agile principles very well:
- Working in shorter cycles to reduce waste and increase throughput
- Decreasing inventories of specs, defects, and work in process to reduce waste
- Pulling testing forward to increase quality and decrease rework
- Working closely with customers to steer and govern with rapid feedback
An Overview of Agile Practices
This shift from product to service drives fundamental changes in software
development and delivery. In the development process, traditional waterfall
approaches simply can’t deliver at the speed and responsiveness required in
these new service models. The hand-off delays, deferred customer feedback, large
inventories and late testing in waterfall efforts most often result in
mismanaged customer expectations, poor quality and complex solutions that miss
the customer’s need.
On the opposite end of the spectrum, with Agile software development, cycle
times are reduced to weeks and rapid feedback adjustments are required as teams
pull testing to the front of the process. In contrast to the schedule and scope
commands of waterfall that lead to tight controls focused on making the plans,
Agile turns that notion upside-down and uses collaborative teams and clear
visibility into progress to focus on the rapid delivery of value. It does this
by fixing resources and time boxes, but leaving scope flexible. (Note: flexible
scope does not mean less discipline and lack of commitments, it means a high
emphasis is placed on delivery value and not just features.) As a result, the
project is managed by measuring the value delivered in fixed time-boxes.
Figure 3: Agile Turns Waterfall Upside-Down
However, transitioning a team to Agile development is certainly not an overnight
task. The software service model reinforces the move to Agile in many ways, but
years of experience in a command and control environment dominated by waterfall
methods can make the transition process to Agile mastery a challenge.
Transitioning to Agile
With significant reductions in waste as compared to the typical waterfall
development process, QSMA has shown Agile has provided 50% increases in resource
efficiencies and close the feedback loop quickly in a way that can manage the
extreme expectations associated with software services. These benefits are the
double-edged sword of Agile adoption: It allows you to take an incremental
adoption bottom-up approach, but the advantages encourage some organizations to
push the transition too quickly.
Most seasoned Agile experts, including those at Rally, encourage teams to follow
a step-wise approach to adopting and scaling Agile throughout the enterprise, as
depicted below. This approach encourages teams to mature to an intermediate
level before replicating that success at a larger scale.
Two common failure paths emerge from enterprise adoption:
- Scaling Before Maturing
Executive-led, top-down adoptions sometimes try to jump horizontally from
Amateur (Step 1) to Intermediate Multi-Team Program (Step 3). These types of
adoptions deliver incremental results and end up institutionalizing only parts
of the Agile practices and principles.
- Teams Stuck in an ‘Agile Ghetto’
In an Agile ghetto, teams start at a grass-roots level and mature effectively
until they hit a wall at an Intermediate Multi-Team Program (Step 3). Without
executive and project management office (PMO) support, the impacts of these
teams will be limited in both scale and success.
Figure 4: A Step-Wise Approach to Adopting and Scaling Agile
Effectively scaling and maturing Agile development is paramount to building a
successful software service firm. Only through dedication to increasing
expertise in software agility can a team deliver software services that result
in continuous value, quality and user loyalty.
Community – The Third Leg of the Service Value Chain
As software service firms strive to dominate in the marketplace, their ‘service’
mentality must show through in the form of both customer service and ultimately
the customer’s success. Without customer success, the typical ‘land and expand’
sales models made possible with subscription licensing fail to deliver happy
customers that renew.
Customer success first comes from delivering a successful solution that provides
ROI. The second move to success requires sustaining that success as you grow and
mature the offering. This is done by listening closely to customers and making
subsequent product releases so easy that they can do it without additional
professional services. With releases every one to six months, software service
firms must be effective at introducing new capabilities in an incremental
fashion that does not confuse existing users and also increases their perception
of the software and company.
As a result, the notion of an online community that can help customers’
self-support expansion of your product becomes the third leg of the software
service value chain as depicted below. Your customer community is the primary
interface for introducing new users to advancing capabilities and best
practices; it can include customer forums, new feature voting, product prototype
reviews and roadmaps all designed to encourage feedback in your world. These
communities also provide the forum for what Malcolm Gladwell calls Mavens,
Connectors and Salesmen to help promote your story virally. Fortunately, the
social networking tools and techniques of ‘Web 2.0’ are the perfect mechanism
for user collaboration.
Figure 5: The Third Leg of the Service Value Chain
With the rapid cycles of Agile development, communities are your engine of
growth and leverage because they help you close and reinforce the feedback loop.
Supporting the incremental adoption and feedback process through an effective
community is critical to software service firms.
At the opposite end of the spectrum, without solid delivery of high quality
software, the virtuous value chain can run in a vicious and destructive cycle
instead - fueling a loss of promoters and customers. For this reason, increasing
software agility quickly to drive the highest quality software and adoption
materials to customers is the key driver to winning in the software service
business.
There are three potential next steps for software leaders, depending on the
current stage of your adoption path:
-
If you are new to Agile development, the Agile Impact Report explains the
business case for Agile through five company benchmarks.
- If you are working on Agile adoption plans, the Program Pull whitepaper details
proven steps to adoption.
- If you are evaluating new tools to support their transition to enterprise Agile,
the Agile Vendor Evaluation Guide shows how to compare various solutions.
With this overview and the additional resources, you have the tools to help
drive your software service success using the virtuous cycle of the software
service value chain. It is called a value chain because we have all been trained
to think in terms of linear value chains. However, I hope you will never think
of starting another ‘software project’ in your service firm again – welcome to
the more powerful world of software-lead value cycles.
All of these papers can be found in the ‘Downloads’ section of the Rally web
site at www.rallydev.com.
Ryan Martens is the Product Manager, current SaaS vendor, CTO at
Rally Software and close partner of Salesforce.com. He has witnessed first-hand
the changes required for a software development organization to be successful at
Software-as-a-Service. Ryan has played in the software industry for 20 years as
project manager and practice director for systems integrators, as Project
Manager and Director in large telecom IT and as Product Manager and marketer at
independent software vendors. He started Rally with a dream of changing the
software industry from a product-based industry to a web-service-based industry.
Ryan is also a board member of the Entrepreneurs Foundation of Colorado,
Colorado Conservation Trust and a mentor for Colorado TechStars. For article
feedback, please contact Ryan at
rmartens@rallydev.com
|