Week 1 Flashcards
Model Evaluation criteria
Some criteria for evaluating models
* Risk Management
* Quality / cost control
* Visibility of progress
* Customer involvement
Overall aim for the one fits your project.
What kinds of projects can use Agile
models?
Projects that have dynamic requirements
When rapid productions are need
▪ IT companies
Sprint prioritization
Analyze and evaluate product backlog
* Select sprint goal
Sprint planning
- Decide how to achieve sprint goal
(design) - Create sprint backlog (tasks) from
product backlog items (user stories /
features) - Estimate sprint backlog in hours
What is a process?
A process is a set of activities that
interact to produce a result.
Software development process
Specification Designing Implementing
Testing Maintaining
A software process model
is a description
of the sequence of activities carried out in
a SE project, and the relative order of
these activities.
Code-and-fix model
write some code, debug it, repeat until finished
Waterfall model
a relatively linear sequential approach
Iterative Models
* Prototype model
used to understand/evolve the requirements
Iterative Models spiral
Spiral model
* a risk-driven model, assesses risks at each step, and does the most critical action
immediately
Agile model
Extreme Programming (XP)
* Scrum
focus on process adaptability and customer satisfaction, a good fit in fast
changing environments
By changing the SP model, we can improve and/or tradeoff:
- Development speed (time to market)
- Product quality
- Project visibility
- Administrative overhead
- Risk exposure
- Customer relations
- etc.
Code-and-fix model
starts with little or no initial planning
➢ usually no documentation
➢ anyone who has knowledge of coding can use this
Waterfall model
➢ every step is strictly documented and predefined
➢ follow a very strict lifecycle
➢ well defined milestones, outputs
➢ finish one step before moving to the next step
Waterfall model pros
Simple to use and understand
Has clear deliverables and
milestones
Management is simple
Easy to classify and prioritize tasks
Waterfall model cons
Too rigid
Non-adaptive design constraints
Ignores mid-process client feedback
Testing in the very end, which does
not give the option of identifying the
problem in advance
no working software is produced
until late during the life cycle
Code-and-fix model pros
Low overhead
Low expertise, anyone can use it!
Code-and-fix model cons
No way to assess progress or
manage the project
Does not fit a complex project
Unclear what and when will be
delivered
Low quality
Why is waterfall model is not popular now?
- Main assumption: all requirements can be
determined at the beginning, no change later on - This does not correspond to current software development
- Data shows change rates from 35%–50% for large projects
- “change” is the most expensive operation in the waterfall model
- Feedback (from clients, programmers) comes very/too late
- Note: that doesn’t mean you should fall into the
opposite extreme and do no planning at all
the broken iron triangle
scope(features, functionality) -> schedule(time) -> resources (cost, budget)
What kinds of projects can use
waterfall model?
The requirements are precisely
documented
aviation system
warehousing systems
There are no ambiguous requirements
Product definition is stable, no changes
Prototype model
help customers and
developers understand the
system requirements
➢ build a prototype, adjust the
requirements, and revise
the prototype until have a
clear picture
Start -> communication -> Quick planning -> Modeling quick design -> Construction of prototype -> deployment, delivery -> communication
Prototype model pros
Can help reduce risk of incorrect
user requirements
Missing functionality can be
identified easily
Projects have a higher visibility