Vous êtes sur la page 1sur 28

Faculty of Computer Science

University of Indonesia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CSF3600202
Rekayasa Perangkat Lunak
Term 1 - 2014/2015
Lecturers:
Ika Alfina, S.Kom., M.Kom.
Satrio Baskoro Yudhoatmojo S.Kom., M.T.I.
Maya Retno Ayu S., S.Kom., M.Kom.
Ave Adriana Pinem, S.Kom., M.Kom.
Faculty of Computer Science
University of Indonesia
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topic 03:
Agile Process Model
References
[Pressman, 2010] Pressman, Roger S.
Software Engineering: A Practitioners
Approach. New York:McGraw-Hill Higher
Education, 2010. Print
3
Outline
What is Agility?
Extreme Programming (XP)
SCRUM
4
http://www.geekherocomic.com/2009/02/21/agile-development-explained/
5
http://search.dilbert.com
6
The Manifesto for
Agile Software Development
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.
Kent Beck et al
7
What is Agility ?
Effective (rapid and adaptive) response to
change
Effective communication among all
stakeholders
Drawing the customer onto the team
Organizing a team so that it is in control of
the work performed
Yielding ...
Rapid, incremental delivery of software
8
Agility and the Cost of Change
9
An Agile Process
Is driven by customer descriptions of what is
required (scenarios)
Recognizes that plan are short-lived
Develops software iteratively with a heavy
emphasis on construction activities
Delivers multiple software increments
Adapts as change occur
10
Agility Principles
1. Our highest priority is to satisfy the customer
through early and continuous delivery of valuable
software.
2. Welcome changing requirements, even late in
development. Agile processes harness change for
the customers competitive advantage.
3. Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
4. Business people and developers must work
together daily throughout the project.
11
Agility Principles
5. Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get
the job done.
6. The most efficient and effective method of conveying
information to and within a development team is face-to-
face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The
sponsors, developers, and users should be able to
maintain a constant pace indefinitely.
12
Agility Principles
9. Continuous attention to technical excellence and
good design enhances agility.
10. Simplicity - the art of maximizing the amount of work
not done - is essential.
11. The best architectures, requirements, and designs
emerge from self-organizing teams.
12. At regular intervals, the team reflects on how to
become more effective, then tunes and adjusts its
behavior accordingly.
13
Human Factors
The process molds to the needs of the people and team,
not the other way around
Key trait must exist among the people on an agile team
and the team itself:
Competence
Common focus
Collaboration
Decision-making ability
Fuzzy problem-solving ability
Mutual trust and respect
Self organization
14
Agile Development Process
Models
15
Extreme Programming (XP)
http://search.dilbert.com
16
Extreme Programming (XP)
http://search.dilbert.com
17
Extreme Programming (XP)
The most widely used agile process, originally
proposed by Kent Beck
XP Planning
Begins with the creation of user stories
Agile team assesses each story and assigns a cost
Stories are grouped 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
18
Extreme Programming (XP)
XP Design
Follows the KIS principle
Encourage the use of Class Responsibility
Collaboration (CRC) cards
For difficult design problems, suggests the
creation of spike solution - a design prototype
Encouraging refactoring - an iterative
refinement of the internal program design
19
Extreme Programming (XP)
http://search.dilbert.com
20
Extreme Programming (XP)
XP Coding
Recommends the construction of a unit test for a
store before coding commences
Encourages pair programming
XP Testing
All unit tests are executed daily
Acceptance tests are defined by the customer
and executed to assess customer visible
functionality
21
Extreme Programming (XP)
22
Extreme Programming (XP)
http://www.extremeprogramming.org/map/project.htm
l
23
SCRUM
http://newsimg.bbc.co.uk/media/images/44181000/jpg/_44181384_eng_sa_scrum416.jpg
Scrum in a game of rugby
24
SCRUM
Originally proposed by Schwaber and Beedle
Scrum - distinguishing features
Development work is partitioned into packets
Testing and documentation are on-going as the product is
constructed
Work occurs in sprints and is derived from a backlog of
existing requirements
Meeting are very short and sometimes conducted without
chairs
Demos are delivered to the customer with the time-box
allocated
25
SCRUM
http://www.kathan.at/snipsnap/space/snipsnap-
index/development/methodologies+%26+processes/scrum.gif
26
27
Other Agile Process Models
Adaptive Software Development
Dynamic System Development Method
Crystal
Feature Driven Development
Agile Modeling
Agile Unified Process
Q & A
28

Vous aimerez peut-être aussi