What Does Agile Mean To Us? A Symphony Services Survey Report Executive Summary Symphony Services is a leading global specialist providing software product engineering outsourcing services. Independent Software Vendors (ISVs), software enabled businesses and companies whose products contain embedded software partner with Symphony Services to achieve their business goals. Symphony’s focus on Engineering Outcome CertaintyTm drives R&D results that shorten time-to-market for new products, ensure higher quality, reduced cost of quality and delivers greater innovation to compete in a global marketplace. While most service providers concentrate on “output” (performing tasks), Symphony Services delivers “outcomes” (based on results-oriented, performance metrics). Symphony is further distinguished by its risk-reward partnership model and emphasis on transparent, metrics-driven value delivery that ensures complete alignment between strategic and R&D objectives. With over 150 clients and more than 1,200 new software product releases annually, the model has proven to be highly effective for some of the world’s most recognizable companies. As a "pure-play" specialist, product development is built into our DNA. From turnkey product development to individual services (architecture, UI development, functionality development, QA and security testing, etc.), Symphony Services can address any product development need. The client base comprises of companies from industries including Banking & Financial Services, Business Services, Healthcare & Pharmaceuticals, High-tech, Information Service Providers, Insurance, Internet Service Providers, Manufacturing, Retail, Storage and Telecom. Symphony Services is headquartered in Palo Alto, CA. Symphony Services and Agile Engineering: Symphony Services has had substantial experience with distributed Agile engineering since early 2004. Over 40% of current projects are in the Agile mode, of which 50% are Distributed Agile. More than 25 client engagements are thriving in an Agile ecosystem and more than 10 client engagements are moving towards such an ecosystem. We have more than 50 certified Scrum Masters. We have an Agile Center of Excellence (CoE) that offers Agile coaching for client engagements. We also have an Agile Community of Practice – an informal collaborative platform to share, learn, debate best practices and lessons learnt from other engagements. Having had the chance to mature in Agile software development, the team at Symphony Services wanted to assess and consolidate the prevalent interpretations of ‘agile’ software development amongst the various projects. We did a survey using our internal Share Point survey, among all our projects which are in Agile mode. The purpose of the survey was to assess how Agile teams have operated so far in 2010, what practices they have used and what are the critical ones. The survey was launched on 4th May 2010 and closed on 10th May 2010.
Respondent Spread: The number of respondents was 162, out of which 32% have 5 plus years of experience in Agile. Of all the respondents 59% were team members (developers), 32% respondents were managers (Scrum Masters, Project Manager, Coach) and 19% where sponsors (Senior Management).
Survey Questions: The survey had 3 sections - the first section on experience and roles of the respondents in the project, second section on the type of Agile methods / framework the respondents used and the third section on practices/approaches/artifacts that were used in the current project and their criticality for success. Under section 3, respondents were asked to rate the criticality of practice in their current context on a scale from 1 -5 (1&2 Low, 3&4 Average and 5 High). Following are the practices/approaches/artifacts on which respondents had to provide their rating: • Time boxing (30 days or less) • Prioritized product backlog • Configuration management • Automated unit testing • Automated tests are run with each build • ‘Complete’ feature testing done during iteration • Team velocity • Design inspections • Stabilization sprints • Pair programming • Collective code ownership • Emergent design Symphony Services
Page 2 of 6
• • • • •
Test-driven development Iteration reviews/demos Continuous integration Code Inspections Task Planning
Survey Outcomes: Types of Agile Methods As expected, 73% of the respondents are working in Agile Scrum framework, 18% hybrid and combination of other methods and 9% in XP.
Practices / Approaches / Artifacts Quite surprisingly, of all these practice “Task planning” emerged as the most essential practice with 86% rating it 5, followed by “Done Criteria” with 79% and “Iteration review /demo” and “prioritized backlog” with 72% rating it as essential. It is interesting to note the least critical practices /approaches / artifacts. Following are the bottom 5: • Pair programming – only 15% think it is essential • Refactoring – 19% think it is essential • Emergent design – 20% think it is essential • Design inspection - 21% think it is essential • Complete "feature testing done during iteration” - 24% see this as essential Symphony Services
Page 3 of 6
Page 4 of 6
Table showing practices in order of essentiality:
Essential / Critical Response
Iteration reviews and demo
Prioritized back log
Automated unit testing
Automated test with each build
Test driven development
Burn down charts
Collective code ownership
Complete feature test done during iteration
Page 5 of 6
Conclusion Symphony Services has had the unique opportunity of working on both traditional and hybrid Agile eco systems. The target group for this survey was only the projects which passed basic Nokia test. Being an Outsourced Product Development services provider, most of the processes and practices used in Symphony need to be in consensus with the customer; hence, the survey revealed a variation of practices used in different projects based on their project context. Today Symphony Services offers a unique value proposition to customers based on all these lessons, best practices and value accelerators. Along with this survey report, readers have the opportunity to receive a free download of a comprehensive Agile Assessment ‘Symphony 101’ - 101 questions that you need to ask to understand Agile practices and approaches.
About the Author
Prasad has 10 plus years of experience in the IT services industry. His first exposure to Agile was from Microsoft in the year 2005. Since then he has done solutioning, coaching, consulting, teaching on Agile and its flavors for many companies like GE, Cisco, Coke etc. Currently, he is working as Manager in Agile Labs at Symphony Services (http://www.symphonysv.com/). Almost 40% of projects at Symphony Services are in some form of Agile and its flavors. They have provided business critical value to Symphony’s customers through Agile since 2004. Prasad can be reached at email@example.com. Symphony Services
Page 6 of 6
Respondent Spread: The number of respondents was 162, out of which 32% have 5 plus years of experience in Agile. Of all the respondents 59%...