Agile
The pressure for development organizations in software companies to provide greater
value continues to increase. Better, faster and cheaper is the mantra. But this
is a challenge with the increasing software complexity and reduced time to market
demand. Further, incomplete or vague product specifications do not help. Consider
this data:
- 31% projects get cancelled before they get completed
- 53% projects cost 189% of their original estimates
- We often build stuff that is thrown away
For all these problems, AGILE is the answer.
Symphony's Global Agile™ methods improve the overall productivity of the development
organization and communication between onshore and offshore teams. Symphony has
more than 300 resources using Global Agile™ development methodologies, such as SCRUM
and DSDM. While many think Agile is best practiced when team members are all in
the same room, Symphony has adapted the process to a multi-shore environment, to
make what some thought to be close to impossible, extremely dynamic and productive.
The fundamental assumption of Agile is that nothing is built perfectly the first
time, but that a usable and useful 80% of the proposed system can be produced in
20% of the time. Adaptability rather than predictability, people rather than development
process, and collaborative values and principles are at the core of the AGILE philosophy.
Agile programming has the following benefits:
- Higher Productivity: Agile teams are self-organizing,
by definition, with no true "leader." In this format all team members contribute
and gain wider product knowledge in a shorter period, enhancing flexibility in resource
deployment as well as a better understanding of the business issues that create
more opportunities for innovative solutions. A strong sense of teamwork, trust and
ownership ensures stronger dedication and output. In addition, after each Sprint,
reviews determine what improvements can be made for the next round further enhancing
productivity.
- Responsiveness to Change: Agile assumes that all requirements
cannot be known at the start. Shorter build periods, daily check-ins and re-prioritization
allows for the greater flexibility required in an ever-changing world.
- Better Communication, Visibility and Control: Agile
demands ongoing communication between onshore and offshore teams and between development
and product marketing. Rapid development cycles and daily check-ins for feature
and schedule refinement ensure transparency on progress.
- Higher Quality: Agile places a premium on quality –
working software is the way to measure progress in Agile. Continuous integration
and regression testing result in catching bugs very early in the development cycle,
resulting in quality improvement and reduced cost of quality.