Software Engineering Chapter3 Agile
Software Engineering Chapter3 Agile
Software Engineering Chapter3 Agile
Software Engineering
• Scrum Methodology
2
Agile Modeling
• Agile methods are a collection of innovative, user-
centered approaches to systems development.
3
Values and Principles of Agile Modeling
• Communication
• Simplicity
• Feedback
• Courage
4
Values Are Crucial to the Agile Approach
(Figure 3.6)
5
Agile Software Development
• Agile software development has become popular to
describe new approaches that focus on close
collaboration between programming teams and
business experts
6
Manifesto for Agile Software Development
• In February 2001, a group of 17 people that called
itself the Agile Alliance developed and agreed on
the Manifesto for Agile Software Development, as
follows:
• “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”*
11
The Basic Principles of Agile Modeling
• Satisfy the customer through delivery of working software.
12
The Basic Principles of Agile Modeling
(continued)
13
The Basic Principles of Agile Modeling
(continued)
14
Four Basic Activities of Agile Modeling
• Coding
• Testing
• Listening
• Designing
15
Coding
• Coding is the one activity that it is not possible to
do without
6-16
Testing
• Automated testing is critical
• Time
• Cost
• Quality
• Scope
20
Four Core Agile Practices
• Short releases
• Onsite customer
• Pair programming
21
Agile Core Practices (Figure 3.7)
6-22
The Agile Development Process
23
Writing User Stories
24
User Stories Can Be Recorded on Cards: The User Story
Should Be Brief Enough for an Analyst to Determine What
Systems Features Are Needed (Figure 3.8)
25
Scrum Methodology
• Scrum is an agile way to manage a project, usually
software development. Agile software development
with Scrum is often perceived as a methodology;
but rather than viewing Scrum as methodology,
think of it as a framework for managing a process.
26
Scrum Methodology
• Begin the project with a high-level plan that can be
changed on the fly.
• Product backlog
• Sprint backlog
• Sprint
• Daily scrum
• Demo
28
Agile - Scrum framework
29
30
Lessons Learned from Agile Modeling
• Short releases allow the system to evolve.
31
Lessons Learned from Agile Modeling
(Continued)
32
There Are Six Vital Lessons that Can Be Drawn from
the Agile Approach to Systems (Figure 3.8)
33
Adopting New Information Systems Involves
Balancing Several Risks (Figure 3.9)
35
Summary
• Agile modeling
• Agile activities
• Agile resources
36
Summary (Continued)
• User stories
• Agile lessons
• Scrum methodology
37