Lecture 2
Lecture 2
Lecture 2
(IS-352)
Lecture 2
Introduction to the Course
3
Software Process Models Categories
Plan-driven
All of the process activities are planned in advance and progress is
measured against this plan.
Waterfall, Incremental, Reuse-oriented, Spiral
Agile
Planning is incremental and it is easier to change the process to reflect
changing customer requirements.
eXtreme Programming (XP), Scrum, Lean, Crystal, Kanban
4
5
Code and fix
6
Therefore, this model is only appropriate when the requirements are
well-understood and changes will be fairly limited during the design
process
Traditional Software
Development
• Less communication.
• Requirements process in sealed before
Analysis and design process.
• Take more than estimated time and estimated
budget.
12
AGILE
The Goals of Agile Modeling
15
Agile Manifesto (2001)
http://agilemanifesto.org/
Agile Manifesto (2001)
Individuals & interactions over process and tools
process
Company
tools
Process and tools are important but people behind the process are even more
http://agilemanifesto.org/
Agile Manifesto (2001)
Working software over comprehensive documentation
Requirements
document Issue document
Company Technical
Risk document
document
http://agilemanifesto.org/
Agile Manifesto (2001)
Customer collaboration over contract negotiation
Company
contract
client
Customer change
Expected != actual
(CR)
http://agilemanifesto.org/
Agile Manifesto (2001)
Respond to change over following a plan
Dynamic roadmap
http://agilemanifesto.org/
Agile mindset
Agile is a mindset that help to deliver software despite uncertainty and risk
• Value
• Validation
• Adapt your plan
• Deliver fast
• Deliver frequent
• Team ownership
• Continuous improvements
http://agilemanifesto.org/
Principles behind the Agile Manifesto
1. Our highest priority is to satisfy the customer through early and continuous delivery
of valuable software.
4. Business people and developers must work together daily throughout the project.
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.
Principles behind the Agile Manifesto
7. Working software is the primary measure of progress.
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.
SCRUM
Scrum Overview
Product owner
Team
Joe
Fred
Jenny
David
Erik
I won’t even go
near a database!
Henrik Kniberg
Scrum Master