Presentation is loading. Please wait.

Presentation is loading. Please wait.

Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software.

Similar presentations


Presentation on theme: "Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software."— Presentation transcript:

1 Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software n Agile development processes can deliver successful systems quickly n Agile development stresses continuous communication and collaboration among developers and customers

2 Manifesto for Agile Software Development n Better 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 n While the items on the right are still important the items on the left are more valuable under this philosophy

3 What is “Agility”? n Rapid and adaptive response to change n Effective communication among all stakeholders n Drawing the customer onto the team n Organizing a team so that it is in control of the work performed Yielding … n Rapid, incremental delivery of software

4 Agile Teams n are responsive to changes during project development n recognize that project plans must be flexible n eliminates the separation between customers and developers

5 Agility n encourages team structures that make communication among developers and customers easier n emphasizes importance of rapid delivery of operational software and de-emphasizes importance of intermediate work products n can be applied to any software process as long as the project team is allowed to streamline tasks and conduct planning in way that eliminate non-essential work products

6 An Agile Process n Is driven by customer descriptions of what is required (scenarios) n Recognizes that plans are short-lived n Develops software iteratively with a heavy emphasis on implementation n Delivers multiple ‘software increments’ n Adapts as changes occur

7 Human Factors n Traits that need to exist in members of agile development teams:  Competence  Common focus  Collaboration  Decision-making ability  Fuzzy-problem solving ability  Mutual trust and respect  Self-organization

8 Agile Process Models n Extreme Programming (XP) n Adaptive Software Development (ASD) n Dynamic Systems Development Method (DSDM) n Scrum n Crystal n Feature Driven Development (FDD) n Agile Modeling (AM)

9 Extreme Programming (XP) n The most widely used agile process, originally proposed by Kent Beck n XP Planning  Begins with the creation of “user stories”  Agile team assesses each story and assigns a cost  Stories are grouped to for a deliverable increment  A commitment is made on delivery date  After the first increment “project velocity” is used to help define subsequent delivery dates for other increments

10 Adaptive Software Development (ASD) n Self-organization arises when independent agents cooperate to create a solution to a problem that is beyond the capability of any individual agent n Adaptive cycle characteristics  Mission-driven planning  Component-based focus  Uses “time-boxing”  Explicit consideration of risks  Emphasizes collaboration for requirements gathering  Emphasizes “learning”

11 Dynamic Systems Development Method n Provides a framework for building and maintaining systems which meet tight time constraints using incremental prototyping in a controlled environment n Uses Pareto principle (80% of project can be delivered in 20% time required to deliver the entire project) n Each increment only delivers enough functionality to move to the next increment

12 Dynamic Systems Development Method n Guiding principles  Active user involvement  Teams empowered to make decisions  Fitness for business purpose is criterion for deliverable acceptance  Iterative and incremental development needed to converge on accurate business solution  All changes made during development are reversible  Requirements are baselined at a high level  Testing throughout life-cycle

13 Agile Modeling n Practice-based methodology for effective modeling and documentation of software systems in a light-weight manner n Modeling principles  Model with a purpose  Use multiple models  Travel light (only keep models with long-term value)  Content is more important than representation  Know the models and tools you use to create them  Adapt locally


Download ppt "Agile Process: Overview n Agile software engineering represents a reasonable compromise to conventional software engineering for certain classes of software."

Similar presentations


Ads by Google