Cisco Cisco Unified Contact Center Enterprise 8.0(2) White Paper
White Paper
© 2011 Cisco Systems, Inc. All rights reserved. This document is Cisco Public Information.
1
Agile Product Development at Cisco:
Collaborative, Customer-Centered Software Development
Ten years after publication of the Agile Manifesto, the Agile Product Development Methodology is entering the
mainstream of IT development. A recent Forrester Research survey reports that 45 percent of software profes-
sionals now use Agile methods, and many others use portions of the method.
Agile improves software quality by empowering highly skilled technical professionals to
organize into self-managing, accountable, cross-functional teams to create products that
deliver tangible business value. Cisco
organize into self-managing, accountable, cross-functional teams to create products that
deliver tangible business value. Cisco
®
engineers have put the full principles of Agile
development into practice, and worked closely with customers to create more valuable
software through accelerated innovation and products that meet genuine market needs.
software through accelerated innovation and products that meet genuine market needs.
Despite Agile’s promise, its benefits do not come automatically. Instead, the shift from
traditional “waterfall” software project management to an Agile methodology is a journey
that requires a change in thinking and behavior. In this paper we describe our customers’
experiences while working with the group leading Cisco’s unified communications and
collaboration business during its shift to Agile.
traditional “waterfall” software project management to an Agile methodology is a journey
that requires a change in thinking and behavior. In this paper we describe our customers’
experiences while working with the group leading Cisco’s unified communications and
collaboration business during its shift to Agile.
Cisco’s Collaboration and Communications Group (CCG) identifies market transitions
in the way enterprises collaborate, and delivers collaboration software, devices,
infrastructure, and services.
in the way enterprises collaborate, and delivers collaboration software, devices,
infrastructure, and services.
The group plays an important role in Cisco’s software leadership. CCG’s portfolio
includes unified communications (for example, desk phones, softphones, voicemail,
instant messaging, and Cisco WebEx
includes unified communications (for example, desk phones, softphones, voicemail,
instant messaging, and Cisco WebEx
®
online conferencing with integrated video), desktop
virtualization solutions, contact center solutions, the enterprise social software platform
Cisco Quad™, and the Android-based enterprise tablet Cisco Cius™.
Cisco Quad™, and the Android-based enterprise tablet Cisco Cius™.
The Road to Agile
Like many enterprise IT vendors, Cisco has long used the waterfall development method,
and the CCG team was no exception. However, as part of an ongoing commitment to
accelerate innovation, the CCG engineering team began trying the Agile method in 2008.
and the CCG team was no exception. However, as part of an ongoing commitment to
accelerate innovation, the CCG engineering team began trying the Agile method in 2008.
According to CCG senior vice president and general manager, Barry O’Sullivan, “Waterfall
worked reasonably well, but had some drawbacks. With a big, long development cycle
and a big, long testing cycle it wasn’t very efficient. If we found something late in the test
cycle it was hard to go back to the start and make changes.” The shift to Agile was, in
many respects, a logical fit with Cisco’s culture of collaboration, both between customers
and employees. “Part of Cisco’s culture is to be highly customer focused, and so the
group desired a method with more formal and structured ways to get customer input into
the development process,” O’Sullivan explains.
worked reasonably well, but had some drawbacks. With a big, long development cycle
and a big, long testing cycle it wasn’t very efficient. If we found something late in the test
cycle it was hard to go back to the start and make changes.” The shift to Agile was, in
many respects, a logical fit with Cisco’s culture of collaboration, both between customers
and employees. “Part of Cisco’s culture is to be highly customer focused, and so the
group desired a method with more formal and structured ways to get customer input into
the development process,” O’Sullivan explains.
After successful trials, and with a transition plan already created, CCG announced
Agile as the group’s primary methodology in November 2009. As part of the shift, CCG
executives brought in new senior leaders with deep Agile expertise to guide, coach, and
promote the process. The executive team also invested in training to support an Agile
culture and an understanding of the process, and new technology tools for capturing
customer feedback.
Agile as the group’s primary methodology in November 2009. As part of the shift, CCG
executives brought in new senior leaders with deep Agile expertise to guide, coach, and
promote the process. The executive team also invested in training to support an Agile
culture and an understanding of the process, and new technology tools for capturing
customer feedback.
What Is Agile?
of
based on
, where requirements and
solutions evolve through collaboration
between
between
.
The Agile Manifesto introduced the term in
2001 and reads, in its entirety, as follows:
We are uncovering better ways of
developing software by doing it and
helping others do it. Through this work we
have come to value:
• Individuals and interactions over
2001 and reads, in its entirety, as follows:
We are uncovering better ways of
developing software by doing it and
helping others do it. Through this work we
have come to value:
• Individuals and interactions over
processes and tools
• Working software over comprehensive
documentation
• Customer collaboration over contract
negotiation
• Responding to change over following a
plan
That is, while there is value in the items on
the right, we value the items on the left more.
the right, we value the items on the left more.
What Is Waterfall?
Waterfall is a sequential design process in
which progress flows in stages from the top
to the bottom, with a great deal of time being
spent in developing initial requirements,
analysis, and design; and flowing steadily
downward to testing and implementation.
The model was developed for the
manufacturing and construction industries,
physical environments where after-the-
fact changes are prohibitively costly if not
impossible, and later adopted for software
as formal models for development did not
exist at the industry’s inception.
Source: Wikipedia
Waterfall is a sequential design process in
which progress flows in stages from the top
to the bottom, with a great deal of time being
spent in developing initial requirements,
analysis, and design; and flowing steadily
downward to testing and implementation.
The model was developed for the
manufacturing and construction industries,
physical environments where after-the-
fact changes are prohibitively costly if not
impossible, and later adopted for software
as formal models for development did not
exist at the industry’s inception.
Source: Wikipedia