SlideShare uma empresa Scribd logo
1 de 59
Baixar para ler offline
Bhawani Nandan Prasad
Agile Software Development
Life-cycle
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Objective
To help you understand the principles of
Agile software development and
successfully implement the software
development life-cycle on your projects
Topics
Agile primer
Why Agile?
Mapping Agile to SDLC activities
Writing good requirements
A typical iteration in Scrum
Software engineering best practices
Wrapping up releases
Bhawani Nandan Prasad
Why bother about Agile?
 Israel Gat: Cutter Consortium:
 “Agile can do to software development what internet did to
computing”
 “Agile is a train. Either you get on to it or you will be under it”
 PMI research: Use of Agile has tripled from December
2008 to May 2011
 Gartner: 80% of software development projects would
use Agile by end of 2012
 74% of IT professional surveyed had practiced Agile in
some form or other; 55% for 2 years or more
Copyright (c) Sandeep Shouche, CSM, PMP,
PgMP, PMI-ACP 2012
Bhawani Nandan Prasad
Problems with Software Development
 Excessively long “time to market” for products
 Customer orientation is lacking
 Cost of delivering software is too high
 Poor productivity of teams
 Too much “wasted work” to fix defects and rework designs
 Software quality is poor
 Ability to responding to change is low
 Employee morale is low (and attrition rates are high!)
 Project failure rate is too high
 ~70% or more
 Delivered ROI falls short of expectations
Usage of features in a system
Bhawani Nandan Prasad
Waterfall v/s Agile
Bhawani Nandan Prasad
Waterfall v/s Agile
Bhawani Nandan Prasad
Choosing Agile
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Choosing Agile
 • Are requirements for the finished project complete, clear and
stable?
 • Can the effort required to complete the project be easily
predicted?
 • Have you successfully completed previous projects similar to
the one you’re about to start?
 If you can answer “yes” to these questions, then a plan-driven
process like the waterfall method is likely your best bet. Because
answering “yes” to these questions indicates the project you’re
about to start is predictable to a reasonable degree.
 In short, If Project has three factors–urgency, complexity, and
novelty - choose agile
Bhawani Nandan Prasad
Traditional Software Development
Design
Coding
Testing
DeployAdvantage: Logically sound
Disadvantage: Assumes predictability!
Analysis
Bhawani Nandan Prasad
Evolution of Agile
 Iterative development, done in small incremental
chunks, validating requirements at each step
 Agile development evolved in mid-90’s – the
word “Agile” was adopted in 2001
 Has significant parallels with “Lean movement”
in the manufacturing world
 Is also similar to “spiral models”, except spiral
iterations are longer and rely on “prototypes,
where Agile emphasizes “working software”
Bhawani Nandan Prasad
Providing early value
Value Realized
Time
Incremental delivery
All-at-once
Delivery
Bhawani Nandan Prasad
Agile Manifesto – Feb 2001
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn,
Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith,
Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C.
Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
See http://www.agilemanifesto.org
Bhawani Nandan Prasad
Principles related to SDLC
 Principle No.1: Our highest priority is to satisfy
the customer through early and continuous
delivery of valuable software.
 Break it up to deliver early and frequently
 Principle No.2: Welcome changing
requirements, even late in development. Agile
processes harness change for the customer's
competitive advantage.
 Do not be bureaucratic about change management, be
flexible to absorb change
Bhawani Nandan Prasad
Principles related to SDLC
 Principle No.3: Deliver working software frequently,
from a couple of weeks to a couple of months, with a
preference to the shorter timescale.
 Typical length of an iteration is 2 weeks to 2 months
 Principle No.7: Working software is the primary
measure of progress.
 The output of each iteration must be “working software”
 Principle No.9: Continuous attention to technical
excellence and good design enhances agility.
 Design is important, but design is “continuous” – not one time
activity
Agile Unified Process
 Four project lifecycle phases
 Inception
 Elaboration
 Construction
 Transition
 Six engineering disciplines
 Business modeling, Requirements, Analysis and Design,
Implementation, Test, Deployment
 Three supporting disciplines
 Environment, Configuration and Change management, Project
management
Bhawani Nandan Prasad
Rational Unified Process (Continued)
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Scrum Basics
Backlog
Item
Priority
Product
Owner
Inputs from Customers,
Team, Execs, Support,
etc.
Team
Sprint Backlog
Sprint Planning
Meeting
Sprint
1-4
weeks
Finished
Deliverables
Sprint
Review
Sprint
Retrospective
Scrum Master
Daily
Standup
Once agreed, Sprint end date &
deliverables do NOT change
Bhawani Nandan Prasad
Product backlog
 List of everything that could ever be of value to
the business for the team to produce.
 Defined in terms of “epics” and “user stories”
 Ranked in order of priority
Priority is a function of business value and risk
 Product owner can make any changes they want
before start of a Sprint / Sprint Planning meeting
It can be addition of new items, changing or
removing or existing items or re-ordering them
 Ideally for 2 sprints items should be well defined
Bhawani Nandan Prasad
Example of Product Backlog
Description Size
Utility to mark all positions to market
at end of trading day 20
Report on outstanding positions for
SEBI filing 10
On-the-fly introduction of securities
into intra-day trading 5
Upgrade server platform to JRE 1.6
5
Fix intermittent problem with index
window flickering (Defect
No.0002413)
10
Integrate Mark-to-market utility with
trading system (execute every hour) 20
 List of requirements in
descending order of
priority
 Can be …
Functional or non-
functional
Technical upgrades
Significant bug-fixes
Bhawani Nandan Prasad
User Stories and Epics
 Epic: High-level theme that combines a set of
planned features or requirements Examples …
Scalability improvements to handle processing rate of
100 transactions per second
Usability improvements
 User Story: A short description of a planned
feature or requirement. Examples …
Modify server code to support multi-threading
Reduce the size of packets sent over
Reduce number of clicks to checkout to 5
Support Section 508 recommendations
Bhawani Nandan Prasad
Epics and user stories
Can include any or all of the following
New features
Modification or Deletion of existing features
Bug-fixes to existing software
Internal clean-up tasks like code re-factoring,
support for new technologies, etc.
Should all result in “adding value” to the
customer!
Bhawani Nandan Prasad
User Stories
Should be small
Typically no more than 40 man hours of effort
Should be deliverable as a unit (de-
coupled or loosely coupled)
Should be described in as much detail as
is necessary to “validate successful
completion”
May contain child stories or tasks
Writing good user stories
 Example templates
 As a [role], I can [feature] so that [reason]
 E.g. As a account holder, I can check my balances online so that I can
maintain daily balance
 Use 3”X5” index cards (ensure that you don’t write too much)
 Make it testable by writing acceptance criteria
 Given [context] <and/or [some more context]> When [event] Then
[outcome] <and/or [another outcome]
 E.g. Given account balance is negative and no direct deposit is scheduled
on the day when the account holder tries to withdraw money then the bank
will deny the request and send the account holder an alert
 Connect the dots by thinking of all possible scenarios
 More references:
 http://www.agilemodeling.com/artifacts/userStory.htm
Bhawani Nandan Prasad
Bhawani Nandan Prasad
How to split storiesRef: Bill Wake’s “20 Ways to Split Stories”: http://xp123.com/xplor/xp0512/index.shtml
The Big Picture
 • Research vs. Action
 If a story is too hard, one split is to spend some time researching solutions to it.
 • Spike vs. Implementation
 You can buy learning for the price of a spike (a focused, hands-on experiment on some
aspect of the system).
 A spike might last an hour, or a day, rarely longer.
 • Main Flow vs. Alternate Flows
 (Use case terminology.) The main flow - the basic happy path - is usually the one with the
most value.
 • Manual vs. Automated
 If there's a manual process in place, it's easier to just use that for a while before throwing it
away.
 • Buy vs. Build
 Sometimes, what you want already exists, and you can just buy it. For example, you might
find a custom widget that costs a few hundred dollars. It might cost you many times that to
develop yourself.
 Other times, the "off-the-shelf" solution is a poor match for your reality, and the time you
spent customizing it might have been better spent developing your own solution.
Bhawani Nandan Prasad
How to split stories
User Experience
 Batch vs. Online
 A batch system doesn't have to interact directly with the user.
 Single User vs. Multi-User
 Keep concurrency, access control issues, etc. in abeyance for
some time.
 API-only vs. User Interface
 It's easier to not have a user interface at all. For example, if
you're testing your ability to connect to another system, the first
cut might settle for a unit test calling the connection objects.
 Generic UI vs. Customer UI
 At one level, you can use basic widgets before you get fancy
with their styles. To go even further, something like Naked
Objects infers a default user interface from a set of objects.
Bhawani Nandan Prasad
20 ways to split stories
“Ilities”
 • Static vs. Dynamic
 It's easier to calculate something once than ensure it has the correct value every time its
antecedents change.
 • Ignore errors vs. handle errors
 While it's less work to ignore errors, that doesn't mean you should swallow exceptions.
Rather, the recovery code can be minimized.
 • Transient vs. Persistent
 Let's you get the objects right without the worries about changing the mapping of persisted
data.
 • Low fidelity vs. High fidelity
 You can break some features down by quality of result. E.g., a digital camera could start as a
1-pixel black-and-white camera, then improve along several axes: 9 pixels, 256 pixels,
10,000 pixels; 3-bit color, 12-bit color, 24-bit color; 75% color accuracy, 90% color accuracy,
95% color accuracy." (William Pietri)
 • Small scale vs. large scale
 "A system that works for a few people for moderate data sets is a given. After that, each step
is a new story. Don't forget the load tests!" (William Pietri)
 • Unreliable vs. Reliable
 "Perfect uptime is very expensive. Approach it incrementally, measuring as you go." (William
Pietri)
Bhawani Nandan Prasad
Typical life-cycle in a Scrum World
Repeated as long as it
takes to create a
releasable product
High-level Roadmap
For a Release
Bhawani Nandan Prasad
Release Planning
 Aims at coming up with a “long-term roadmap”
 What should happen during a release planning?
 Prepare of a release roadmap with “epics” defined at high level
 Estimate of what and how much can be accomplished in a
release
 Identify and tie up dependencies on external factors or events
 Prepare a high-level project plan with milestones
 Mode of release planning
 Usually face-to-face, lasting up to a week
 The entire team need not attend– key representatives should
 Product Owner and optionally other stakeholders can attend
 Advance preparation (understanding epics, priorities,
dependencies, etc.) help this go faster
Bhawani Nandan Prasad
Sprints
Backlog
Item
Priority
Product
Owner
Inputs from Customers,
Team, Execs, Support,
etc.
Team
Sprint Backlog
Sprint Planning
Meeting
Sprint
1-4
weeks
Finished
Deliverables
Sprint
Review
Sprint
Retrospective
Scrum Master
Daily
Standup
Once agreed, Sprint end date &
deliverables do NOT change
Bhawani Nandan Prasad
Sprints!
 Refers to an “iteration”
Typically 1-4 weeks long
 Produces an enhanced version of the software
All engineering activities (Code, Unit Test, System,
Regression test) must be completed within the Sprint
Should be “near releasable quality”
 A “release” or project contains multiple sprints
As many as is necessary to create substantial “value” to
the customer
Bhawani Nandan Prasad
Sprint at a glance
Bhawani Nandan Prasad
Sprint Planning Meeting
Backlog
Item
Priority
Product
Owner
Inputs from Customers,
Team, Execs, Support,
etc.
Team
Sprint Backlog
Sprint Planning
Meeting
Sprint
1-4
weeks
Finished
Deliverables
Sprint
Review
Sprint
Retrospective
Scrum Master
Daily
Standup
Once agreed, Sprint end date &
deliverables do NOT change
Bhawani Nandan Prasad
Sprint planning meeting
 Goal:
 For the team to make good commitment around what it will
deliver by the end of the Sprint
 What’s a Good Commitment?
 Clearly understood by all
 Shared among team
 Achievable without sacrificing quality
 Achievable without sacrificing “sustainable pace” (heijunka!)
 Attended by Team, Product owner, Scrum Master
 Usually take 1-2 Hrs for each week of Sprint duration
Bhawani Nandan Prasad
Sprint Calendar - Example
Mon Tues Wed Thurs Fri
3 4 5 6 7
10
Sprint
Planning
11
First day of
Sprint
12 13 14
17 18 19 20
Last day of
Sprint
21
Review &
Retrospective
24 25 26 27 28
Bhawani Nandan Prasad
How Sprint Planning should work
Clarifying questions about stories asked
Determine how many stories can “fit” into
a Sprint
Stories are broken down to tasks and
assigned to individuals
Estimates may be modified if necessary
Tip: Some pre-preparation (story-
grooming) helps make the meeting short
Bhawani Nandan Prasad
Sprint backlog (planning template)
Story Task Owner Estimate
Utility to mark all positions to
market at end of trading day
Generate and test query to get
open positions
Sanjay 2
Determine formula for M2M
based on regulations
Shreya 4
Call web service to custodial
services for margin calls
Kapil 8
Email notifications to account
owners about margin position
Manish 2
Write and execute unit tests Sanjay 8
Test story end-to-end Murali 16
Upgrade server to JRE 1.6 Changes to the build system
and installer
Larry 8
Try out latest patch of JRE 1.6
to make sure it works
Gaurav 16
Limited regression testing Alex 24
Bhawani Nandan Prasad
No changes during a sprint!
 Once team has committed, no changes can be
made to the Sprint deliverables
Details will emerge during Sprint, but no new work
or substantially changed work
 No Changes to Sprint Duration either
Sprint ends on planned date whether has
completed its commitment or not
 The Product Owner can …
Change the Product backlog before the next Sprint
Terminate a Sprint (used very rarely)
Bhawani Nandan Prasad
The team
Backlog
Item
Priority
Product
Owner
Inputs from Customers,
Team, Execs, Support,
etc.
Team
Sprint Backlog
Sprint Planning
Meeting
Sprint
1-4
weeks
Finished
Deliverables
Sprint
Review
Sprint
Retrospective
Scrum Master
Daily
Standup
Once agreed, Sprint end date &
deliverables do NOT change
The team!
 Usually 7 + or – 2
 As low as 3 or as high as 15
 Resources can be shared (but ideally should not be)
 Can change between Sprints (but ideally shouldn’t)
 Can be distributed (but better when co-located)
 Is “cross-functional”
 Has all the skills necessary to produce another increment of
“potentially shippable” product
 Is “self-managing”
 Is empowered enough to do whatever it takes to produce the
potentially shippable product, within organizational constraints
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Daily Standup Meeting
Backlog
Item
Priority
Product
Owner
Inputs from Customers,
Team, Execs, Support,
etc.
Team
Sprint Backlog
Sprint Planning
Meeting
Sprint
1-4
weeks
Finished
Deliverables
Sprint
Review
Sprint
Retrospective
Scrum Master
Daily
Standup
Once agreed, Sprint end date &
deliverables do NOT change
Bhawani Nandan Prasad
Daily standup meetings
 Ground-rules
Every weekday
Whole team attends
Everyone stands
15 minutes or less
 Everyone reports three things
What was able to accomplish since last meeting
What will try to accomplish since by next meeting
What is blocking me
 No discussion, conversation until end of meeting
Role of testing/QA in Scrum
No separate QA team
Quality is everyone’s responsibility
One team that is responsible for the
product delivery
No more adversarial relationship between Dev
and QA
QA is lot tougher with Agile
Near releasable quality each Sprint is a huge
challenge
Bhawani Nandan Prasad
Testing best practices
Continuous testing and regression
Automate as much testing as possible
Testers to participate in story elaboration
and estimation
Test early and test often
Close coordination between Developer and
Tester needed
Move towards “test driven development”
Bhawani Nandan Prasad
Test-Driven Development
Never write a single line of code until there
is a failed automated test
How to do it?
Design: Figure out what you want to do
Test: Write a test to express the design (it
should FAIL)
Implement: Write the code
Test again: Now the test should pass
Bhawani Nandan Prasad
Test frameworks/tools for TDD
 Xunit
 Junit (http://junit.org)
 cppunit (http://cppunit.sourceforge.net)
 Ruby
 PHPunit
 Jsunit
 TAP (Test Anything Protocol)
 http://testanything.org
 Other test libraries
 e.g. http://opensourcetesting.org
 Use code coverage tools (e.g. Clover, Emma, Cobertura)
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Orderly closure of Sprints
Backlog
Item
Priority
Product
Owner
Inputs from Customers,
Team, Execs, Support,
etc.
Team
Sprint Backlog
Sprint Planning
Meeting
Sprint
1-4
weeks
Finished
Deliverables
Sprint
Review
Sprint
Retrospective
Scrum Master
Daily
Standup
Once agreed, Sprint end date &
deliverables do NOT change
Bhawani Nandan Prasad
Sprint review
Purpose of Sprint Review
Demo (not just slides) what the team has built
Generate feedback which Product Owner can
incorporate in the product backlog
Decide about “release” of the builds to the
stakeholders (alpha, beta, etc.)
Attended by Product Owner, Managers,
Scrum Master and Team
Usually lasts 2 Hrs
Sprint “done” criteria
 Software with all features work as defined by the
user story
 All QA testing for completed features is done
with no pending defects
Regression tests pass
 All documentation is completed
 Planned stories demonstrated to the Product
Owner, Customer and other stakeholders
Bhawani Nandan Prasad
What happens if Done criteria are not
met?
Incomplete stories move to the backlog
and prioritized again before the next Sprint
Retrospective to determine why the plan
commitment was not met
Under no circumstances can you “extend”
a Sprint!
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Sprint retrospective
 What it is?
1-2 Hr meeting followed by each Sprint Review/Demo
Attended by Product Owner, Scrum Master, Team
What’s working and what could work better
 Why does Retrospective matter
Accelerate visibility
Accelerate actions to improve
It’s a key mechanism of continuous improvements
(Inspect & Adopt)
Bhawani Nandan Prasad
How to make retrospectives effective
Have fun (e.g. bring in food, recognize star
performers from the previous sprint)
One person facilitates (Scrum Master)
Do not stifle opinion – collect all inputs
Arrive at few (2-3) things to change
Follow up!
Assign specific actions
Token penalty if improvements are repeated!
Bhawani Nandan Prasad
Engineering best-practices
Continuous integration: “Automated”
nightly builds
Mandatory code reviews (integrated with
code check-ins) and unit tests
Automated testing:
Sanity tests, executed daily
Regression tests, executed per iteration
Test-driven development
Bhawani Nandan Prasad
Wrapping up the release!
 Once the work required for the release is done
Final readiness checks for a “release”
 Can be preceded by one or more “hardening”
sprints
No new features added during hardening
Focus on fixing bugs, packaging, regression testing,
performance testing, etc.
Hardening sprints can be split across the release (need
not all be at the end)
Resist temptation to bank on hardening sprints to do
required bug fixes – it quickly turns into waterfall in
disguise
Release “done” criteria
 Customer acceptance received
 Beta feedback incorporated
 Release documentation (e.g. Release Notes, Read me
First, etc.) is completed
 Non-functional requirements (e.g. Performance,
Usability, etc.) are tested and validated
 Regulatory and compliance requirements are met (e.g.
Section 508, ECCN, License agreements, etc.)
 All planned integrations with other products are tested
and working
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Release retrospective
 What it is?
A retrospective session for an entire release
To draw lessons from the project and use for the future
Bring an orderly closure to the activities of a release
 How to make it effective?
Bring in food!
Do some reward and recognition
Preferably bring an external facilitator
Run like a brainstorming session to generate ideas
Use mute mapping to prioritize ideas generated
Summary
 Agile teams must master the art of working in
small increments and delivering quickly
 Good engineering practices are of paramount
importance
 QA must be built into the development process –
automated testing is indispensable
 If we are able to delivery early, we create value
faster, and by getting feedback continuously, we
are better able to adapt to the changing
environment
Bhawani Nandan Prasad
Bhawani Nandan Prasad
Thank You

Mais conteúdo relacionado

Mais procurados

Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle ModelJ.T.A.JONES
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementAbdullah Khan
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software DevelopmentRaghav Seth
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and ToolsNaresh Gajuveni
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLCAdeel Rasheed
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentTathagat Varma
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process IntroductionNguyen Hai
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) ModelDamian T. Gordon
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologieselvinefendi
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentationgihanlsw
 

Mais procurados (20)

Agile Metrics
Agile MetricsAgile Metrics
Agile Metrics
 
Software Development Life Cycle Model
Software Development Life Cycle ModelSoftware Development Life Cycle Model
Software Development Life Cycle Model
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Methodology in Software Development
Agile Methodology in Software DevelopmentAgile Methodology in Software Development
Agile Methodology in Software Development
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 
Agile Methodology and Tools
Agile Methodology and ToolsAgile Methodology and Tools
Agile Methodology and Tools
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Software Development Life Cycle-SDLC
Software Development Life Cycle-SDLCSoftware Development Life Cycle-SDLC
Software Development Life Cycle-SDLC
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
Agile Process Introduction
Agile Process IntroductionAgile Process Introduction
Agile Process Introduction
 
Agile
Agile Agile
Agile
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 
Scrum ppt
Scrum pptScrum ppt
Scrum ppt
 
Sdlc
SdlcSdlc
Sdlc
 
SDLC
SDLCSDLC
SDLC
 
The Extreme Programming (XP) Model
The Extreme Programming (XP) ModelThe Extreme Programming (XP) Model
The Extreme Programming (XP) Model
 
Agile Software Development Methodologies
Agile Software Development MethodologiesAgile Software Development Methodologies
Agile Software Development Methodologies
 
Agile - Scrum Presentation
Agile - Scrum PresentationAgile - Scrum Presentation
Agile - Scrum Presentation
 

Destaque

Аналитики и UX
Аналитики и UXАналитики и UX
Аналитики и UXJulia Shamrey
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLCPaul Yang
 
Экономика и метрика проекта. Илья Красинский
Экономика и метрика проекта. Илья КрасинскийЭкономика и метрика проекта. Илья Красинский
Экономика и метрика проекта. Илья КрасинскийАртем Кудрявцев
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Denis Umnov
 
OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012DefCamp
 
Prototype
PrototypePrototype
PrototypeMR Z
 
Translating software with SDL Passolo
Translating software with SDL PassoloTranslating software with SDL Passolo
Translating software with SDL PassoloSDL Trados
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)ACM-KU
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Modelrputker
 
The spiral model
The  spiral  modelThe  spiral  model
The spiral modelphatcom10
 
Intro to Security in SDLC
Intro to Security in SDLCIntro to Security in SDLC
Intro to Security in SDLCTjylen Veselyj
 
Spiral model
Spiral modelSpiral model
Spiral modelkhuram22
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering) Badar Rameez. CH.
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing MethodologyGaya1985
 
RAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringRAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringUmeed Charity
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Alaa' Amr Amin
 

Destaque (20)

Аналитики и UX
Аналитики и UXАналитики и UX
Аналитики и UX
 
Agile & Secure SDLC
Agile & Secure SDLCAgile & Secure SDLC
Agile & Secure SDLC
 
Экономика и метрика проекта. Илья Красинский
Экономика и метрика проекта. Илья КрасинскийЭкономика и метрика проекта. Илья Красинский
Экономика и метрика проекта. Илья Красинский
 
sdlc
sdlc sdlc
sdlc
 
Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2Практические аспекты разработки ПО #2
Практические аспекты разработки ПО #2
 
OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012OWASP Overview of Projects You Can Use Today - DefCamp 2012
OWASP Overview of Projects You Can Use Today - DefCamp 2012
 
Prototype
PrototypePrototype
Prototype
 
Translating software with SDL Passolo
Translating software with SDL PassoloTranslating software with SDL Passolo
Translating software with SDL Passolo
 
Prototyping model
Prototyping modelPrototyping model
Prototyping model
 
Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)Spiral Model - Software Development Life Cycle (SDLC)
Spiral Model - Software Development Life Cycle (SDLC)
 
Presentation V Model
Presentation V ModelPresentation V Model
Presentation V Model
 
The spiral model
The  spiral  modelThe  spiral  model
The spiral model
 
Intro to Security in SDLC
Intro to Security in SDLCIntro to Security in SDLC
Intro to Security in SDLC
 
Spiral model
Spiral modelSpiral model
Spiral model
 
waterfall model
waterfall modelwaterfall model
waterfall model
 
V model Over View (Software Engineering)
V model Over View (Software Engineering) V model Over View (Software Engineering)
V model Over View (Software Engineering)
 
Scrum Testing Methodology
Scrum Testing MethodologyScrum Testing Methodology
Scrum Testing Methodology
 
V model in SDLC
V model in SDLCV model in SDLC
V model in SDLC
 
RAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software EngineeringRAD Model & Prototyping Of Software Engineering
RAD Model & Prototyping Of Software Engineering
 
Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)Software Development Life Cycle (SDLC)
Software Development Life Cycle (SDLC)
 

Semelhante a Agile sdlc

Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayHeidi Owens
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSibel Kuzgun AKIN
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyayPMI_IREP_TP
 
Startup Product Development
Startup Product DevelopmentStartup Product Development
Startup Product DevelopmentAaron Stannard
 
Agile Pmi 102108 Final
Agile Pmi 102108 FinalAgile Pmi 102108 Final
Agile Pmi 102108 Finalbmcglin
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationChef
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or FictionMatt Ganis
 
Agile Development
Agile DevelopmentAgile Development
Agile Developmentabdpse
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Harold van Heeringen
 
Agile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileAgile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileParaic Hegarty
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingUtkarsh Khare
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentThanh Nguyen
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxPerumalPitchandi
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderProduct School
 
Define and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements ComposerDefine and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements ComposerAlan Kan
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XPSemen Arslan
 

Semelhante a Agile sdlc (20)

Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool Essay
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Poor Man's Kanban
Poor Man's KanbanPoor Man's Kanban
Poor Man's Kanban
 
Presentation by lavika upadhyay
Presentation by lavika upadhyayPresentation by lavika upadhyay
Presentation by lavika upadhyay
 
Startup Product Development
Startup Product DevelopmentStartup Product Development
Startup Product Development
 
Agile Pmi 102108 Final
Agile Pmi 102108 FinalAgile Pmi 102108 Final
Agile Pmi 102108 Final
 
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology TransformationScaling Awesome - 10 Actionable Strategies for Technology Transformation
Scaling Awesome - 10 Actionable Strategies for Technology Transformation
 
Agile Methods: Fact or Fiction
Agile Methods: Fact or FictionAgile Methods: Fact or Fiction
Agile Methods: Fact or Fiction
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)Productivity measurement of agile teams (IWSM 2015)
Productivity measurement of agile teams (IWSM 2015)
 
Agile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and AgileAgile Tour Dublin 2013 - Product Lines and Agile
Agile Tour Dublin 2013 - Product Lines and Agile
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software Development
 
Agile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptxAgile and its impact to Project Management 022218.pptx
Agile and its impact to Project Management 022218.pptx
 
How to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate FounderHow to Best Develop a Product by PlateRate Founder
How to Best Develop a Product by PlateRate Founder
 
Define and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements ComposerDefine and Manage Requirements with IBM Rational Requirements Composer
Define and Manage Requirements with IBM Rational Requirements Composer
 
Agile dashboard
Agile dashboardAgile dashboard
Agile dashboard
 
Agile webinar pack (2)
Agile webinar pack (2)Agile webinar pack (2)
Agile webinar pack (2)
 
Agile Manifesto & XP
Agile Manifesto & XPAgile Manifesto & XP
Agile Manifesto & XP
 

Mais de Bhawani N Prasad

Understanding Robotic process automation by bhawani nandan prasad
Understanding Robotic process automation by bhawani nandan prasadUnderstanding Robotic process automation by bhawani nandan prasad
Understanding Robotic process automation by bhawani nandan prasadBhawani N Prasad
 
Apache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawaniApache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawaniBhawani N Prasad
 
Agile overview class for scrum masters
Agile overview class for scrum mastersAgile overview class for scrum masters
Agile overview class for scrum mastersBhawani N Prasad
 
Machine learning computer science by bhawani n prasad
Machine learning computer science by bhawani n prasadMachine learning computer science by bhawani n prasad
Machine learning computer science by bhawani n prasadBhawani N Prasad
 
What we can do in Retail analytics by bhawani nandanprasad
What we can do in Retail analytics by bhawani nandanprasadWhat we can do in Retail analytics by bhawani nandanprasad
What we can do in Retail analytics by bhawani nandanprasadBhawani N Prasad
 
Big data analytics bhawani nandan prasad
Big data analytics   bhawani nandan prasadBig data analytics   bhawani nandan prasad
Big data analytics bhawani nandan prasadBhawani N Prasad
 
Define enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadDefine enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadBhawani N Prasad
 
New IBM Information Server 11.3 - Bhawani Nandan Prasad
New IBM Information Server  11.3 - Bhawani Nandan PrasadNew IBM Information Server  11.3 - Bhawani Nandan Prasad
New IBM Information Server 11.3 - Bhawani Nandan PrasadBhawani N Prasad
 
Economic growth inequality across globe by bhawani nandan prasad
Economic growth inequality across globe  by bhawani nandan prasadEconomic growth inequality across globe  by bhawani nandan prasad
Economic growth inequality across globe by bhawani nandan prasadBhawani N Prasad
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadBhawani N Prasad
 
Agile project management tips and techniques
Agile project management tips and techniquesAgile project management tips and techniques
Agile project management tips and techniquesBhawani N Prasad
 
Cognos 10 upgrade migrate fixpack by bhawani nandan prasad
Cognos 10 upgrade migrate fixpack by bhawani nandan prasadCognos 10 upgrade migrate fixpack by bhawani nandan prasad
Cognos 10 upgrade migrate fixpack by bhawani nandan prasadBhawani N Prasad
 
Software development with scrum methodology bhawani nandan prasad
Software development with scrum methodology   bhawani nandan prasadSoftware development with scrum methodology   bhawani nandan prasad
Software development with scrum methodology bhawani nandan prasadBhawani N Prasad
 
Agile formanagers by-bhawaninandanprasad
Agile formanagers by-bhawaninandanprasadAgile formanagers by-bhawaninandanprasad
Agile formanagers by-bhawaninandanprasadBhawani N Prasad
 
Dsdm by bhawani nandanprasad
Dsdm by bhawani nandanprasadDsdm by bhawani nandanprasad
Dsdm by bhawani nandanprasadBhawani N Prasad
 

Mais de Bhawani N Prasad (20)

Understanding Robotic process automation by bhawani nandan prasad
Understanding Robotic process automation by bhawani nandan prasadUnderstanding Robotic process automation by bhawani nandan prasad
Understanding Robotic process automation by bhawani nandan prasad
 
Apache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawaniApache spark with akka couchbase code by bhawani
Apache spark with akka couchbase code by bhawani
 
Agile overview class for scrum masters
Agile overview class for scrum mastersAgile overview class for scrum masters
Agile overview class for scrum masters
 
Product Management
Product ManagementProduct Management
Product Management
 
Product Engineering
Product EngineeringProduct Engineering
Product Engineering
 
Machine learning computer science by bhawani n prasad
Machine learning computer science by bhawani n prasadMachine learning computer science by bhawani n prasad
Machine learning computer science by bhawani n prasad
 
PM conpetency skills
PM conpetency skillsPM conpetency skills
PM conpetency skills
 
What we can do in Retail analytics by bhawani nandanprasad
What we can do in Retail analytics by bhawani nandanprasadWhat we can do in Retail analytics by bhawani nandanprasad
What we can do in Retail analytics by bhawani nandanprasad
 
Big data analytics bhawani nandan prasad
Big data analytics   bhawani nandan prasadBig data analytics   bhawani nandan prasad
Big data analytics bhawani nandan prasad
 
Program management-steps
Program management-stepsProgram management-steps
Program management-steps
 
Define enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasadDefine enterprise integration strategy by industry leader bhawani nandanprasad
Define enterprise integration strategy by industry leader bhawani nandanprasad
 
New IBM Information Server 11.3 - Bhawani Nandan Prasad
New IBM Information Server  11.3 - Bhawani Nandan PrasadNew IBM Information Server  11.3 - Bhawani Nandan Prasad
New IBM Information Server 11.3 - Bhawani Nandan Prasad
 
Economic growth inequality across globe by bhawani nandan prasad
Economic growth inequality across globe  by bhawani nandan prasadEconomic growth inequality across globe  by bhawani nandan prasad
Economic growth inequality across globe by bhawani nandan prasad
 
Agile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasadAgile lifecycle handbook by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasad
 
Agile project management tips and techniques
Agile project management tips and techniquesAgile project management tips and techniques
Agile project management tips and techniques
 
Cognos 10 upgrade migrate fixpack by bhawani nandan prasad
Cognos 10 upgrade migrate fixpack by bhawani nandan prasadCognos 10 upgrade migrate fixpack by bhawani nandan prasad
Cognos 10 upgrade migrate fixpack by bhawani nandan prasad
 
Software development with scrum methodology bhawani nandan prasad
Software development with scrum methodology   bhawani nandan prasadSoftware development with scrum methodology   bhawani nandan prasad
Software development with scrum methodology bhawani nandan prasad
 
Agile formanagers by-bhawaninandanprasad
Agile formanagers by-bhawaninandanprasadAgile formanagers by-bhawaninandanprasad
Agile formanagers by-bhawaninandanprasad
 
Dsdm by bhawani nandanprasad
Dsdm by bhawani nandanprasadDsdm by bhawani nandanprasad
Dsdm by bhawani nandanprasad
 
Cmmi vs-agile
Cmmi vs-agileCmmi vs-agile
Cmmi vs-agile
 

Último

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Agile sdlc

  • 1. Bhawani Nandan Prasad Agile Software Development Life-cycle Bhawani Nandan Prasad
  • 2. Bhawani Nandan Prasad Objective To help you understand the principles of Agile software development and successfully implement the software development life-cycle on your projects
  • 3. Topics Agile primer Why Agile? Mapping Agile to SDLC activities Writing good requirements A typical iteration in Scrum Software engineering best practices Wrapping up releases Bhawani Nandan Prasad
  • 4. Why bother about Agile?  Israel Gat: Cutter Consortium:  “Agile can do to software development what internet did to computing”  “Agile is a train. Either you get on to it or you will be under it”  PMI research: Use of Agile has tripled from December 2008 to May 2011  Gartner: 80% of software development projects would use Agile by end of 2012  74% of IT professional surveyed had practiced Agile in some form or other; 55% for 2 years or more Copyright (c) Sandeep Shouche, CSM, PMP, PgMP, PMI-ACP 2012
  • 5. Bhawani Nandan Prasad Problems with Software Development  Excessively long “time to market” for products  Customer orientation is lacking  Cost of delivering software is too high  Poor productivity of teams  Too much “wasted work” to fix defects and rework designs  Software quality is poor  Ability to responding to change is low  Employee morale is low (and attrition rates are high!)  Project failure rate is too high  ~70% or more  Delivered ROI falls short of expectations
  • 6. Usage of features in a system Bhawani Nandan Prasad
  • 10. Bhawani Nandan Prasad Choosing Agile  • Are requirements for the finished project complete, clear and stable?  • Can the effort required to complete the project be easily predicted?  • Have you successfully completed previous projects similar to the one you’re about to start?  If you can answer “yes” to these questions, then a plan-driven process like the waterfall method is likely your best bet. Because answering “yes” to these questions indicates the project you’re about to start is predictable to a reasonable degree.  In short, If Project has three factors–urgency, complexity, and novelty - choose agile
  • 11. Bhawani Nandan Prasad Traditional Software Development Design Coding Testing DeployAdvantage: Logically sound Disadvantage: Assumes predictability! Analysis
  • 12. Bhawani Nandan Prasad Evolution of Agile  Iterative development, done in small incremental chunks, validating requirements at each step  Agile development evolved in mid-90’s – the word “Agile” was adopted in 2001  Has significant parallels with “Lean movement” in the manufacturing world  Is also similar to “spiral models”, except spiral iterations are longer and rely on “prototypes, where Agile emphasizes “working software”
  • 13. Bhawani Nandan Prasad Providing early value Value Realized Time Incremental delivery All-at-once Delivery
  • 14. Bhawani Nandan Prasad Agile Manifesto – Feb 2001 We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan That is, while there is value in the items on the right, we value the items on the left more Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas See http://www.agilemanifesto.org
  • 15. Bhawani Nandan Prasad Principles related to SDLC  Principle No.1: Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.  Break it up to deliver early and frequently  Principle No.2: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.  Do not be bureaucratic about change management, be flexible to absorb change
  • 16. Bhawani Nandan Prasad Principles related to SDLC  Principle No.3: Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.  Typical length of an iteration is 2 weeks to 2 months  Principle No.7: Working software is the primary measure of progress.  The output of each iteration must be “working software”  Principle No.9: Continuous attention to technical excellence and good design enhances agility.  Design is important, but design is “continuous” – not one time activity
  • 17. Agile Unified Process  Four project lifecycle phases  Inception  Elaboration  Construction  Transition  Six engineering disciplines  Business modeling, Requirements, Analysis and Design, Implementation, Test, Deployment  Three supporting disciplines  Environment, Configuration and Change management, Project management Bhawani Nandan Prasad
  • 18. Rational Unified Process (Continued) Bhawani Nandan Prasad
  • 19. Bhawani Nandan Prasad Scrum Basics Backlog Item Priority Product Owner Inputs from Customers, Team, Execs, Support, etc. Team Sprint Backlog Sprint Planning Meeting Sprint 1-4 weeks Finished Deliverables Sprint Review Sprint Retrospective Scrum Master Daily Standup Once agreed, Sprint end date & deliverables do NOT change
  • 20. Bhawani Nandan Prasad Product backlog  List of everything that could ever be of value to the business for the team to produce.  Defined in terms of “epics” and “user stories”  Ranked in order of priority Priority is a function of business value and risk  Product owner can make any changes they want before start of a Sprint / Sprint Planning meeting It can be addition of new items, changing or removing or existing items or re-ordering them  Ideally for 2 sprints items should be well defined
  • 21. Bhawani Nandan Prasad Example of Product Backlog Description Size Utility to mark all positions to market at end of trading day 20 Report on outstanding positions for SEBI filing 10 On-the-fly introduction of securities into intra-day trading 5 Upgrade server platform to JRE 1.6 5 Fix intermittent problem with index window flickering (Defect No.0002413) 10 Integrate Mark-to-market utility with trading system (execute every hour) 20  List of requirements in descending order of priority  Can be … Functional or non- functional Technical upgrades Significant bug-fixes
  • 22. Bhawani Nandan Prasad User Stories and Epics  Epic: High-level theme that combines a set of planned features or requirements Examples … Scalability improvements to handle processing rate of 100 transactions per second Usability improvements  User Story: A short description of a planned feature or requirement. Examples … Modify server code to support multi-threading Reduce the size of packets sent over Reduce number of clicks to checkout to 5 Support Section 508 recommendations
  • 23. Bhawani Nandan Prasad Epics and user stories Can include any or all of the following New features Modification or Deletion of existing features Bug-fixes to existing software Internal clean-up tasks like code re-factoring, support for new technologies, etc. Should all result in “adding value” to the customer!
  • 24. Bhawani Nandan Prasad User Stories Should be small Typically no more than 40 man hours of effort Should be deliverable as a unit (de- coupled or loosely coupled) Should be described in as much detail as is necessary to “validate successful completion” May contain child stories or tasks
  • 25. Writing good user stories  Example templates  As a [role], I can [feature] so that [reason]  E.g. As a account holder, I can check my balances online so that I can maintain daily balance  Use 3”X5” index cards (ensure that you don’t write too much)  Make it testable by writing acceptance criteria  Given [context] <and/or [some more context]> When [event] Then [outcome] <and/or [another outcome]  E.g. Given account balance is negative and no direct deposit is scheduled on the day when the account holder tries to withdraw money then the bank will deny the request and send the account holder an alert  Connect the dots by thinking of all possible scenarios  More references:  http://www.agilemodeling.com/artifacts/userStory.htm Bhawani Nandan Prasad
  • 26. Bhawani Nandan Prasad How to split storiesRef: Bill Wake’s “20 Ways to Split Stories”: http://xp123.com/xplor/xp0512/index.shtml The Big Picture  • Research vs. Action  If a story is too hard, one split is to spend some time researching solutions to it.  • Spike vs. Implementation  You can buy learning for the price of a spike (a focused, hands-on experiment on some aspect of the system).  A spike might last an hour, or a day, rarely longer.  • Main Flow vs. Alternate Flows  (Use case terminology.) The main flow - the basic happy path - is usually the one with the most value.  • Manual vs. Automated  If there's a manual process in place, it's easier to just use that for a while before throwing it away.  • Buy vs. Build  Sometimes, what you want already exists, and you can just buy it. For example, you might find a custom widget that costs a few hundred dollars. It might cost you many times that to develop yourself.  Other times, the "off-the-shelf" solution is a poor match for your reality, and the time you spent customizing it might have been better spent developing your own solution.
  • 27. Bhawani Nandan Prasad How to split stories User Experience  Batch vs. Online  A batch system doesn't have to interact directly with the user.  Single User vs. Multi-User  Keep concurrency, access control issues, etc. in abeyance for some time.  API-only vs. User Interface  It's easier to not have a user interface at all. For example, if you're testing your ability to connect to another system, the first cut might settle for a unit test calling the connection objects.  Generic UI vs. Customer UI  At one level, you can use basic widgets before you get fancy with their styles. To go even further, something like Naked Objects infers a default user interface from a set of objects.
  • 28. Bhawani Nandan Prasad 20 ways to split stories “Ilities”  • Static vs. Dynamic  It's easier to calculate something once than ensure it has the correct value every time its antecedents change.  • Ignore errors vs. handle errors  While it's less work to ignore errors, that doesn't mean you should swallow exceptions. Rather, the recovery code can be minimized.  • Transient vs. Persistent  Let's you get the objects right without the worries about changing the mapping of persisted data.  • Low fidelity vs. High fidelity  You can break some features down by quality of result. E.g., a digital camera could start as a 1-pixel black-and-white camera, then improve along several axes: 9 pixels, 256 pixels, 10,000 pixels; 3-bit color, 12-bit color, 24-bit color; 75% color accuracy, 90% color accuracy, 95% color accuracy." (William Pietri)  • Small scale vs. large scale  "A system that works for a few people for moderate data sets is a given. After that, each step is a new story. Don't forget the load tests!" (William Pietri)  • Unreliable vs. Reliable  "Perfect uptime is very expensive. Approach it incrementally, measuring as you go." (William Pietri)
  • 29. Bhawani Nandan Prasad Typical life-cycle in a Scrum World Repeated as long as it takes to create a releasable product High-level Roadmap For a Release
  • 30. Bhawani Nandan Prasad Release Planning  Aims at coming up with a “long-term roadmap”  What should happen during a release planning?  Prepare of a release roadmap with “epics” defined at high level  Estimate of what and how much can be accomplished in a release  Identify and tie up dependencies on external factors or events  Prepare a high-level project plan with milestones  Mode of release planning  Usually face-to-face, lasting up to a week  The entire team need not attend– key representatives should  Product Owner and optionally other stakeholders can attend  Advance preparation (understanding epics, priorities, dependencies, etc.) help this go faster
  • 31. Bhawani Nandan Prasad Sprints Backlog Item Priority Product Owner Inputs from Customers, Team, Execs, Support, etc. Team Sprint Backlog Sprint Planning Meeting Sprint 1-4 weeks Finished Deliverables Sprint Review Sprint Retrospective Scrum Master Daily Standup Once agreed, Sprint end date & deliverables do NOT change
  • 32. Bhawani Nandan Prasad Sprints!  Refers to an “iteration” Typically 1-4 weeks long  Produces an enhanced version of the software All engineering activities (Code, Unit Test, System, Regression test) must be completed within the Sprint Should be “near releasable quality”  A “release” or project contains multiple sprints As many as is necessary to create substantial “value” to the customer
  • 34. Bhawani Nandan Prasad Sprint Planning Meeting Backlog Item Priority Product Owner Inputs from Customers, Team, Execs, Support, etc. Team Sprint Backlog Sprint Planning Meeting Sprint 1-4 weeks Finished Deliverables Sprint Review Sprint Retrospective Scrum Master Daily Standup Once agreed, Sprint end date & deliverables do NOT change
  • 35. Bhawani Nandan Prasad Sprint planning meeting  Goal:  For the team to make good commitment around what it will deliver by the end of the Sprint  What’s a Good Commitment?  Clearly understood by all  Shared among team  Achievable without sacrificing quality  Achievable without sacrificing “sustainable pace” (heijunka!)  Attended by Team, Product owner, Scrum Master  Usually take 1-2 Hrs for each week of Sprint duration
  • 36. Bhawani Nandan Prasad Sprint Calendar - Example Mon Tues Wed Thurs Fri 3 4 5 6 7 10 Sprint Planning 11 First day of Sprint 12 13 14 17 18 19 20 Last day of Sprint 21 Review & Retrospective 24 25 26 27 28
  • 37. Bhawani Nandan Prasad How Sprint Planning should work Clarifying questions about stories asked Determine how many stories can “fit” into a Sprint Stories are broken down to tasks and assigned to individuals Estimates may be modified if necessary Tip: Some pre-preparation (story- grooming) helps make the meeting short
  • 38. Bhawani Nandan Prasad Sprint backlog (planning template) Story Task Owner Estimate Utility to mark all positions to market at end of trading day Generate and test query to get open positions Sanjay 2 Determine formula for M2M based on regulations Shreya 4 Call web service to custodial services for margin calls Kapil 8 Email notifications to account owners about margin position Manish 2 Write and execute unit tests Sanjay 8 Test story end-to-end Murali 16 Upgrade server to JRE 1.6 Changes to the build system and installer Larry 8 Try out latest patch of JRE 1.6 to make sure it works Gaurav 16 Limited regression testing Alex 24
  • 39. Bhawani Nandan Prasad No changes during a sprint!  Once team has committed, no changes can be made to the Sprint deliverables Details will emerge during Sprint, but no new work or substantially changed work  No Changes to Sprint Duration either Sprint ends on planned date whether has completed its commitment or not  The Product Owner can … Change the Product backlog before the next Sprint Terminate a Sprint (used very rarely)
  • 40. Bhawani Nandan Prasad The team Backlog Item Priority Product Owner Inputs from Customers, Team, Execs, Support, etc. Team Sprint Backlog Sprint Planning Meeting Sprint 1-4 weeks Finished Deliverables Sprint Review Sprint Retrospective Scrum Master Daily Standup Once agreed, Sprint end date & deliverables do NOT change
  • 41. The team!  Usually 7 + or – 2  As low as 3 or as high as 15  Resources can be shared (but ideally should not be)  Can change between Sprints (but ideally shouldn’t)  Can be distributed (but better when co-located)  Is “cross-functional”  Has all the skills necessary to produce another increment of “potentially shippable” product  Is “self-managing”  Is empowered enough to do whatever it takes to produce the potentially shippable product, within organizational constraints Bhawani Nandan Prasad
  • 42. Bhawani Nandan Prasad Daily Standup Meeting Backlog Item Priority Product Owner Inputs from Customers, Team, Execs, Support, etc. Team Sprint Backlog Sprint Planning Meeting Sprint 1-4 weeks Finished Deliverables Sprint Review Sprint Retrospective Scrum Master Daily Standup Once agreed, Sprint end date & deliverables do NOT change
  • 43. Bhawani Nandan Prasad Daily standup meetings  Ground-rules Every weekday Whole team attends Everyone stands 15 minutes or less  Everyone reports three things What was able to accomplish since last meeting What will try to accomplish since by next meeting What is blocking me  No discussion, conversation until end of meeting
  • 44. Role of testing/QA in Scrum No separate QA team Quality is everyone’s responsibility One team that is responsible for the product delivery No more adversarial relationship between Dev and QA QA is lot tougher with Agile Near releasable quality each Sprint is a huge challenge Bhawani Nandan Prasad
  • 45. Testing best practices Continuous testing and regression Automate as much testing as possible Testers to participate in story elaboration and estimation Test early and test often Close coordination between Developer and Tester needed Move towards “test driven development” Bhawani Nandan Prasad
  • 46. Test-Driven Development Never write a single line of code until there is a failed automated test How to do it? Design: Figure out what you want to do Test: Write a test to express the design (it should FAIL) Implement: Write the code Test again: Now the test should pass Bhawani Nandan Prasad
  • 47. Test frameworks/tools for TDD  Xunit  Junit (http://junit.org)  cppunit (http://cppunit.sourceforge.net)  Ruby  PHPunit  Jsunit  TAP (Test Anything Protocol)  http://testanything.org  Other test libraries  e.g. http://opensourcetesting.org  Use code coverage tools (e.g. Clover, Emma, Cobertura) Bhawani Nandan Prasad
  • 48. Bhawani Nandan Prasad Orderly closure of Sprints Backlog Item Priority Product Owner Inputs from Customers, Team, Execs, Support, etc. Team Sprint Backlog Sprint Planning Meeting Sprint 1-4 weeks Finished Deliverables Sprint Review Sprint Retrospective Scrum Master Daily Standup Once agreed, Sprint end date & deliverables do NOT change
  • 49. Bhawani Nandan Prasad Sprint review Purpose of Sprint Review Demo (not just slides) what the team has built Generate feedback which Product Owner can incorporate in the product backlog Decide about “release” of the builds to the stakeholders (alpha, beta, etc.) Attended by Product Owner, Managers, Scrum Master and Team Usually lasts 2 Hrs
  • 50. Sprint “done” criteria  Software with all features work as defined by the user story  All QA testing for completed features is done with no pending defects Regression tests pass  All documentation is completed  Planned stories demonstrated to the Product Owner, Customer and other stakeholders Bhawani Nandan Prasad
  • 51. What happens if Done criteria are not met? Incomplete stories move to the backlog and prioritized again before the next Sprint Retrospective to determine why the plan commitment was not met Under no circumstances can you “extend” a Sprint! Bhawani Nandan Prasad
  • 52. Bhawani Nandan Prasad Sprint retrospective  What it is? 1-2 Hr meeting followed by each Sprint Review/Demo Attended by Product Owner, Scrum Master, Team What’s working and what could work better  Why does Retrospective matter Accelerate visibility Accelerate actions to improve It’s a key mechanism of continuous improvements (Inspect & Adopt)
  • 53. Bhawani Nandan Prasad How to make retrospectives effective Have fun (e.g. bring in food, recognize star performers from the previous sprint) One person facilitates (Scrum Master) Do not stifle opinion – collect all inputs Arrive at few (2-3) things to change Follow up! Assign specific actions Token penalty if improvements are repeated!
  • 54. Bhawani Nandan Prasad Engineering best-practices Continuous integration: “Automated” nightly builds Mandatory code reviews (integrated with code check-ins) and unit tests Automated testing: Sanity tests, executed daily Regression tests, executed per iteration Test-driven development
  • 55. Bhawani Nandan Prasad Wrapping up the release!  Once the work required for the release is done Final readiness checks for a “release”  Can be preceded by one or more “hardening” sprints No new features added during hardening Focus on fixing bugs, packaging, regression testing, performance testing, etc. Hardening sprints can be split across the release (need not all be at the end) Resist temptation to bank on hardening sprints to do required bug fixes – it quickly turns into waterfall in disguise
  • 56. Release “done” criteria  Customer acceptance received  Beta feedback incorporated  Release documentation (e.g. Release Notes, Read me First, etc.) is completed  Non-functional requirements (e.g. Performance, Usability, etc.) are tested and validated  Regulatory and compliance requirements are met (e.g. Section 508, ECCN, License agreements, etc.)  All planned integrations with other products are tested and working Bhawani Nandan Prasad
  • 57. Bhawani Nandan Prasad Release retrospective  What it is? A retrospective session for an entire release To draw lessons from the project and use for the future Bring an orderly closure to the activities of a release  How to make it effective? Bring in food! Do some reward and recognition Preferably bring an external facilitator Run like a brainstorming session to generate ideas Use mute mapping to prioritize ideas generated
  • 58. Summary  Agile teams must master the art of working in small increments and delivering quickly  Good engineering practices are of paramount importance  QA must be built into the development process – automated testing is indispensable  If we are able to delivery early, we create value faster, and by getting feedback continuously, we are better able to adapt to the changing environment Bhawani Nandan Prasad