Software development life cycle

1.

SOFTWARE DEVELOPMENT LIFE CYCLE

2.

3.

Software development methodology
In software engineering, a software development methodology
is a division of software development work into distinct phases (or
stages) containing activities with the intent of better planning and
management.

4.

Approaches
• Waterfall model
• V-Model
• Iterative model
• Extreme programming (XP)
• Agile
•Scrum

5.

Waterfall (каскадна модель)

6.

Disadvantages
Advantages
∗ This model is simple and easy to
understand and use.
∗ Each phase has certain results.
∗ The phases do not overlap.




You can not return to previous stages.
Large amounts of risks.
The bad model for long projects.
Not suitable for projects where a high
probability that the requirements
change.

7.

When do we use?
∗ No unambiguous requirements.
∗ The project is brief.
∗ Medicine, aviation, aerospace.

8.

V-model
Preparation
Acceptance test
User
requirements
System
requirements
Acceptance test
execution
System test
execution
Preparation System
test
Global design
Preparation
Integration test
Integration test
execution
Component text
execution
Detailed design
Implementation

9.

Advantages
○ Simple and easy to use.
○ Test planning, test designing
occurring well before coding. This
saves a lot of time. Therefore, a
better chance of success compared
with the model Waterfall.
○ It works well for small projects
where requirements are easy to
understand.
Disadvantages
○ Unflexible.
○ The bad model for long projects.
○ Not suitable for projects where a high
probability that the requirements
change.

10.

Iterative

11.

Advantages and disadvantages
▪ The interests of both parties.
▪ Significantly increasing load and management personnel, due to the complexity of the tasks of
coordinating work on individual components of the system.
▪ Price increases amending ready components that are already installed and working in customer.
▪ The division into functional blocks generally slows as it is necessary to connect them.

12.

EXTREME PROGRAMMING (XP)
Principles
•Iterative
•Easy solutions
•Intensive development of small groups and pair programming
•Feedback

13.

RULES
•Planning process.
•General system naming rules.
•Collective ownership of code.
•Uniform coding standards.
•Refactoring (code optimization).
•Pair programming.
•40-hour week.
•Small releases.
•Continuous integration (rigid rule).
•Testing.

14.

Agile
Goals
• individual and teamwork are more important than processes and tools;
• working software is more important than full documentation;
• cooperation with the customer is more important than contractual obligations;
• reaction to change is more important than working on a plan.

15.

16.

17.

Burn Down Chart

18.

Product Owner
The Team
Scrum Master
Objective: increase product value
Objective: To create and test as required.
○ One person
Only one person [optional];
○ Developers;
○ Knows Scrum
Knows priorities;
○ Testers;
○ Trainer
He knows the details;
Helps in understanding.
○ Solves problems

19.

Meeting
Planning Meeting
Daily Standup Meeting
o What is a Product Backlog?
o Daily 15 minutes
o What can we do?
o Issues:
o Further details?
o What have I done?
o Who will do it?
o What will I do?
o How long will it take?
o What is my problem?
Sprint Review
o For the Product
Owner
Sprint Retrospective
o Analysis of the work
done
o For the customers. o At the end of sprint
o At the end of each
sprint

20.

Kanban
English     Русский Правила