Scrum is an agile framework for managing projects that emphasizes collaboration, adaptation to change, and iterative delivery. It uses sprints, daily stand-ups, backlogs and artifacts like burn-down charts. Key roles include the Product Owner, Scrum Master and cross-functional team. Scrum aims to deliver working software frequently through an empirical process that adapts to change rather than a fixed plan.
2. Core Agile Values
• People over Process
• Deliverables over Documentation
• Collaborations over Controls
• Responding to change over Performing to plan
• Value generators over Management Controls
• Agile Framework – Scrum, TDD, FDD, XP etc.
3. Scrum
• Scrum is one of the leading agile software development approaches.
Scrum has become recognized as one of the best project management
frameworks for handling rapidly changing or evolving projects. Especially
useful on projects with lots of technology or requirements uncertainty,
Scrum is a proven, scalable agile process for managing software projects.
• Scrum is unique because it introduced the idea of “empirical process
control.” That is, Scrum uses the real-world progress of a project — not a
best guess or uninformed forecast — to plan and schedule releases. In
Scrum, projects are divided into succinct work cadences, known as sprints,
which are typically one week, two weeks, or three weeks in duration. At
the end of each sprint, stakeholders and team members meet to assess
the progress of a project and plan its next steps. This allows a project’s
direction to be adjusted or reoriented based on completed work, not
speculation or predictions.
4. Scrum Framework – Roles
• Product Owner - Define the features of the product, Decide on
release date and content, Prioritize features, Adjust features
and priority every iteration, Accept or reject work results
• Scrum Master - Represents management to the project,
Responsible for enacting Scrum values and practices, Removes
impediments, Shield the team from external interferences
• Team - Teams are self-organizing, Typically 5-9 people, Cross-
functional, Members should be full-time, Membership should
change only between sprints
• Other roles – Functional managers, senior management etc.
unchanged
5. Scrum Framework - Process
• Sprint Planning – Team selects items from the product backlog they
can commit to completing, Sprint backlog is created, Tasks are
identified and each is estimated, High-level design is considered
• Sprint Review – Team presents what it accomplished during the
sprint, Demo of working system or underlying architecture, NO PPT,
Whole team participates including any external members like
customers
• Sprint Retrospective – Periodically take a look at what is and is not
working, Done after every sprint, Whole team participates
• Daily Scrum Meeting – 15 minutes daily stand-up meeting to talk
about what was done yesterday, what will be done today and any
impediments.
6. Scrum Framework - Artifacts
• Product Backlog – The requirements, A list of all desired
work on the project, Ideally expressed such that each item
has value to the users or customers of the product,
Prioritized by the product owner, Reprioritized at the start
of each sprint
• Sprint Backlog – A short statement of what the work will be
focused on during the sprint. Any team member can add,
delete or change the sprint backlog, Work for the sprint
emerges
• Burndown Chart – Chart to see daily progress, updated
based on daily scrum meeting.
7. Scrum Keywords
• User Story – User stories document requirements with particular
attention to the end user’s point of view.
• Epics – Group of related user stories
• Theme – Top level objective or project
• Story Points – Points are estimate for a story. Best technique to estimate is
planning poker.
• Velocity – Team velocity calculates based on stories done during the
sprints. Velocity helps in planning releases.
• Distributed Scrum – Team member located at multiple locations.
• Scrum of Scrums – Multiple teams working on same product.
• Code Monkey – Junior programmer
• Sprint Goal – SMART
• Pig (PO & SCM) and Chicken(Team) - Committed Vs Involved
• Agile Coach – Provide coaching to team and mentoring, identify
impediments and explore new tools &technologies and manage Scrum
Office (similar to PMO)
8. Why Scrum
• Development is a complex process and identify all integration issues at
beginning is very challenging
• Having complete requirement upfront is challenge, too many changes
expected during build cycle
• Managing and training resources during execution is big challenges.
attrition rate is very high
• Frequent design change based on external dependencies
• End to end testing become difficult
• Lots of external dependencies that pushes team in waiting mode
• Benefits - acknowledge and adopt key lessons learnt, need for earlier and
clearer visibility of solution design, flush out issues earlier to prevent date
creep, tighter organization of testing and launch process, more focus on
performance of new capabilities, early go live if needed. High productivity,
less rework, high team satisfaction, early go-live, better customer
satisfaction.
• Next step – ??
• Suitable Approach - ??
• Are we ready - ??
9. Constraints
• 1. All environment should be ready (Test/UAT/Production) – Based on definition of
done. Done means only tested by QA or also by UAT?. If environment and required
tools/technologies or even resource training needed then a separate sprint can be
executed for this purpose.
• 2. Release cycle (may be end of every 4 sprints or some deadlines) – release to
whom? UAT or Prod?
• 3. External dependencies (external team members going to be part of sprint? If not
then continuous update needed for scrum team)
• 4. Most important - team and management both understand the value of
Scrum/Agile otherwise it can be more dangerous than waterfall.
• 5. Dedicated product Owner and Scrum Master otherwise team will be in waiting
mode and productivity will go down drastically.
• 6. Estimation technique, tools (continuous build, automated testing, release
tools, Automated deployment etc.)
• 7. Decision related to daily scrum meeting, sprint goal and roles of team member
10. Common criticisms about Scrum
• Lack of structure and necessary documentation
• Only works with senior-level developers
• Incorporates insufficient software design
• Requires too much cultural change to adopt
• Can be very inefficient — if the requirements for one area of
code change through various iterations, the same
programming may need to be done several times over.
Whereas if a plan were there to be followed, a single area of
code is expected to be written once.
• Impossible to develop realistic estimates of work effort
needed to provide a quote, because at the beginning of the
project no one knows the entire scope/requirements
• Agile is feature driven, non-functional quality attributes are
hard to be placed as user stories
Editor's Notes
Cross-functional – BA, QA, Developers etcPrefer no job title within teamFull-time member – some exceptions like DBA, external consultants etc.