Software design - Lecture 2. The main topics covered in this chapter include: agile processes – light weight methodologies; agile development process; core values of agile methods; extreme programming (XP); user stories impact; refactoring – code optimization; pair programming; collective ownership;...
1 Software Design Lecture : 2 Software CHAOS Report Standish Group Study 1995 Ø 46 % date or budget excess Ø 28 % failure Ø Only 9 % of all large IT projects in time and budget Standish Report in 2006 Ø Studied 40,000 projects in 10 years Ø That's more than a 100percent improvement from the success rate in 1995 Ø The primary reason is the projects have gotten a lot smaller. Doing projects with iterative processing as Agile Processes – Light Weight Methodologies Ø Slogan : “Change is the only Constant” Ø Iterations rather than phases Ø Each Iteration results in working code for testing 5 Agile Development Process Core Values of Agile Methods Ø Individuals and interactions over processes and tools Ø Working software over comprehensive documentation Ø Customer collaboration over contract negotiation 7 Extreme Programming (XP) Ø Introduced by Kent Beck in 1996 Ø Is the answer to the heavyweight software processes such as Water Fall or VModel Ø It is intended to improve software quality and responsiveness to changing customer requirements 8 XP continues Ø XP advocates frequent "releases" in short development cycles which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted 9 XP Corner Stone Ø Communication Ø Simplicity Ø Feedback Ø Courage 10 11 Sample User Story Card 12 MSCW (Must Should Could Won't) Approach 13 User Stories impact Ø Scheduling using priority assigned by stakeholder Ø Time Estimation by developers 14 XP Practices Ø Planning game Ø Small Releases Ø Metaphor Ø Simple design Ø Testing before code Ø Refactoring – Code Optimization Ø Pair Programming Ø Collective Ownership Ø Continuous Integration Ø 15 XP a myth ! 16 Quote about XP „It is necessary to breaks out of the zero sum model of the four variables –time, scope, cost, and quality. You can’t get software out of the door faster by lowering quality. Instead, you get software out of the door faster by raising .. .2 Software? ?CHAOS Report Standish Group Study 1995 Ø 46 % date or budget excess Ø 28 % failure Ø Only 9 % of all large IT projects in time and budget Standish Report in? ?20 06 Ø Studied 40,000 projects in 10 years... Introduced by Kent Beck in 1996 Ø Is the answer to the heavyweight? ?software? ?processes such as Water Fall or VModel Ø It is intended to improve? ?software? ?quality and responsiveness to changing customer requirements... –time, scope, cost, and quality. You can’t get software? ? out of the door faster by lowering quality. Instead, you get software? ?out of the door faster by raising