Software Development Life Cycle and Methodologies

Содержание

Слайд 2

Agenda Self-study, home work discussion. Questions. SDLC. Processes. What is Agile? Scrum, Waterfall, XP… Practice.

Agenda

Self-study, home work discussion. Questions.
SDLC.
Processes.
What is Agile?
Scrum, Waterfall, XP…
Practice.

Слайд 3

What is SDLC? The Software Development Life Cycle (SDLC) is a

What is SDLC?

The Software Development Life Cycle (SDLC) is a framework defining tasks

performed at each step in the software development process. SDLC is a structure followed by a development team within the software organization. It consists of a detailed plan describing how to develop, maintain and replace specific software.
Слайд 4

Processes. Why do we care about it?

Processes. Why do we care about it?

Слайд 5

For any company Customer satisfaction critical Project should end successfully all

For any company

Customer satisfaction critical
Project should end successfully all the time
Project:

complex NEW DIFFERENT software products
Different size, different teams, different locations, distributed development
Слайд 6

SDLC gone wrong

SDLC gone wrong

Слайд 7

Software Development Methodologies Waterfall Iterative RUP Agile XP …

Software Development Methodologies

Waterfall
Iterative
RUP
Agile
XP

Слайд 8

Traditional Approach

Traditional Approach

Слайд 9

What is Agility? “Values, principles and practices that foster team communication

What is Agility?

“Values, principles and practices that foster team communication and

feedbacks to regularly deliver customer value through working software.”
Слайд 10

Agile Manifesto Individuals and interactions over processes and tools Working software

Agile Manifesto

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over

contract negotiation
Responding to change over following a plan

Link: http://agilemanifesto.org/

Слайд 11

Roles Product owner – The Product Owner is a member of

Roles

Product owner – The Product Owner is a member of the

Scrum team charged with maximizing the value of the team’s work. The product owner holds the product vision and works closely with stakeholders, such as end users, customers, and the business to cultivate and nurture a community around the product.
Scrum Master – The Scrum Master is a servant leader, helping the rest of the Scrum team progress. He keeps the Scrum team productive and learning. He needs Coach the team, Keep the team moving forward and Help everyone understand Scrum.
Team – The entire team (5-9 people), work together to achieve results. The development team does the actual work of delivering the product increment. The team is a cross-functional group of professionals who, among them, have all the necessary skills to deliver each increment of the product.
Слайд 12

Meetings Sprint Planning – the team meets the Product Owner to

Meetings

Sprint Planning – the team meets the Product Owner to choose

a set of items to deliver during the next sprint.
Daily Standup (Daily Scrum) – the team meets each day to synchronize and identify impediments.
Sprint Review – the team reviews and demonstrates to the Product Owner what is has completed during the Sprint.
Sprint Retrospective – the team looks for ways to improve the processes.
Backlog Grooming – the team meets with Product Owner to estimate product Backlog, refine the acceptance criteria for individual stories, and break larger stories into smaller ones.
Слайд 13

Artifacts Product increment – an integrated, shippable product (build) Product Backlog

Artifacts

Product increment – an integrated, shippable product (build)
Product Backlog – a

prioritized list of desired project outcomes or features
Sprint Backlog – a set of work from the Product Backlog that the team agrees to complete in a Sprint, broken down into tasks
Burn Down Chart – view of the work remaining
Task Board – active sprint board with the tasks in statuses like “To Do”, “In Progress”, “Done”
Слайд 14

Scrum Visualization

Scrum Visualization

Слайд 15

Result: Continuous improvements

Result: Continuous improvements

Слайд 16

Scrum vs Kanban It is an agile process framework. Scrum and

Scrum vs Kanban

It is an agile process framework. Scrum and Kanban in software development

are both specific shapings of an agile software methodology. While Scrum vs Kanban or Kanban vs Scrum is comparing two agile methodologies, Scrum vs Agile is comparing a concrete example with its fundamental principles.
Слайд 17

Waterfall Development “Waterfall Development” is another name for the more traditional approach to software development.

Waterfall Development

“Waterfall Development” is another name for the more traditional approach

to software development.
Слайд 18

Iterative Waterfall development This approach carries less risk than a traditional

Iterative Waterfall development

This approach carries less risk than a traditional Waterfall

approach but is still far more risky and less efficient than a more Agile approaches.
Слайд 19

Scrum Development This approach carries far less risk than Waterfall approaches.

Scrum Development

This approach carries far less risk than Waterfall approaches. We

focus on delivering fully-tested, independent, valuable, small features. We still plan our work in iterations and we will still release at the end of each iteration.
Слайд 20

Lean Development In Lean Development, you select, plan develop, test and

Lean Development

In Lean Development, you select, plan develop, test and deploy one

feature (in its simplest form) before you select, plan, develop, test and deploy the next feature.
Слайд 21

V-model The V-model is an SDLC model where execution of processes

V-model

The V-model is an SDLC model where execution of processes happens in a sequential manner

in a V-shape. It is also known as Verification and Validation model. The V-Model is an extension of the waterfall model and is based on the association of a testing phase for each corresponding development stage.
Слайд 22

Scrum vs Waterfall in reality Scrum takes its cue from RUGBY

Scrum vs Waterfall in reality

Scrum takes its cue from RUGBY SRCUM

where a team is aggressively trying to advance the ball and working together as one unit.
Scrum says we need to have a cross functional team and they have to be focused on advancing the common goal.

Waterfall method is the relay race approach where every individual is doing their part and then passing the baton to the next person.

Слайд 23

Practice: Scrum Penny Game

Practice: Scrum Penny Game

Слайд 24

Why Agile works? Less functional on iteration, less risks and wrong

Why Agile works?

Less functional on iteration, less risks and wrong estimates.
Fast

rump-up (no need in deep review of docs)
Often releases – REAL PROGRESS