SlideShare a Scribd company logo
Bhawani Nandan Prasad - IT process expert
Agile Software Development
with Scrum Methodology
Bhawani Nandan Prasad
IT Process Leadership
B.E. Computer Science, EMBA Senior
Management, MBA marketing
PMI-ACP, Scrum Master
7/28/2014
Bhawani Nandan Prasad - IT process expert
Objective
To help you understand the principles of
Agile software development and help you
practice the Scrum methodology to
ultimately improve your software
development experience
7/28/2014
Ground rules
This is YOUR workshop
Your time, my watch
Active participation is encouraged
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Session Plan
Day-1
 Getting Started
 Issues with Traditional
Methods
 Overview and history of
Agile
 Agile Principles
 Agile methodologies
 Scrum Methodology
 Scrum Overview
 Different roles in Scrum
 Implementing Scrum
Day-2
 Managing Scrum Projects
 Estimation
 Tracking
 Communication
 Best practices
 Engineering practices
 People practices
 Risks and challenges
 Myth v/s reality
 Putting into practice!
 Summary and Discussion
7/28/2014
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
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Problems with Software Development
 Excessively long “time to market” for products
 Customer orientation is lacking
 Over-engineered products
 ~60% features on a product are NEVER used!
 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
7/28/2014
Bhawani Nandan Prasad - IT process expert
Traditional Software Development
Design
Coding
Testing
DeployAdvantage: Logically sound
Disadvantage: Assumes predictability!
Analysis
7/28/2014
Bhawani Nandan Prasad - IT process expert
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”
7/28/2014
Bhawani Nandan Prasad - IT process expert
Providing early value
Value Realized
Time
Incremental delivery
All-at-once
Delivery
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
12 Principles of Agile
1. Our highest priority is to satisfy the customer
through early and continuous delivery of
valuable software.
2. Welcome changing requirements, even late in
development. Agile processes harness change
for the customer's competitive advantage.
3. Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.
7/28/2014
Bhawani Nandan Prasad - IT process expert
12 Principles of Agile (continued)
4. Business people and developers must work
together daily throughout the project.
5. Build projects around motivated individuals.
Give them the environment and support they
need, and trust them to get the job done.
6. The most efficient and effective method of
conveying information to and within a
development team is face-to-face
conversation.
7/28/2014
Bhawani Nandan Prasad - IT process expert
12 Principles of Agile (continued)
7. Working software is the primary measure
of progress.
8. Agile processes promote sustainable
development. The sponsors, developers,
and users should be able to maintain a
constant pace indefinitely.
9. Continuous attention to technical
excellence and good design enhances
agility.
7/28/2014
Bhawani Nandan Prasad - IT process expert
12 Principles of Agile (continued)
10.Simplicity--the art of maximizing the
amount of work not done--is essential.
11.The best architectures, requirements,
and designs emerge from self-organizing
teams.
12.At regular intervals, the team reflects on
how to become more effective, then
tunes and adjusts its behavior
accordingly.
7/28/2014
Bhawani Nandan Prasad - IT process expert
Agile Methodologies: Crystal Clear
Developed by Alistair Cockburn
Used by small teams (2-8 people) and
based on the following 3 core principles
Frequent delivery: Complete features and
deliver for pilot
Reflective improvement: Think about what is
not working and fix it (process or code)
Osmotic communication: Entire team is co-
located, everybody has the option of
participating or ignoring
7/28/2014
Bhawani Nandan Prasad - IT process expert
Agile Methodologies: Feature Driven
Development
 Developed by Jeff DeLuca with contributions
from a number of others
 Short phases that are completed “per feature”
 8 principles of FDD
Domain Object modeling to understand the domain
Developing by feature
Class “ownership”
Feature teams
Inspection
Regular builds
Configuration management
Visibility of reports (tracking and reporting)
7/28/2014
Bhawani Nandan Prasad - IT process expert
Agile methodologies: Dynamic Systems
Development Method
Iterative and incremental methodology
Time and resources are fixed; features are
variable
Requirements categorized and prioritized
according to the MoSCoW criteria
M: Must have
S: Should have
C: Could have
W: Wont have this time
7/28/2014
Bhawani Nandan Prasad - IT process expert
Agile methodologies: Extreme
Programming (XP)
 Emphasizes engineering practices to frequently
deliver high quality products
 Four basic values:
Simplicity
Communication
Feedback
Courage
 Recognized by practices like …
Test-driven development
Pair programming
Continuous integration and re-factoring
Coding standards
7/28/2014
Rational Unified Process
Based on the software product by Rational
Software – later acquired by IBM
6 Best practices
Develop iteratively, risk as the primary driver
Manage requirements
Employ components-based architecture
Model software visually
Continuously verify quality
Control changes
Bhawani Nandan Prasad - IT process expert7/28/2014
Rational Unified Process (continued)
 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 - IT process expert7/28/2014
Rational Unified Process (Continued)
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Scrum
Founded by Ken Schwaber, Mike Beedle,
Jeff Sutherland and others
Well known for simple, robust
management framework
Scrum is a rugby term where the team
huddles together before starting play
Very popular in the Agile community
7/28/2014
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Scrum Cheat sheet
7/28/2014 Bhawani Nandan Prasad - IT process expert
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
Product Owner
 Responsible for managing Project RoI and risk
 Responsible for consolidating all inputs into what
the team should produce and turn it into a
prioritized “backlog”
 Participate actively in the sprint planning and
sprint review meetings and is available to the
team throughout the sprint
 Determines release plan and communicates to
everybody
7/28/2014
Bhawani Nandan Prasad - IT process expert
Product Backlog
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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!
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
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 - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
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.
7/28/2014
Bhawani Nandan Prasad - IT process expert
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.
7/28/2014
Bhawani Nandan Prasad - IT process expert
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)
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
Sprint at a glance
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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)
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
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 - IT process expert7/28/2014
Self-Managed Teams Game!
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
The “Scrum Master” role
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
7/28/2014
Scrum Master
 What he SHOULD do
Serve the team
 Facilitate the team’s interactions
 Help remove the “blocks” surfaced by the team
Protect the team
 From outside interference or disturbance
 Resolve conflicts internally and externally
Support the team’s use of Scrum
 Organize and facilitate the Scrum rituals
 Audit the compliance with Scrum practices
Bhawani Nandan Prasad - IT process expert7/28/2014
Scrum Master
 What he SHOULD NOT do
MANAGE the team
DIRECT the team members
Assign tasks
“Drive the team”
Make decisions for the team
Over-rule team members
Direct product strategy or roadmap
Rule on technical issues
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
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 - IT process expert7/28/2014
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 - IT process expert7/28/2014
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 - IT process expert7/28/2014
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 - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
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 - IT process expert7/28/2014
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 - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
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)
7/28/2014
Bhawani Nandan Prasad - IT process expert
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!
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Bhawani Nandan Prasad - IT process expert
Typical life-cycle in a Scrum World
Repeated as long as it
takes to create a
releasable product
High-level Roadmap
For a Release
7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
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 - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
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
7/28/2014
Release planning exercise
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Managing Scrum Projects
Estimation
Tracking
Challenges
7/28/2014
Bhawani Nandan Prasad - IT process expert
Estimation
Types of estimation
Top-down
Ask the expert!
Analogous
Parametric
Bottom-up (Detailed)
Estimation is not necessarily more difficult
in Scrum, it is just that Scrum exposes bad
estimates quicker!
7/28/2014
Bhawani Nandan Prasad - IT process expert
Principles in estimating
Team (people who are actually working on
the stories) has the final word
Team can ask clarifying questions
Achieving precision in estimation is not so
important
Being “predictable” is!
7/28/2014
Bhawani Nandan Prasad - IT process expert
Ideal days
Number of days a story should take in
“ideal” circumstances
This allows for expected distractions (e.g.
normal worker only puts in 5 hours of
actual work in an 8 hour day)
Conversion of ideal days to actual days
depends upon …
Whether the resource is novice or experienced
How much distraction should be accounted for
7/28/2014
Bhawani Nandan Prasad - IT process expert
Story points
Story points
An analogous estimation technique
Establish a benchmark story that can be
considered as 1 story point
Estimate other stories “relative to” the
benchmark
Story points assigned are usually in modified
Fibonacci series: 1, 2, 3, 5, 8, 13, 20
Correlation of story points to man hours is
based on past experience
7/28/2014
Bhawani Nandan Prasad - IT process expert
Estimation game – Planning poker!
See www.planningpoker.com for details
and online version of the game
7/28/2014
Bhawani Nandan Prasad - IT process expert
Tracking Agile Projects
 Team should ideally manage progress – should
NOT be micro-managed
 Tracking mechanisms
Daily stand-up meetings
Scrum-of-Scrums
Burn-down chart (automated or manual)
Progress chart
7/28/2014
Bhawani Nandan Prasad - IT process expert
Burn-down chart
7/28/2014
Bhawani Nandan Prasad - IT process expert
Burn-down basics
Tracks number of hours (or days) worth of
work remaining in the Sprint
Should be a downward sloping curve,
hitting zero before the last day of a Sprint
Requires data to be updated daily (could
be done during or after Daily Stand-up
meetings)
7/28/2014
Bhawani Nandan Prasad - IT process expert
Progress chart
7/28/2014
Bhawani Nandan Prasad - IT process expert
Progress Chart
Set of post-it notes (one per story) that
move from Planned to In progress to
Completed
Posted on a board at a place where it is
visible to the entire team
Clearly define criteria for “Done” or
“Completed”
Primitive, but highly effective!
7/28/2014
Bhawani Nandan Prasad - IT process expert
Agile Metrics
 Velocity: Functionality delivered per iteration (story
points or number of stories or another measure)
 Defects per iteration (Absolute number or weighted
average)
 Other measures
 Standards violation per sprint
 Level of automation (% of automatable tests)
 Number of tests developed per story
 Stories planned/Stories delivered
 Scrum Maturity Model
 Use metrics to target the behavior you want to
encourage/eliminate!
7/28/2014
Bhawani Nandan Prasad - IT process expert
Stakeholders
 Anybody who “can impact” or “can be impacted
by” the project (for good or bad)
 Common stakeholders
 Managers (various levels!)
 Scrum Master
 Team
 Product Owner
 Customer and/or sponsor
 End user
 Subject Matter Experts
 Other political/vested interests
 Chicken or pig?
7/28/2014
Bhawani Nandan Prasad - IT process expert
Communication guidelines
Type of Stakeholder Opportunities to engage
Who only want to ensure smooth
progress (e.g. Managers)
Involve in demos
Give access to dashboards and
metrics
Who are “result-oriented” (e.g.
customer, end-user)
Involve in demos, early
acceptance testing
Customize visibility
Give decision authority!
Who are direct contributors (e.g.
Team)
Involve throughout the project
(transparency and Trust)
Who are observers (e.g. SME’s) Involve in demos
Ask for opinions, participation7/28/2014
Bhawani Nandan Prasad - IT process expert
Common (scrum-specific) risks
 Integration challenges on complex inter-
dependent projects
Daily/Periodic integrations
Call out dependencies early and plan
 Tendency to delay bug-fixes in a rush to
complete features
Use periodic “hardening” iterations
Define and follow “done” criteria for iterations
 Blocking issues derailing Sprints
Proactive tracking of blocking issues
Scrum Master to get Management attention
7/28/2014
Common (scrum-specific) risks
 Team follows Scrum principles, but Product Owner, Management,
Customer don’t!
 Educate everybody about Scrum (basic principles)
 Find a way to meet everybody’s needs
 Activities requiring lot of R&D/Design would never be done in one
Sprint
 Find a way to break into modular tasks/stories
 Make use of “Spike” stories
 Previously deployed software breaks and customer
escalations block new work
 Reserve time for “Support” activities
 Make a “Sustaining Engineering” team
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Let us put it into practice!
Agile Simulation!
7/28/2014
Bhawani Nandan Prasad - IT process expert
Tools used in Agile project management
 In principle, Agile likes simple, easy-to-use tools. Agile
projects can very well be managed using post-its,
spreadsheets, etc.
 Some of the other tools in vogue are …
 Rally (http://www.rallydev.com/)
 Mingle (http://studios.thoughtworks.com/mingle-agile-project-
management)
 Scrum Desk (http://www.scrumdesk.com)
 VersionOne (http://www.versionone.com/)
 Freeware tools
 X-planner (http://xplanner.org/index.html) (open-source)
 Sprintr (http://www.sprintr.com)
7/28/2014
Bhawani Nandan Prasad - IT process expert
“Managing” Agile projects
 What do Managers do on Scrum projects?
 A project manager or coordinator operating in a “matrix” environment
can be trained to morph into a Scrum Master
 Line managers (who have reporting authority) should …
 Provide “Functional” and/or “Technical” expertise – help the team solve
problems
 Help the team understand the larger context of the project
 “Protect” the team during prioritization battles
 Foster the right “culture” in the team – team metrics over individual
 Represent the team at external forums
 Be risk managers for the projects
 Administer rewards and recognition!
 Focus on “What” to do (portfolio decisions) rather than “How”
 Additional reading: http://www.infoq.com/articles/scrum-
management-deemer
7/28/2014
Applying Agile on Maintenance and
Enhancement projects
 Ask yourself these questions:
 Can you define a clear, prioritized backlog?
 Can you estimate your “defect fixes” with reasonable accuracy?
 If the answers to both is YES, then you can apply Agile
techniques
 Provide a larger buffer for uncertainties
 References:
 http://www.linkedin.com/answers/product-management/product-
design/product-design/PRM_PDS_PDG/166734-863751
 http://agileworld.blogspot.com/2007/04/applying-agilescrum-
practices-in.html
Bhawani Nandan Prasad - IT process expert7/28/2014
Agile in RFP responses
 Advantages you can highlight to your customer:
Customers get early visibility (potentially an alpha
drop every few weeks!)
Customers get nearly infinite capacity to change
requirements (in between Sprints)
 But you must forewarn them that:
You expect much more involvement from the
“business” (directly or through Product Owner)
They cannot expect instant gratification on change
requests
The team must be allowed to “self-manage”
Bhawani Nandan Prasad - IT process expert7/28/2014
Agile in Fixed Price projects
 In the event of a change in scope, you could
either –
Add Sprints to your release/project (additional cost)
Trade one feature for another (re-prioritize) at no cost
to the customer
 In a nutshell, Change Management process
would work the same way as before
But you would get much more flexibility to absorb
change
Bhawani Nandan Prasad - IT process expert7/28/2014
Agile in Distributed Teams
Same “best practices” that work on all
distributed teams
Cultural exchange/sensitivity
Team pages with pictures
Invest in collaboration tools (Webex,
Livemeetings, Skype, Video conferences, etc.)
Schedule Scrum rituals to suit everybody’s
timings – if necessary, share the pain!
Bhawani Nandan Prasad - IT process expert7/28/2014
Parallels of Agile with Lean
5 Principles of Lean
Specify the value
Identify the value stream (what creates value)
Create Flow
Manage using “pull” based systems (Kanban)
Strive to achieve perfection
Bhawani Nandan Prasad - IT process expert7/28/2014
Basic tenets of Lean
 Reduce waste/re-work, by …
Avoiding production of items not needed
Keeping minimum inventory
Preventing unnecessary processing
Preventing unnecessary movement of people
Preventing unnecessary transport of goods
Reducing waiting time
Not producing anything that does not meet a customer
need
Bhawani Nandan Prasad - IT process expert7/28/2014
Kanban v/s Agile
 Kanban is actually a system for process control
Invented by Taichi Ohno at Toyota (>50 years ago)
 Principles of Kanban:
It is a “pull based system”
There is only a small “buffer” in front of each
processing step
The system is continuously improved by “Kaizen”
 Some teams use a Kanban system on
software projects to maintain a constant flow of
items through the software life-cycle
Bhawani Nandan Prasad - IT process expert7/28/2014
Kanban v/s Agile
Kanban emphasizes “flow” rather than
iterations
Work done immediately reduces “induced
waste”
Focus on time and reducing delays
Time from getting information till we need it
(e.g. requirements)
Time from making an error to fix it
Time from needing information and getting it
Bhawani Nandan Prasad - IT process expert7/28/2014
Cycle time
Bhawani Nandan Prasad - IT process expert
Request
0.5
Approve
0.1
Requirements
60
Signoff
1
Analyze
40
Design
40
Review
2
Code
80
Test
40
Deploy
3
80 8080 80
40
80
808080
20% rework65% rework
Actual time spent = 0.5+0.1+60+1+40+40+2+(0.2*(40+2))+80+40+0.65*(80+40)+3 = 353
Elapsed time = 353+80+80+80+80+80+2*40+80+2*80+80 = 1173
Process cycle efficiency = 353/1173 = 30%
7/28/2014
Kanban Board
Bhawani Nandan Prasad - IT process expert
Approved Under
review
Ready
For
Dev
Analysis
Ready
For
Design
Design
Ready
For
Code
Coding
Ready
For
Test
Test Ready
For
Deploy
Deploy
7/28/2014
Agile certifications: Certified Scrum
Master
 Scrum Alliance (www.scrumalliance.org): Offers Certified
Scrum Master and Certified Scrum Product Owner
 Requirements
 Attend a Scrum training given by a “Certified Scrum Trainer”
 Costs between $500-$1000
 Scrum Trainer submits application
 Pass an online evaluation
 Renew it every 2 years
 For more details see:
http://www.scrumalliance.org/pages/faq_training_and_ce
rtification
Bhawani Nandan Prasad - IT process expert7/28/2014
Agile certifications: Professional
Scrum Master
Launched by Ken Schwaber
www.scrum.org
Professional Scrum Master (2 levels)
Also Professional Scrum Product Owner (2
levels) and Professional Scrum Developer
Open to all (pass assessments at 85%
passing mark)
Scrum.org also offers trainings
$100 for Level-1 and $500 for Level-2
Bhawani Nandan Prasad - IT process expert7/28/2014
Agile certifications: PMI – Agile
Certified Professional
 Offered by Project Management Institute (www.pmi.org)
 Costs $435 (members) and $495 (non-members)
 Membership $129
 Requirements
 1 year of General Project Management experience and 8 months
of Agile Project management experience
 21 hours training required
 Assessment (100 multiple choice questions)
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Important links
Scrum Alliance
www.scrumalliance.org
Ken Schwaber’s site on Scrum
www.scrum.org
Agile references
www.agilealliance.org
www.agilebok.org
http://agile.vc.pmi.org/Public/Home.aspx
7/28/2014
To sum it up!
Advantages of Agile
 Helps to reduce “waste”
by always focusing on
highest priority items
 Enforces disciplined
change management,
while greatly enhancing
ability to absorb changes
 Enhances “visibility” into
the development process
and improves productivity
Disadvantages of Agile
 Some teams and some
people will not like it
 Partial or haphazard
implementation of Agile
will makes things worse
than before!
 It will not resolve your
engineering problems –
but it will make it visible
sooner!
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Risk Management in Agile
Risk: An “uncertain” event that may impact
an expected outcome for good or bad
Agile has in-built risk management
mechanism because it will make things
visible sooner!
Facets of risk events
Probability
Impact
Response
7/28/2014
Transforming to Agile
 Must
 If Waterfall is working for you, do not use Scrum – Ken
Schwaber!
 Understand what you want to get out of Agile and measure what
you are getting
 Get customer and senior management buy-in
 Good to do
 Education for key roles: Scrum masters, Product Owners and
also for General Managers
 Get a coach/mentor, join communities
 Some people/teams will never be comfortable – do not force
them!
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Sample risk register
7/28/2014
Managing large/integrated teams
Multiple teams working on the same
product or application
Split in a way that each is at least
somewhat de-coupled from each other
Each team should be cross-functional
Manage dependencies and integrations
carefully
Scrum of Scrums
Product coordination teams
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Scrum-of-scrums
Useful in situations where multiple scrum
teams are working for a single or
integrated set of projects
Representative from each Scrum attends
SoS focuses on the “inter-dependencies”
SoS need not be daily
Frequency depends on the nature of the
dependencies
7/28/2014
Product coordination team
Identify few (2 or 3) people whose job is to
coordinate across teams
Opportunities to coordinate
High priority epics or stories that require
multiple teams to work on
Technical dependencies
Ensuring consistency and uniformity of design
Coordination may be a full-time or part-time role
Bhawani Nandan Prasad - IT process expert7/28/2014
Which methodology is best?
 RUP is a pretty good framework for enterprise, large
scale projects with a high level of complexity and inter-
dependencies
 if you can afford to buy their tools 
 FDD is good if you are big on OO methodology
 Crystal Clear is good if you have co-location
 XP is good if your challenge is engineering practices
 Scrum is good for a robust management framework –
and is by far the most popular!
 There isn’t a right or wrong methodology – use one that
works for you!
Bhawani Nandan Prasad - IT process expert7/28/2014
Bhawani Nandan Prasad - IT process expert
Thank You
bhawani_nandan@yahoo.com
Certified scrum Master 
Product Owner
7/28/2014

More Related Content

PPTX
What agile teams think about agile principles
PPTX
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
PDF
Pdu session challenges in agile
PPTX
An Agile Development Primer
PDF
Value Driven Development by Dave Thomas
PPTX
Agile Values, Principles and Practices
PDF
12 principles for Agile Development
PPT
Sustainable SW Development
What agile teams think about agile principles
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Pdu session challenges in agile
An Agile Development Primer
Value Driven Development by Dave Thomas
Agile Values, Principles and Practices
12 principles for Agile Development
Sustainable SW Development

What's hot (20)

PPTX
Agile principles & culture
KEY
The Agile Manifesto (and a brief history lesson)
PDF
Introduction to Agile Values & Principles
PPTX
Scrum Master Interview Questions SlideShare
PPT
Building an Agile framework that fits your organisation
PDF
Agile Project LifeCycle
ODP
Intro to Agile and Lean Software Development
PDF
Overselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
PDF
Agile project management using scrum
PDF
Agile Methodology for WordPress Development
DOCX
PMI-ACP Study Guide
ODP
Agile Software Development - Making Programming Fun Again
PPTX
Integrating User Centered Design with Agile Development
PPT
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
PDF
Pragmatic Architecture for Agile Teams
PPTX
Agile Fundamentals
PPTX
A Deep Look at Agile Certifications
PPTX
Agile manifesto
PPT
Agile software development slide show
PDF
TDWI STL 20140613 Agile - Paul Holway
Agile principles & culture
The Agile Manifesto (and a brief history lesson)
Introduction to Agile Values & Principles
Scrum Master Interview Questions SlideShare
Building an Agile framework that fits your organisation
Agile Project LifeCycle
Intro to Agile and Lean Software Development
Overselling Agile Certifications and Frameworks : Presented by Sridharan Vembu
Agile project management using scrum
Agile Methodology for WordPress Development
PMI-ACP Study Guide
Agile Software Development - Making Programming Fun Again
Integrating User Centered Design with Agile Development
Executive Presentation on Agile Project Management by Boardroom Metrics Inc.
Pragmatic Architecture for Agile Teams
Agile Fundamentals
A Deep Look at Agile Certifications
Agile manifesto
Agile software development slide show
TDWI STL 20140613 Agile - Paul Holway
Ad

Viewers also liked (9)

PDF
Sprint Review and Planning Template
PDF
Agile Development Process & Scrum
PDF
White Paper: Agile Web Development & The Scrum Process
PPTX
Scrum methodology
PDF
PPTX
Scrum and the agile development process
PDF
How to organize qa process in agile speed
PPTX
Agile Qa Framework Jacky Wu
PPTX
Understanding Roles on an Agile Project
Sprint Review and Planning Template
Agile Development Process & Scrum
White Paper: Agile Web Development & The Scrum Process
Scrum methodology
Scrum and the agile development process
How to organize qa process in agile speed
Agile Qa Framework Jacky Wu
Understanding Roles on an Agile Project
Ad

Similar to Software development with scrum methodology bhawani nandan prasad (20)

PPTX
PMI-Oslo chapter: PMI-ACP & Agile contracts
PPTX
Introduction to Agile and Lean Software Development
PPTX
Introduction to software development methodologies- Agile vs Waterfall
PDF
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
PPTX
Agile Project Management
PPTX
Agile overview
PPT
Agile Development
PDF
Agile dashboard
PDF
Rapid e learning
PPTX
Techniques for Keeping Distributed Retrospectives Effective and Fun
PDF
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
PDF
Failing with agile
PPTX
The Agile Method and AGILE ISD; how to use each to improve your training program
PPT
Agile Development Practice
PDF
Riding the Agile Wave
ODP
Agile Injection, Varberg
DOCX
Presentation by lavika upadhyay
PDF
Agile formanagers by-bhawaninandanprasad
PDF
How UX Research Fits Into an Agile Development Process
PPT
Overview of project planning
PMI-Oslo chapter: PMI-ACP & Agile contracts
Introduction to Agile and Lean Software Development
Introduction to software development methodologies- Agile vs Waterfall
Thailand SPIN Day: CMMI vs.Agile มิตร ศัตรู หรือความไม่รู้ต่างที่หลอกเรา (29/...
Agile Project Management
Agile overview
Agile Development
Agile dashboard
Rapid e learning
Techniques for Keeping Distributed Retrospectives Effective and Fun
ANIn Coimbatore July 2023 | Business Agility in Data Science by Dr.Selvaraaju...
Failing with agile
The Agile Method and AGILE ISD; how to use each to improve your training program
Agile Development Practice
Riding the Agile Wave
Agile Injection, Varberg
Presentation by lavika upadhyay
Agile formanagers by-bhawaninandanprasad
How UX Research Fits Into an Agile Development Process
Overview of project planning

More from Bhawani N Prasad (20)

PPTX
Understanding Robotic process automation by bhawani nandan prasad
PDF
Apache spark with akka couchbase code by bhawani
PDF
Agile overview class for scrum masters
PPTX
Product Management
PPTX
Product Engineering
PDF
Machine learning computer science by bhawani n prasad
DOCX
PM conpetency skills
PDF
What we can do in Retail analytics by bhawani nandanprasad
PDF
Big data analytics bhawani nandan prasad
PDF
Program management-steps
PDF
Define enterprise integration strategy by industry leader bhawani nandanprasad
PDF
New IBM Information Server 11.3 - Bhawani Nandan Prasad
PDF
Economic growth inequality across globe by bhawani nandan prasad
PDF
Agile lifecycle handbook by bhawani nandan prasad
PDF
Agile project management tips and techniques
DOCX
Cognos 10 upgrade migrate fixpack by bhawani nandan prasad
PDF
Dsdm by bhawani nandanprasad
PDF
Cmmi vs-agile
PDF
Agile sdlc
PDF
Agile project management
Understanding Robotic process automation by bhawani nandan prasad
Apache spark with akka couchbase code by bhawani
Agile overview class for scrum masters
Product Management
Product Engineering
Machine learning computer science by bhawani n prasad
PM conpetency skills
What we can do in Retail analytics by bhawani nandanprasad
Big data analytics bhawani nandan prasad
Program management-steps
Define enterprise integration strategy by industry leader bhawani nandanprasad
New IBM Information Server 11.3 - Bhawani Nandan Prasad
Economic growth inequality across globe by bhawani nandan prasad
Agile lifecycle handbook by bhawani nandan prasad
Agile project management tips and techniques
Cognos 10 upgrade migrate fixpack by bhawani nandan prasad
Dsdm by bhawani nandanprasad
Cmmi vs-agile
Agile sdlc
Agile project management

Recently uploaded (20)

PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
sap open course for s4hana steps from ECC to s4
PDF
Network Security Unit 5.pdf for BCA BBA.
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
cuic standard and advanced reporting.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
The Rise and Fall of 3GPP – Time for a Sabbatical?
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
MYSQL Presentation for SQL database connectivity
Unlocking AI with Model Context Protocol (MCP)
sap open course for s4hana steps from ECC to s4
Network Security Unit 5.pdf for BCA BBA.
The AUB Centre for AI in Media Proposal.docx
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
cuic standard and advanced reporting.pdf
Review of recent advances in non-invasive hemoglobin estimation
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Machine learning based COVID-19 study performance prediction
Mobile App Security Testing_ A Comprehensive Guide.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton

Software development with scrum methodology bhawani nandan prasad

  • 1. Bhawani Nandan Prasad - IT process expert Agile Software Development with Scrum Methodology Bhawani Nandan Prasad IT Process Leadership B.E. Computer Science, EMBA Senior Management, MBA marketing PMI-ACP, Scrum Master 7/28/2014
  • 2. Bhawani Nandan Prasad - IT process expert Objective To help you understand the principles of Agile software development and help you practice the Scrum methodology to ultimately improve your software development experience 7/28/2014
  • 3. Ground rules This is YOUR workshop Your time, my watch Active participation is encouraged Bhawani Nandan Prasad - IT process expert7/28/2014
  • 4. Bhawani Nandan Prasad - IT process expert Session Plan Day-1  Getting Started  Issues with Traditional Methods  Overview and history of Agile  Agile Principles  Agile methodologies  Scrum Methodology  Scrum Overview  Different roles in Scrum  Implementing Scrum Day-2  Managing Scrum Projects  Estimation  Tracking  Communication  Best practices  Engineering practices  People practices  Risks and challenges  Myth v/s reality  Putting into practice!  Summary and Discussion 7/28/2014
  • 5. 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 Bhawani Nandan Prasad - IT process expert7/28/2014
  • 6. Bhawani Nandan Prasad - IT process expert Problems with Software Development  Excessively long “time to market” for products  Customer orientation is lacking  Over-engineered products  ~60% features on a product are NEVER used!  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 7/28/2014
  • 7. Bhawani Nandan Prasad - IT process expert Traditional Software Development Design Coding Testing DeployAdvantage: Logically sound Disadvantage: Assumes predictability! Analysis 7/28/2014
  • 8. Bhawani Nandan Prasad - IT process expert 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” 7/28/2014
  • 9. Bhawani Nandan Prasad - IT process expert Providing early value Value Realized Time Incremental delivery All-at-once Delivery 7/28/2014
  • 10. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 11. Bhawani Nandan Prasad - IT process expert 12 Principles of Agile 1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. 2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. 3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. 7/28/2014
  • 12. Bhawani Nandan Prasad - IT process expert 12 Principles of Agile (continued) 4. Business people and developers must work together daily throughout the project. 5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. 6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. 7/28/2014
  • 13. Bhawani Nandan Prasad - IT process expert 12 Principles of Agile (continued) 7. Working software is the primary measure of progress. 8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. 9. Continuous attention to technical excellence and good design enhances agility. 7/28/2014
  • 14. Bhawani Nandan Prasad - IT process expert 12 Principles of Agile (continued) 10.Simplicity--the art of maximizing the amount of work not done--is essential. 11.The best architectures, requirements, and designs emerge from self-organizing teams. 12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. 7/28/2014
  • 15. Bhawani Nandan Prasad - IT process expert Agile Methodologies: Crystal Clear Developed by Alistair Cockburn Used by small teams (2-8 people) and based on the following 3 core principles Frequent delivery: Complete features and deliver for pilot Reflective improvement: Think about what is not working and fix it (process or code) Osmotic communication: Entire team is co- located, everybody has the option of participating or ignoring 7/28/2014
  • 16. Bhawani Nandan Prasad - IT process expert Agile Methodologies: Feature Driven Development  Developed by Jeff DeLuca with contributions from a number of others  Short phases that are completed “per feature”  8 principles of FDD Domain Object modeling to understand the domain Developing by feature Class “ownership” Feature teams Inspection Regular builds Configuration management Visibility of reports (tracking and reporting) 7/28/2014
  • 17. Bhawani Nandan Prasad - IT process expert Agile methodologies: Dynamic Systems Development Method Iterative and incremental methodology Time and resources are fixed; features are variable Requirements categorized and prioritized according to the MoSCoW criteria M: Must have S: Should have C: Could have W: Wont have this time 7/28/2014
  • 18. Bhawani Nandan Prasad - IT process expert Agile methodologies: Extreme Programming (XP)  Emphasizes engineering practices to frequently deliver high quality products  Four basic values: Simplicity Communication Feedback Courage  Recognized by practices like … Test-driven development Pair programming Continuous integration and re-factoring Coding standards 7/28/2014
  • 19. Rational Unified Process Based on the software product by Rational Software – later acquired by IBM 6 Best practices Develop iteratively, risk as the primary driver Manage requirements Employ components-based architecture Model software visually Continuously verify quality Control changes Bhawani Nandan Prasad - IT process expert7/28/2014
  • 20. Rational Unified Process (continued)  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 - IT process expert7/28/2014
  • 21. Rational Unified Process (Continued) Bhawani Nandan Prasad - IT process expert7/28/2014
  • 22. Bhawani Nandan Prasad - IT process expert Scrum Founded by Ken Schwaber, Mike Beedle, Jeff Sutherland and others Well known for simple, robust management framework Scrum is a rugby term where the team huddles together before starting play Very popular in the Agile community 7/28/2014
  • 23. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 24. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 25. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 26. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 27. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 28. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 29. Scrum Cheat sheet 7/28/2014 Bhawani Nandan Prasad - IT process expert
  • 30. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 31. Bhawani Nandan Prasad - IT process expert Product Owner  Responsible for managing Project RoI and risk  Responsible for consolidating all inputs into what the team should produce and turn it into a prioritized “backlog”  Participate actively in the sprint planning and sprint review meetings and is available to the team throughout the sprint  Determines release plan and communicates to everybody 7/28/2014
  • 32. Bhawani Nandan Prasad - IT process expert Product Backlog 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 7/28/2014
  • 33. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 34. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 35. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 36. Bhawani Nandan Prasad - IT process expert 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! 7/28/2014
  • 37. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 38. 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 - IT process expert7/28/2014
  • 39. Bhawani Nandan Prasad - IT process expert 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. 7/28/2014
  • 40. Bhawani Nandan Prasad - IT process expert 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. 7/28/2014
  • 41. Bhawani Nandan Prasad - IT process expert 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) 7/28/2014
  • 42. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 43. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 44. Bhawani Nandan Prasad - IT process expert Sprint at a glance 7/28/2014
  • 45. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 46. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 47. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 48. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 49. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 50. Bhawani Nandan Prasad - IT process expert 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) 7/28/2014
  • 51. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 52. 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 - IT process expert7/28/2014
  • 53. Self-Managed Teams Game! Bhawani Nandan Prasad - IT process expert7/28/2014
  • 54. Bhawani Nandan Prasad - IT process expert The “Scrum Master” role 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 7/28/2014
  • 55. Scrum Master  What he SHOULD do Serve the team  Facilitate the team’s interactions  Help remove the “blocks” surfaced by the team Protect the team  From outside interference or disturbance  Resolve conflicts internally and externally Support the team’s use of Scrum  Organize and facilitate the Scrum rituals  Audit the compliance with Scrum practices Bhawani Nandan Prasad - IT process expert7/28/2014
  • 56. Scrum Master  What he SHOULD NOT do MANAGE the team DIRECT the team members Assign tasks “Drive the team” Make decisions for the team Over-rule team members Direct product strategy or roadmap Rule on technical issues Bhawani Nandan Prasad - IT process expert7/28/2014
  • 57. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 58. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 59. 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 - IT process expert7/28/2014
  • 60. 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 - IT process expert7/28/2014
  • 61. 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 - IT process expert7/28/2014
  • 62. 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 - IT process expert7/28/2014
  • 63. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 64. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 65. 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 - IT process expert7/28/2014
  • 66. 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 - IT process expert7/28/2014
  • 67. Bhawani Nandan Prasad - IT process expert 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) 7/28/2014
  • 68. Bhawani Nandan Prasad - IT process expert 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! 7/28/2014
  • 69. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 70. Bhawani Nandan Prasad - IT process expert Typical life-cycle in a Scrum World Repeated as long as it takes to create a releasable product High-level Roadmap For a Release 7/28/2014
  • 71. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 72. 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 - IT process expert7/28/2014
  • 73. Bhawani Nandan Prasad - IT process expert 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 7/28/2014
  • 74. Release planning exercise Bhawani Nandan Prasad - IT process expert7/28/2014
  • 75. Bhawani Nandan Prasad - IT process expert Managing Scrum Projects Estimation Tracking Challenges 7/28/2014
  • 76. Bhawani Nandan Prasad - IT process expert Estimation Types of estimation Top-down Ask the expert! Analogous Parametric Bottom-up (Detailed) Estimation is not necessarily more difficult in Scrum, it is just that Scrum exposes bad estimates quicker! 7/28/2014
  • 77. Bhawani Nandan Prasad - IT process expert Principles in estimating Team (people who are actually working on the stories) has the final word Team can ask clarifying questions Achieving precision in estimation is not so important Being “predictable” is! 7/28/2014
  • 78. Bhawani Nandan Prasad - IT process expert Ideal days Number of days a story should take in “ideal” circumstances This allows for expected distractions (e.g. normal worker only puts in 5 hours of actual work in an 8 hour day) Conversion of ideal days to actual days depends upon … Whether the resource is novice or experienced How much distraction should be accounted for 7/28/2014
  • 79. Bhawani Nandan Prasad - IT process expert Story points Story points An analogous estimation technique Establish a benchmark story that can be considered as 1 story point Estimate other stories “relative to” the benchmark Story points assigned are usually in modified Fibonacci series: 1, 2, 3, 5, 8, 13, 20 Correlation of story points to man hours is based on past experience 7/28/2014
  • 80. Bhawani Nandan Prasad - IT process expert Estimation game – Planning poker! See www.planningpoker.com for details and online version of the game 7/28/2014
  • 81. Bhawani Nandan Prasad - IT process expert Tracking Agile Projects  Team should ideally manage progress – should NOT be micro-managed  Tracking mechanisms Daily stand-up meetings Scrum-of-Scrums Burn-down chart (automated or manual) Progress chart 7/28/2014
  • 82. Bhawani Nandan Prasad - IT process expert Burn-down chart 7/28/2014
  • 83. Bhawani Nandan Prasad - IT process expert Burn-down basics Tracks number of hours (or days) worth of work remaining in the Sprint Should be a downward sloping curve, hitting zero before the last day of a Sprint Requires data to be updated daily (could be done during or after Daily Stand-up meetings) 7/28/2014
  • 84. Bhawani Nandan Prasad - IT process expert Progress chart 7/28/2014
  • 85. Bhawani Nandan Prasad - IT process expert Progress Chart Set of post-it notes (one per story) that move from Planned to In progress to Completed Posted on a board at a place where it is visible to the entire team Clearly define criteria for “Done” or “Completed” Primitive, but highly effective! 7/28/2014
  • 86. Bhawani Nandan Prasad - IT process expert Agile Metrics  Velocity: Functionality delivered per iteration (story points or number of stories or another measure)  Defects per iteration (Absolute number or weighted average)  Other measures  Standards violation per sprint  Level of automation (% of automatable tests)  Number of tests developed per story  Stories planned/Stories delivered  Scrum Maturity Model  Use metrics to target the behavior you want to encourage/eliminate! 7/28/2014
  • 87. Bhawani Nandan Prasad - IT process expert Stakeholders  Anybody who “can impact” or “can be impacted by” the project (for good or bad)  Common stakeholders  Managers (various levels!)  Scrum Master  Team  Product Owner  Customer and/or sponsor  End user  Subject Matter Experts  Other political/vested interests  Chicken or pig? 7/28/2014
  • 88. Bhawani Nandan Prasad - IT process expert Communication guidelines Type of Stakeholder Opportunities to engage Who only want to ensure smooth progress (e.g. Managers) Involve in demos Give access to dashboards and metrics Who are “result-oriented” (e.g. customer, end-user) Involve in demos, early acceptance testing Customize visibility Give decision authority! Who are direct contributors (e.g. Team) Involve throughout the project (transparency and Trust) Who are observers (e.g. SME’s) Involve in demos Ask for opinions, participation7/28/2014
  • 89. Bhawani Nandan Prasad - IT process expert Common (scrum-specific) risks  Integration challenges on complex inter- dependent projects Daily/Periodic integrations Call out dependencies early and plan  Tendency to delay bug-fixes in a rush to complete features Use periodic “hardening” iterations Define and follow “done” criteria for iterations  Blocking issues derailing Sprints Proactive tracking of blocking issues Scrum Master to get Management attention 7/28/2014
  • 90. Common (scrum-specific) risks  Team follows Scrum principles, but Product Owner, Management, Customer don’t!  Educate everybody about Scrum (basic principles)  Find a way to meet everybody’s needs  Activities requiring lot of R&D/Design would never be done in one Sprint  Find a way to break into modular tasks/stories  Make use of “Spike” stories  Previously deployed software breaks and customer escalations block new work  Reserve time for “Support” activities  Make a “Sustaining Engineering” team Bhawani Nandan Prasad - IT process expert7/28/2014
  • 91. Bhawani Nandan Prasad - IT process expert Let us put it into practice! Agile Simulation! 7/28/2014
  • 92. Bhawani Nandan Prasad - IT process expert Tools used in Agile project management  In principle, Agile likes simple, easy-to-use tools. Agile projects can very well be managed using post-its, spreadsheets, etc.  Some of the other tools in vogue are …  Rally (http://www.rallydev.com/)  Mingle (http://studios.thoughtworks.com/mingle-agile-project- management)  Scrum Desk (http://www.scrumdesk.com)  VersionOne (http://www.versionone.com/)  Freeware tools  X-planner (http://xplanner.org/index.html) (open-source)  Sprintr (http://www.sprintr.com) 7/28/2014
  • 93. Bhawani Nandan Prasad - IT process expert “Managing” Agile projects  What do Managers do on Scrum projects?  A project manager or coordinator operating in a “matrix” environment can be trained to morph into a Scrum Master  Line managers (who have reporting authority) should …  Provide “Functional” and/or “Technical” expertise – help the team solve problems  Help the team understand the larger context of the project  “Protect” the team during prioritization battles  Foster the right “culture” in the team – team metrics over individual  Represent the team at external forums  Be risk managers for the projects  Administer rewards and recognition!  Focus on “What” to do (portfolio decisions) rather than “How”  Additional reading: http://www.infoq.com/articles/scrum- management-deemer 7/28/2014
  • 94. Applying Agile on Maintenance and Enhancement projects  Ask yourself these questions:  Can you define a clear, prioritized backlog?  Can you estimate your “defect fixes” with reasonable accuracy?  If the answers to both is YES, then you can apply Agile techniques  Provide a larger buffer for uncertainties  References:  http://www.linkedin.com/answers/product-management/product- design/product-design/PRM_PDS_PDG/166734-863751  http://agileworld.blogspot.com/2007/04/applying-agilescrum- practices-in.html Bhawani Nandan Prasad - IT process expert7/28/2014
  • 95. Agile in RFP responses  Advantages you can highlight to your customer: Customers get early visibility (potentially an alpha drop every few weeks!) Customers get nearly infinite capacity to change requirements (in between Sprints)  But you must forewarn them that: You expect much more involvement from the “business” (directly or through Product Owner) They cannot expect instant gratification on change requests The team must be allowed to “self-manage” Bhawani Nandan Prasad - IT process expert7/28/2014
  • 96. Agile in Fixed Price projects  In the event of a change in scope, you could either – Add Sprints to your release/project (additional cost) Trade one feature for another (re-prioritize) at no cost to the customer  In a nutshell, Change Management process would work the same way as before But you would get much more flexibility to absorb change Bhawani Nandan Prasad - IT process expert7/28/2014
  • 97. Agile in Distributed Teams Same “best practices” that work on all distributed teams Cultural exchange/sensitivity Team pages with pictures Invest in collaboration tools (Webex, Livemeetings, Skype, Video conferences, etc.) Schedule Scrum rituals to suit everybody’s timings – if necessary, share the pain! Bhawani Nandan Prasad - IT process expert7/28/2014
  • 98. Parallels of Agile with Lean 5 Principles of Lean Specify the value Identify the value stream (what creates value) Create Flow Manage using “pull” based systems (Kanban) Strive to achieve perfection Bhawani Nandan Prasad - IT process expert7/28/2014
  • 99. Basic tenets of Lean  Reduce waste/re-work, by … Avoiding production of items not needed Keeping minimum inventory Preventing unnecessary processing Preventing unnecessary movement of people Preventing unnecessary transport of goods Reducing waiting time Not producing anything that does not meet a customer need Bhawani Nandan Prasad - IT process expert7/28/2014
  • 100. Kanban v/s Agile  Kanban is actually a system for process control Invented by Taichi Ohno at Toyota (>50 years ago)  Principles of Kanban: It is a “pull based system” There is only a small “buffer” in front of each processing step The system is continuously improved by “Kaizen”  Some teams use a Kanban system on software projects to maintain a constant flow of items through the software life-cycle Bhawani Nandan Prasad - IT process expert7/28/2014
  • 101. Kanban v/s Agile Kanban emphasizes “flow” rather than iterations Work done immediately reduces “induced waste” Focus on time and reducing delays Time from getting information till we need it (e.g. requirements) Time from making an error to fix it Time from needing information and getting it Bhawani Nandan Prasad - IT process expert7/28/2014
  • 102. Cycle time Bhawani Nandan Prasad - IT process expert Request 0.5 Approve 0.1 Requirements 60 Signoff 1 Analyze 40 Design 40 Review 2 Code 80 Test 40 Deploy 3 80 8080 80 40 80 808080 20% rework65% rework Actual time spent = 0.5+0.1+60+1+40+40+2+(0.2*(40+2))+80+40+0.65*(80+40)+3 = 353 Elapsed time = 353+80+80+80+80+80+2*40+80+2*80+80 = 1173 Process cycle efficiency = 353/1173 = 30% 7/28/2014
  • 103. Kanban Board Bhawani Nandan Prasad - IT process expert Approved Under review Ready For Dev Analysis Ready For Design Design Ready For Code Coding Ready For Test Test Ready For Deploy Deploy 7/28/2014
  • 104. Agile certifications: Certified Scrum Master  Scrum Alliance (www.scrumalliance.org): Offers Certified Scrum Master and Certified Scrum Product Owner  Requirements  Attend a Scrum training given by a “Certified Scrum Trainer”  Costs between $500-$1000  Scrum Trainer submits application  Pass an online evaluation  Renew it every 2 years  For more details see: http://www.scrumalliance.org/pages/faq_training_and_ce rtification Bhawani Nandan Prasad - IT process expert7/28/2014
  • 105. Agile certifications: Professional Scrum Master Launched by Ken Schwaber www.scrum.org Professional Scrum Master (2 levels) Also Professional Scrum Product Owner (2 levels) and Professional Scrum Developer Open to all (pass assessments at 85% passing mark) Scrum.org also offers trainings $100 for Level-1 and $500 for Level-2 Bhawani Nandan Prasad - IT process expert7/28/2014
  • 106. Agile certifications: PMI – Agile Certified Professional  Offered by Project Management Institute (www.pmi.org)  Costs $435 (members) and $495 (non-members)  Membership $129  Requirements  1 year of General Project Management experience and 8 months of Agile Project management experience  21 hours training required  Assessment (100 multiple choice questions) Bhawani Nandan Prasad - IT process expert7/28/2014
  • 107. Bhawani Nandan Prasad - IT process expert Important links Scrum Alliance www.scrumalliance.org Ken Schwaber’s site on Scrum www.scrum.org Agile references www.agilealliance.org www.agilebok.org http://agile.vc.pmi.org/Public/Home.aspx 7/28/2014
  • 108. To sum it up! Advantages of Agile  Helps to reduce “waste” by always focusing on highest priority items  Enforces disciplined change management, while greatly enhancing ability to absorb changes  Enhances “visibility” into the development process and improves productivity Disadvantages of Agile  Some teams and some people will not like it  Partial or haphazard implementation of Agile will makes things worse than before!  It will not resolve your engineering problems – but it will make it visible sooner! Bhawani Nandan Prasad - IT process expert7/28/2014
  • 109. Bhawani Nandan Prasad - IT process expert Risk Management in Agile Risk: An “uncertain” event that may impact an expected outcome for good or bad Agile has in-built risk management mechanism because it will make things visible sooner! Facets of risk events Probability Impact Response 7/28/2014
  • 110. Transforming to Agile  Must  If Waterfall is working for you, do not use Scrum – Ken Schwaber!  Understand what you want to get out of Agile and measure what you are getting  Get customer and senior management buy-in  Good to do  Education for key roles: Scrum masters, Product Owners and also for General Managers  Get a coach/mentor, join communities  Some people/teams will never be comfortable – do not force them! Bhawani Nandan Prasad - IT process expert7/28/2014
  • 111. Bhawani Nandan Prasad - IT process expert Sample risk register 7/28/2014
  • 112. Managing large/integrated teams Multiple teams working on the same product or application Split in a way that each is at least somewhat de-coupled from each other Each team should be cross-functional Manage dependencies and integrations carefully Scrum of Scrums Product coordination teams Bhawani Nandan Prasad - IT process expert7/28/2014
  • 113. Bhawani Nandan Prasad - IT process expert Scrum-of-scrums Useful in situations where multiple scrum teams are working for a single or integrated set of projects Representative from each Scrum attends SoS focuses on the “inter-dependencies” SoS need not be daily Frequency depends on the nature of the dependencies 7/28/2014
  • 114. Product coordination team Identify few (2 or 3) people whose job is to coordinate across teams Opportunities to coordinate High priority epics or stories that require multiple teams to work on Technical dependencies Ensuring consistency and uniformity of design Coordination may be a full-time or part-time role Bhawani Nandan Prasad - IT process expert7/28/2014
  • 115. Which methodology is best?  RUP is a pretty good framework for enterprise, large scale projects with a high level of complexity and inter- dependencies  if you can afford to buy their tools   FDD is good if you are big on OO methodology  Crystal Clear is good if you have co-location  XP is good if your challenge is engineering practices  Scrum is good for a robust management framework – and is by far the most popular!  There isn’t a right or wrong methodology – use one that works for you! Bhawani Nandan Prasad - IT process expert7/28/2014
  • 116. Bhawani Nandan Prasad - IT process expert Thank You bhawani_nandan@yahoo.com Certified scrum Master Product Owner 7/28/2014