Presentation is loading. Please wait.

Presentation is loading. Please wait.

CompSci 230 Software Construction

Similar presentations


Presentation on theme: "CompSci 230 Software Construction"— Presentation transcript:

1 CompSci 230 Software Construction
Lecture Slides #26: Agile Methods S1 2016

2 Agenda Topics: The Agile Development philosophy CompSci 230: AG

3 Agile Philosophy Waterfall has drawbacks 2001: Agile Alliance
inflexible, documentation-heavy, isolated stages, fragile 2001: Agile Alliance Idea: There’s got to be better ways of developing software Manifesto “We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the left more.” CompSci 230: AG

4 What are agile methods? Agile Development isn’t a single way of doing things Numerous development process models claim the “agile” label, e.g., eXtreme Programming, Rational Unified Process, Scrum, Open Source, … Focus on twelve principles CompSci 230: AG

5 Agile Principles CompSci 230: AG

6 Agile Principles CompSci 230: AG

7 Agile Principles CompSci 230: AG

8 Agile Principles CompSci 230: AG

9 Agile Issues Sounds great, but success depends on: Scope of project
Large projects may simply not see their initial working software for a while – this is a problem in particular if the software is something really novel Amount of specification creep If requirements change faster than development is able to keep up with… Communication Ability to communicate requirements effectively is key Tends to work better in small teams Direct communication rather than via intermediary: developers talks directly with customers Composition, competence, and motivation of team CompSci 230: AG

10 Agile Issues Sounds great, but success depends on: Scope of project
Large projects may simply not see their initial working software for a while – this is a problem in particular if the software is something really novel Amount of specification creep If requirements change faster than development is able to keep up with… Communication Ability to communicate requirements effectively is key Tends to work better in small teams Direct communication rather than via intermediary: developers talks directly with customers Composition, competence, and motivation of team CompSci 230: AG

11 Agile Issues The agile principles are not very prescriptive
Black-box view of the processes Don’t tell us how they should be implemented Note the variety of methods claiming to be agile Why not come up with your own method in a specific situation? CompSci 230: AG

12 Review Is there an ideal way to develop software?
Can you think of methods that would work better in some scenarios than others? Is there an ideal way to specify software? Which methods do you know? Could you come up with others? Is there an ideal way to design software? Which design tools and principles do you have at your disposal? Do you understand their advantages and drawbacks? Is there an ideal way to test software? Can you describe the various testing philosophies, the challenges that arise from them, and choose an appropriate testing technique in a practical situation? CompSci 230: AG


Download ppt "CompSci 230 Software Construction"

Similar presentations


Ads by Google