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;...
Trang 1Lecture : 2
Trang 2Standish Group Study 1995
Ø 46 % date or budget excess
Ø 28 % failure
Ø Only 9 % of all large IT projects in time and budget
Trang 3Ø 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
opposed to the waterfall method, which called for all
project requirements to be defined up front, is a major step forward
Trang 4Agile Processes – Light
Weight Methodologies
Ø Slogan : “Change is the only
Constant”
Ø Iterations rather than phases
Ø Each Iteration results in working code for testing.
Ø Software Design is never frozen !!
Trang 5Agile Development Process
Trang 6Ø Individuals and interactions over processes and tools.
Ø Working software over comprehensive
documentation.
Ø Customer collaboration over contract negotiation.
Ø Responding to change over following a plan.
Trang 7Ø 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
Trang 8Ø XP advocates frequent "releases" in short development cycles which is intended to improve productivity and
introduce checkpoints where new customer requirements can be adopted
Trang 9Ø Communication
Ø Simplicity
Ø Feedback
Ø Courage
Trang 12MSCW (Must Should Could Won't) Approach
Trang 13Ø Scheduling using priority assigned by stakeholder
Ø Time Estimation by developers
Trang 14Ø Planning game
Ø Small Releases
Ø Metaphor
Ø Simple design
Ø Testing before code
Ø Refactoring – Code Optimization
Ø Pair Programming
Ø Collective Ownership
Ø Continuous Integration
Ø 40 hour week
Ø Onsite Customer
Ø Coding Standards
Trang 16„ 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 quality”
Ø By From: Philip B. Crosby: Quality Is Free: The
Art of Making Quality Certain, Mentor Books,
1992