Published on

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. Agile Software Development Bob Schatz VP of Development
  2. 2. Introduction to Agility <ul><li>Agility is a comprehensive response to the business challenges of profiting from rapidly changing, continually fragmenting, global markets for high-quality, high-performance, customer-configured goods and services </li></ul><ul><li>Agility is the ability to both create and respond to change in order to profit in a turbulent business environment </li></ul><ul><li>Agile projects are not controlled by conformance to plan but by conformance to business value </li></ul><ul><li>Agility is a way of life, a constantly emerging and changing response to business turbulence </li></ul>
  3. 3. Software Development Landscape <ul><li>From the well-known Standish CHAOS Report 1994 </li></ul><ul><ul><li>Software projects fail: </li></ul></ul><ul><ul><ul><li>Cancelled - 31%; Late or lacking of features – 53% </li></ul></ul></ul><ul><ul><li>Industry has only delivered on-time and on-budget 16% of the time! </li></ul></ul><ul><ul><li>In 1995, this cost American companies well over $150 billion </li></ul></ul><ul><ul><li>94 of 100 projects will have restarts </li></ul></ul><ul><ul><li>Average cost overrun is 189% </li></ul></ul><ul><ul><li>3 top reasons for failure </li></ul></ul><ul><ul><ul><li>Lack of user (sponsor) involvement </li></ul></ul></ul><ul><ul><ul><li>No executive management support </li></ul></ul></ul><ul><ul><ul><li>Unclear, incomplete, & changing requirements </li></ul></ul></ul><ul><li>Typical software project experiences a 25% change in requirements </li></ul><ul><li>45% of features defined in early specs are never used </li></ul>
  4. 4. Bridge to Success <ul><li>The Standish Group concluded that keys to success are: </li></ul><ul><ul><li>Shorter time frames </li></ul></ul><ul><ul><li>Delivery of software components early and often </li></ul></ul><ul><ul><li>Iterative process </li></ul></ul><ul><ul><li>“ Growing&quot; software vs. &quot;developing&quot; software </li></ul></ul><ul><ul><li>Engage the user earlier </li></ul></ul><ul><ul><li>Clear statement and set of objectives for components </li></ul></ul><ul><ul><li>Keep it simple! - Complexity = confusion and cost </li></ul></ul>
  5. 5. What About Standardization? <ul><li>Department of Defense Specifications </li></ul><ul><li>International Standards Organization (ISO) </li></ul><ul><li>Software Engineering Institute (SEI) Capability Maturity Model (CMM) – 5 Levels </li></ul><ul><li>Project Management Institute (PMI) Body of Knowledge (PMBOK) </li></ul><ul><li>Many derivatives as each company has created their own versions </li></ul><ul><li>Standards have tried to capture the best practices of software development </li></ul><ul><li>Organizations have tried to use these as prescriptive methods for success….and often failed </li></ul>
  6. 6. Three Flawed Assumptions <ul><li>It is actually possible to plan a large project well enough that success is primarily determined by degree of conformance to plan </li></ul><ul><li>It is possible to protect against late changes to a large system project </li></ul><ul><li>It make sense to lock in big project decisions early </li></ul>
  7. 7. Typical Project Lifecycle <ul><li>Slow start as everyone attempts to make sense of what problem is being solved </li></ul><ul><li>Struggle to interpret user’s requirements and translate into specification language </li></ul><ul><li>Development team begins to build system, but soon realizes that solution cannot be delivered in allocated time </li></ul><ul><li>Changes come in at rapid pace; Defects grow at a increasing rate </li></ul><ul><li>Final months become a battle against the bugs…overtime and weekends are the automatic response…life is miserable…but the end is near </li></ul><ul><li>Pep talks from management about how great the team is when faced with adversity. Asks you to step up once more and show how you meet challenges </li></ul><ul><li>System is delivered; Quality is questionable; User’s are not satisfied; years of maintenance and patches needed…we celebrate! </li></ul><ul><li>Project Post-Mortem </li></ul><ul><li>On to the next project, where the same steps will be repeated </li></ul>
  8. 8. 20th Century Software Development <ul><li>1960’s – Ad Hoc Code-and-Fix Programming </li></ul><ul><li>1970’s – Waterfall or sequential lifecycle model </li></ul><ul><ul><li>Taught as the the ideal approach; a way to explain the creative process </li></ul></ul><ul><ul><li>Adopted by the US Department of Defense </li></ul></ul><ul><ul><li>Assumed low-change, low-novelty, and low-complexity work </li></ul></ul><ul><li>1980’s – Plenty of bad music and haircuts </li></ul><ul><ul><li>Defense Spending during Regan Administration </li></ul></ul><ul><ul><li>Commercial Software, Hardware, and Network companies forming </li></ul></ul><ul><li>1990’s – US Department of Defense changes </li></ul><ul><ul><li>Based on failure rate, changed to iterative development preference </li></ul></ul><ul><ul><li>Standish Report comes out in 1994 </li></ul></ul><ul><ul><li>Dot-com companies producing high-speed, high-quality products to meet market needs and survive…how? </li></ul></ul>
  9. 9. Software Development and dot-com <ul><li>In the dot-com era…. </li></ul><ul><ul><li>Investors and developers paid little attention to ROI thinking </li></ul></ul><ul><ul><li>High demand for technical people </li></ul></ul><ul><ul><li>Young, energetic workforce </li></ul></ul><ul><ul><li>Get rich now…sacrifice everything </li></ul></ul><ul><ul><li>Eat plenty of Pizza! </li></ul></ul><ul><ul><li>Big Spending </li></ul></ul><ul><ul><li>Pressure to get something to market quickly </li></ul></ul><ul><li>After the bubble burst… </li></ul><ul><ul><li>End of the Y2K Fear </li></ul></ul><ul><ul><li>September 11 Impact </li></ul></ul><ul><ul><li>Downsizing, Rightsizing, & Global Competition </li></ul></ul><ul><ul><li>Back to business basics </li></ul></ul><ul><li>What did we learn? </li></ul>
  10. 10. <ul><li>Iterative Development </li></ul><ul><ul><ul><li>An approach in which the overall lifecycle is composed of several iterations, each a mini-project </li></ul></ul></ul><ul><li>Incremental Development </li></ul><ul><ul><ul><li>Concept of growing a system through a series of Iterations </li></ul></ul></ul><ul><li>Agile Development </li></ul><ul><ul><ul><li>Time-boxed Iterative, Incremental development that include values and practices that encourage rapid and flexible response to change… flexibility/maneuverability to compete </li></ul></ul></ul><ul><ul><ul><li>In IT: Scrum, XP, RUP, DSDM, FDD, Crystal </li></ul></ul></ul><ul><ul><ul><li>In Construction: Last Planner </li></ul></ul></ul><ul><li>Results </li></ul><ul><ul><ul><li>88% of organizations cited improved productivity </li></ul></ul></ul><ul><ul><ul><li>84% cited improved quality </li></ul></ul></ul><ul><ul><ul><li>83% cited increase in overall business satisfaction </li></ul></ul></ul>An emerging wave…
  11. 11. Values of Agile Development While there is value in the items on the right, we value the items on the left more. following a plan over responding to change contract negotiation over customer collaboration comprehensive documentation over working software processes and tools over individuals and interactions
  12. 12. Business of Software Development <ul><li>Early software companies are technology-driven </li></ul><ul><ul><li>Business people have to respond to what developers give them </li></ul></ul><ul><ul><li>Focus on innovation and novelty </li></ul></ul><ul><ul><li>Development as a black box activity </li></ul></ul><ul><li>Focus then shifts to market-driven </li></ul><ul><ul><li>Solutions to improve speed at which businesses can move </li></ul></ul><ul><ul><li>Business people define product needs to Development </li></ul></ul><ul><ul><li>IT departments became a cost to company bottom line </li></ul></ul><ul><ul><li>Project Portfolio Management </li></ul></ul><ul><ul><li>Feature Portfolio Management </li></ul></ul><ul><ul><li>Incremental Funding Models </li></ul></ul><ul><ul><li>Collaborative delivery of value </li></ul></ul><ul><ul><li>Offshore development to save on costs </li></ul></ul><ul><ul><li>Accountability and Visibility </li></ul></ul>
  13. 13. Development at Primavera <ul><li>Ironically…we build project management software! </li></ul><ul><li>A leader in using agile development techniques </li></ul><ul><ul><li>Work closely with thought leaders in the software development community </li></ul></ul><ul><ul><li>Specialize in Scrum and XP </li></ul></ul><ul><ul><li>Mentor customers who are starting on their own agile projects </li></ul></ul><ul><ul><li>Successfully integrated project management and agile processes </li></ul></ul><ul><li>Results: </li></ul><ul><ul><li>Ability to respond quickly to changing customer needs </li></ul></ul><ul><ul><li>Discipline to manage successful software projects </li></ul></ul><ul><ul><li>Consistently deliver products on time with the quality that our customers expect </li></ul></ul><ul><ul><li>An open work environment to maximize the communication among team members </li></ul></ul><ul><ul><li>A creative development team that enjoys their work, with good work/life balance </li></ul></ul><ul><ul><li>Project stakeholders and customers have visibility into progress and the opportunity to give early feedback </li></ul></ul>
  14. 14. Isn’t it Ironic? <ul><li>Primavera – THE Project Management people </li></ul><ul><ul><li>“ Why do you need agile?” </li></ul></ul><ul><ul><li>“ We figured you guys must be the successful 9% in enterprise software project success” </li></ul></ul><ul><ul><li>“ Oh, so Project Management really doesn’t work?” </li></ul></ul><ul><ul><li>“ Isn’t it hypocritical for you to use agile?” </li></ul></ul><ul><ul><li>“ You’re not going to tell anyone about this, are you?” </li></ul></ul><ul><ul><li>“ Are you trying to get fired??” </li></ul></ul><ul><li>You need to begin with a clear vision…and prepare for a lot of pain! </li></ul>
  15. 15. Our Vision <ul><li>Create a world-class development organization </li></ul><ul><li>Establish a reputation outside company </li></ul><ul><ul><li>Not only for our software, but the way we build it </li></ul></ul><ul><li>Develop quality software that meets the needs of customers </li></ul><ul><li>Provide great service to our customers </li></ul><ul><li>Create an environment of excitement; fun; success; learning </li></ul><ul><li>Create opportunities for growth </li></ul>
  16. 16. Scrum Process <ul><li>Key Practices </li></ul><ul><li>Self-directed; self-organizing teams </li></ul><ul><li>15 minute daily stand up meeting with 3 special questions </li></ul><ul><li>30-calendar day iterations </li></ul><ul><li>Each iteration begins with adaptive planning </li></ul><ul><li>Stakeholder demo at end of each iteration </li></ul><ul><li>Team measures progress daily </li></ul><ul><li>Each iteration delivers tested, fully-functional software </li></ul><ul><li>Never more than 30-days from potential production release </li></ul>
  17. 17. Benefits and Challenges of Scrum <ul><li>Benefits </li></ul><ul><ul><li>Increased productivity through teamwork and focus </li></ul></ul><ul><ul><li>Increased satisfaction through transparency and involvement </li></ul></ul><ul><ul><li>Increased ROI through early delivery of high value functionality </li></ul></ul><ul><ul><li>High quality throughout the development cycle using Test-First </li></ul></ul><ul><ul><li>High energy, exciting process </li></ul></ul><ul><ul><li>People know the importance of their work </li></ul></ul><ul><ul><li>Opportunity to improve every 30 days </li></ul></ul><ul><li>Challenges </li></ul><ul><ul><li>Leading the change </li></ul></ul><ul><ul><li>Good news, you know where you are. Bad news, you know where you are… </li></ul></ul><ul><ul><li>Identifies all areas of improvement for engineering practices </li></ul></ul><ul><ul><li>Change in culture </li></ul></ul><ul><ul><li>Hard work </li></ul></ul>
  18. 18. De-Cubiclization 2004
  19. 19. How can you be prepared? <ul><li>Software development education and practice have become increasingly disconnected, both in language and values, from those who define and articulate the need for the software </li></ul>Developers Methodologies Classes Use Cases Business Owners Marketable Features Cash Flow Return on Investment
  20. 20. Software Education <ul><li>Need to focus on Collaboration and Coordination </li></ul><ul><li>Students </li></ul><ul><ul><li>Software development is a creative and interactive “people process” </li></ul></ul><ul><ul><li>Flexibility in programming, testing, and documentation skills </li></ul></ul><ul><ul><li>Working with others on a cross-functional team </li></ul></ul><ul><ul><li>Active listening and conflict resolution </li></ul></ul><ul><ul><li>Business basics </li></ul></ul><ul><ul><li>Communication </li></ul></ul><ul><li>Faculty </li></ul><ul><ul><li>Projects that bring Computer Science and Business together </li></ul></ul><ul><ul><li>Include project estimation and costing; decision-making exercises </li></ul></ul><ul><ul><li>Enforce understanding of WHY project is important </li></ul></ul><ul><ul><li>Focus on delivering iterative value </li></ul></ul><ul><ul><li>Role-based, group assignments vs. Individual </li></ul></ul><ul><ul><li>Teach agile techniques </li></ul></ul>
  21. 21. Questions? Recommended Reading Agile Project Management with Scrum Schwaber Agile Software Development with Scrum Schwaber Agile Software Development Martin Agile Project Management Chin Agile Project Management Highsmith Agile SW Development Ecosystems Highsmith Agile and Iterative Development Larman Software by Numbers Denne/Huang