30
SDLC Plan Advanced Progressive By Muhammad Nabeel Arif

Sdlc plan

Embed Size (px)

Citation preview

SDLC PlanAdvanced Progressive

ByMuhammad Nabeel Arif

Software Development Life Cycle

We are going to follow a 3 step process to develop a complete software application

Design: Requirement gathering and estimates and approval

JIRA Confluence & Google Docs

Develop: Code, Test and DemoJIRA, JIRA Agile & Git to manage source code

Deploy: Final testing and DeploymentJIRA, Play Store, App Store

PlanPlanning phase is the first and very important phase in our SDLC Plan.

Requirements are obtained from the Product Owner

Active involvement of Product Owner is required during this phase to clarify the ambiguities in the requirements.

Estimates are finalized against Work Breakdown Structure (WBS)

Requirements

Product Owner provides information in the form of User story, a sample app to replicate, a website to convert into mobile format or mock-ups.

Requirements are evaluated by the Project Manager who further assigns them to relative developer (iOS or Android)

In case of any ambiguity or clash in requirements clarification is requested from project owner

In case of technical limitations, alternatives are suggested.

According to final requirements, design elements for applications are requested in the form of PSDs

Estimates

Based on the requirements a WBS is created to estimate the time on different platforms (iOS or Android)

Estimate sheets display complete picture of the app on a specific platform listing time required by each item, assumptions made, limitations, server interaction

Feedback and Approval

Based upon the Product Owner’s feedback, necessary changes are made in estimate document.

Tools and technologies are agreed for the app.

Discussion continues until we get approval from the Product owner.

From here onwards starts the develop phase

JIRA Confluencehttps://www.atlassian.com/software/confluence

DevelopHere we start the implementation of the actual application. This phase includes coding, managing source code, testing, demo. We will use following process and technique during this phase.

Agile

ScrumJIRA , JIRA Agile & Git for managing code

AGILEIterative

AdaptableRapid

Cooperative

Quality-driven

Not a process, it's a philosophy or

set of values

ScrumScrum is an iterative and incremental Agile software development framework for managing software projects and product or application development. Its focus is on "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach".

• Scrum Overview

• Roles

• Sprint

• Meetings

• Artifacts

• Scrum Summary

Scrum Overview

RolesThe Product Owner

The Scrum Master

The Development Team

The Product OwnerResponsible for the product backlog

and maximizing the product ROI.• Represents the users• Clearly expresses backlog items• Orders them by value• Ensures visibility

The Scrum MasterResponsible for the scrum process

• Removes impediments• Facilitates scrum events• Facilitates communication

The Development TeamResponsible for delivering a potentially shippable

increment of working software.• Self-organized• Cross functional• Developer as title• Defines practices• 4 to 9 persons

SprintA sprint is the basic unit of development in Scrum.

The sprint is a "timeboxed" effort; that is, it is restricted to a specific duration.

The duration is fixed in advance for each sprint and is normally between one week and one month, although two weeks is typical

ArtifactsProduct Backlog

Sprint Backlog

Increment

Burn down

The Product BacklogSingle source of requirements for any changes to bemade to the product.

• Living list that is never complete

• Ordered: value, risk, priority & necessity

• Estimated by the team

Sprint BacklogConsists of committed PBIs negotiated between the team and the Product Owner during the Sprint Planning Meeting

IncrementThe increment is the sum of all the Product Backlog Items completed during a sprint and all previous sprints.

Burn DownIndicates total remaining team task hours within one Sprint

MeetingsSprint Planning Meeting

Daily Scrum

Sprint Review Meeting

Sprint Retrospective Meeting

Backlog Refinement Meeting

The Sprint PlanningTwo part time boxed meeting: 8h/1m sprint.

1. Defines what will be delivered in the increment• Team selects items from the product backlog and defines a sprint goal

2. Defines how the increment will be achieved• Items are converted into tasks & estimated

The Daily Scrum15 minute time-boxed event for the Team

to synchronize activities.

• What has been accomplished since last meeting?• What will be done before the next meeting?• What obstacles are in the way?

The Sprint Review4 hour time-boxed meeting

• Product owner identifies what has been done• Team discusses what went well, what problems it ran into & those that were solved• Team demonstrates what it has done in a demo• Product owner discusses the backlog as it stands• Entire group collaborates on what to do next

The Sprint RetrospectiveImproves the process.

• Inspect how the last Sprint went• Identify and order the major items that went well and potential improvements; and,• Create a plan for implementing improvements

Backlog Refinement

Refine the requirements, technical limitations and estimates

• It is common to write Product Backlog Items in User Story form. In this approach, oversized PBIs are called epics. Break the complex epics into small user stories

• The team considers the effort they would expend to complete items in the Product Backlog and provides other technical information to help the Product Owner prioritize them.

• Most customers don’t use most features of most products, it’s wise to split epics to deliver the most valuable stories first.

• The Backlog Refinement Meeting lacks an official name and has also been called “Backlog Grooming,” “Backlog Maintenance,” or “Story Time.”

The Definition of DoneUsed to assess when work is complete on the

product increment.

• Defined by the product owner• Unique for the whole team• Must allow immediate release• Quality increases with maturity

Scrum Summary

JIRA & JIRA Agilehttps://www.atlassian.com/software/jira/

https://www.atlassian.com/software/jira/agile

Deployment

Complete testing of the application

Fill the test sheets for the app

Fill the Release checklist for the app

Deploy the app

Install and update the deployed app

Referenceshttp://agilemethodology.org/

http://scrumreferencecard.com/scrum-reference-card/

http://en.wikipedia.org/wiki/Scrum_%28software_development%29