Agile SDLC Methodology SDLC Software Development Life Cycle

  • Slides: 25
Download presentation
Agile SDLC Methodology

Agile SDLC Methodology

SDLC - Software Development Life Cycle Linear sequence of stages Phases in SDLC Requirement

SDLC - Software Development Life Cycle Linear sequence of stages Phases in SDLC Requirement Design and Architecture Coding Testing Implementation Maintenance

Traditional SDLC Methodologies Waterfall Model Spiral Model Iterative Model V Model Big Bang Model

Traditional SDLC Methodologies Waterfall Model Spiral Model Iterative Model V Model Big Bang Model Rapid Application Development Model

Project – What do we need to Know

Project – What do we need to Know

Agile – When and Where 1970 , Dr. Winston Royce Criticized the Traditional SDLCs

Agile – When and Where 1970 , Dr. Winston Royce Criticized the Traditional SDLCs Questioned the adaptability of these methods to Software Development Agile Evolved from techniques developed at Du. Pont in the mid-80 s Further defined in works by James Martin and James Kerr et al.

Agile in a Nutshell Break Products into small incremental builds Builds are provided in

Agile in a Nutshell Break Products into small incremental builds Builds are provided in iterations Duration- Iterations will be one to three weeks Cross Functional Teams work Simultaneously on Planning, Requirements Analysis, Design, Coding , Unit testing & Acceptance Testing Iterative Approach – Working Software delivered after each iteration

Redefining Agile A project management process that encourages frequent inspection and adaptation; a leadership

Redefining Agile A project management process that encourages frequent inspection and adaptation; a leadership philosophy that encourages team work, self-organization and accountability; a set of engineering best practices that allow for rapid delivery of high-quality software; business approach that aligns development with customer needs and company goals.

Agile SDLC

Agile SDLC

Myths No Detailed Documentation Open Communication with customer Adapt to changing Product Requirements Dynamically

Myths No Detailed Documentation Open Communication with customer Adapt to changing Product Requirements Dynamically Test the Product Frequently

Components of Agile Methodology No Component Description Classification 1 Values A Standard considered worthwhile

Components of Agile Methodology No Component Description Classification 1 Values A Standard considered worthwhile or desirable Communication Simplicity Feedback Courage Humility 2 Principles Basic Generalization that Core Principles can be accepted as true and Supplementary Principles that can be used as a basis for reasoning 3 Practices Process of doing (can be a performance or action) Core Practices Supplementary Practices

Agile Principles Assume Simplicity Incremental Change Maximize Stakeholder Investment Model With a Purpose Multiple

Agile Principles Assume Simplicity Incremental Change Maximize Stakeholder Investment Model With a Purpose Multiple Models Quality Work Rapid Feedback

Agile Practices Active Stakeholder Participation Collective Ownership Create Simple Content Depict Models Simply Display

Agile Practices Active Stakeholder Participation Collective Ownership Create Simple Content Depict Models Simply Display Models Publicly Prove it With Code Use the Simplest Tools

Agile Manifesto Principles Description Individuals & Interactions Self Organization & Motivation Working Software •

Agile Manifesto Principles Description Individuals & Interactions Self Organization & Motivation Working Software • Demo Working Software ( best means to communicate with customer) • No Detailed Documentation Customer Collaboration Continuous Customer Interaction • To get Proper Product Requirements • Cannot gather all requirements Initially Responding to Change • Focus on Quick responses to change • Continuous Development

People Involved in Agile The Agile Team Architects Developers, Analysts, Designers Quality Assurance, Testers

People Involved in Agile The Agile Team Architects Developers, Analysts, Designers Quality Assurance, Testers Tech Writers Product Owners / Customer Representatives Project Managers / Scrum. Masters Note : Teams are small (~7), preferably co-located, cross functional. Scale by adding teams, not more people

Popular Agile Methods Rational Unified Process Scrum Crystal Clear Extreme Programming Adaptive Software Development

Popular Agile Methods Rational Unified Process Scrum Crystal Clear Extreme Programming Adaptive Software Development Feature Driven Development

Scrum Iterative process of development used with agile software development. Roles in Scrum are

Scrum Iterative process of development used with agile software development. Roles in Scrum are the Scrum. Master, the Product Owner and the Team. During each sprint the team creates an increment of potential shippable software Set of features that go into each sprint come from the product backlog

Scrum (. . Contd) Which backlog items go into the sprint is determined during

Scrum (. . Contd) Which backlog items go into the sprint is determined during the sprint planning meeting. The team then determines how much of this they can commit to complete during the next sprint. During the sprint, no one is able to change the sprint backlog.

What is a Backlog? A backlog is the master list of all functionality Features

What is a Backlog? A backlog is the master list of all functionality Features Epics Stories Requirements Bugs Item Attributes: Description Cost estimate (points or size) Business Value Priority

Product Backlogs vs. Sprint Backlogs A Product Backlog is the master list of all

Product Backlogs vs. Sprint Backlogs A Product Backlog is the master list of all functionality for the product Features Epics Bugs The Sprint Backlog is the list of functionality that the team is committing to complete in the current iteration Storied Requirements Bugs Product Management / Owner owns the backlogs

Agile Planning Beginning of iteration Review vision and roadmap Review development status, architecture and

Agile Planning Beginning of iteration Review vision and roadmap Review development status, architecture and previous iterations Determine velocity Review team availability & capacity Review definition of done Review product backlog & select items for iteration / sprint Identify tasks & estimates Identify challenges & risks Review capacity required COMMIT (planning not over until entire team commits to sprint plan)

Agile Reports Product / Sprint / Iteration Backlog Release Burn-up chart (to show %

Agile Reports Product / Sprint / Iteration Backlog Release Burn-up chart (to show % complete) Defects – inflow, outflow, # of open defects per week Build quality per day/week Number of tests / tests passed per day/week Velocity over the last x sprint Action items, risks Burndown Charts (to show remaining effort)

Agile Retrospectives Meeting after an increment of work to inspect and adapt their methods

Agile Retrospectives Meeting after an increment of work to inspect and adapt their methods and teamwork What went well, What could be improved Team learning Catalyst for change Generate action Sample Agenda Overview Gather data Prioritize Discuss Action Items

Agile Methodologies Feature-driven Development (rare) an iterative development process. This practice is driven from

Agile Methodologies Feature-driven Development (rare) an iterative development process. This practice is driven from a client-valued functionality (feature) perspective. Test-driven Development (rare) is a software development technique that uses short development iterations based on pre-written test cases that define desired improvements or new functions. Each iteration produces code necessary to pass that iteration's tests.

Agile Methodologies Lean (rare) is a process designed to eliminate waste, amplify learning, make

Agile Methodologies Lean (rare) is a process designed to eliminate waste, amplify learning, make decisions late, fast delivery, empowered teams, product integrity and an fully understood system.

Thank You

Thank You