Scrum (An Agile Methodology

)

Girraj Prasad Sharma

02/09/08

1

What is Scrum?
Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time. It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month). The business sets the priorities. Our teams self-manage to determine the best way to deliver the highest priority features. Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance for another iteration. Inventors: - Ken Schwaber, Mike Beedle and Jeff Sutherland in early 1990s.
02/09/08 2

Agile Approaches
• • • • • • • Scrum DSDM (Dynamic Systems Development Method) Crystal Methods FDD (Feature Driven Development) Lean Development XP (eXtreme Programming) Adaptive Software Development

02/09/08

3

Agile Manifesto says
Top level: Uncovering the better ways of developing software by doing it and helping others do it. 2nd level: “Through this work, we have come to value… Individuals and actions Working software Customer collaboration Responding to change
02/09/08

over over over over

Processes and tools Comprehensive documentation Contract negotiation Following plan
4

Scrum follows common ISV (Independent Software Vendor's) rules: • Always have a product you can theoretically ship • Speak a common language on a single development site • Continuously test the product as you build it .

02/09/08

5

The key principles of the Scrum development process are: • Small working teams that maximize communication, minimize overhead, and maximize sharing of tacit, informal knowledge. • Adaptability to technical or marketplace (user/customer) changes to ensure the best possible product is produced. • Frequent "builds", or construction of executables, that can be inspected, adjusted, tested, documented, and built on. • Partitioning of work and team assignments into clean, low coupling partitions, or packets. • Constant testing and documentation of a product-as it is built. • Ability to declare a product "done" whenever required (because the competition just shipped, because the company needs the cash, because the user/customer needs the functions, because that was when it was promised...).
02/09/08 6

Benefits of Scrum
• The key to the success of Scrum is using measurements to maximize flexibility and risk while maintaining control. • Most projects try to avoid risk. Yet, risk is an inherent part of software development. Scrum embraces risk by identifying and managing risk-so that the best possible product can be built. • Applicable to Small Simple and Large Complex Software Systems • Productivity gains of 600% have been seen repeatedly in well executed projects. • It breaks down large products into manageable chunks - a few product features that small teams can create in a few months.
02/09/08 7

Benefits of Scrum contd…
• It allows large teams to work like small teams by dividing work into pieces, proceeding in parallel but synchronizing continuously, stabilizing in increments, and continuously finding and fixing problems. • Careful control mechanisms are used to assure on-time delivery of a high quality product, while allowing maximum flexibility of small, tightly coupled development teams. It requires a well motivated team and good leadership to implement effectively. • It facilitates competition based on customer feedback, product features, and short development times by providing a mechanism to incorporate customer inputs, set priorities, complete the most important parts first, and change or cut less important features.
02/09/08

8

Defined vs. Empirical • Defined Process:- If a process can be fully defined, with all things known about it so that it can be designed and run repeatedly with predictable results, it is known as a defined process, and it can be subjected to automation. • Empirical Process:- If all things about a process aren't fully known -- only what generally happens when you mix these inputs and what to measure and control to get the desired output -- these are called empirical processes. • The primary difference between the defined lower curve (waterfall, spiral and iterative) and empirical upper curve is that the empirical approach assumes that the development process is unpredictable and chaotic. Controls are used to manage the unpredictability and control the risk. Flexibility, responsiveness, and reliability are the results.
02/09/08 9

Defined vs. Empirical Success

02/09/08

10

Scrum Main Components
 Product Backlog – A product backlog is a prioritised list of project requirements with estimated times to turn them into completed product functionality. Estimates are in days and are more precise the higher the item is in the Product Backlog priority. Priority should be assigned based on the items of most value to the business or that offer the earliest Return on Investment. This list should evolve, changing as the business conditions or technology changes.  Product Burndown- The Product Burndown chart gives an indication of how quickly the team are "Burning" through the work and delivering Product Backlog requirements. It is a useful tool for helping to plan when to release or when to remove requirements from a release if progress is not rapid enough.
02/09/08 11

02/09/08

12

Scrum Main Components

contd…

 Sprint Backlog- The Sprint backlog is a list of tasks that defines a Team's work for a Sprint. The list emerges during Sprint planning. The tasks on the Sprint backlog are what the Team has defined as being required to turn committed Product Backlog items into system functionality. Each task identifies who is responsible for doing the work and the estimated amount of work remaining on the task on any given day during the Sprint.  Sprint Burndown Chart- Chart showing sprint backlog burndown.  Impediment List- Anything around a Scrum project that impedes its productivity and quality is an impediment. It is the responsibility of the ScrumMaster to remove any impediment that is stopping the team from producing production quality code. The impediment list is simply a set of tasks that the Scrum Master uses to track the impediments that need to be solved.
02/09/08 13

02/09/08

14

Scrum Main Components contd…

02/09/08

15

Scrum Implementation
Product Owner:- The 'Product Owner' is responsible for the ROI of the project. So this is the person who is investing or representing everyone's interest in the project and is responsible for the project delivering a value greater than the money that's been sunk into it. • Defines the features of the product, decides on release date and content. • Aggregates input from users, stakeholders and other interested parties to form a single view of the prioritised requirements for the system. • Is responsible for the profitability of the product (ROI) • Prioritizes features according to market value • Can change features and priority every 30 days • Accepts or rejects work results
02/09/08 16

Scrum Implementation contd…
Team Members:- This is a cross-functional group of people with all the different skills that are needed to turn requirements into something that is an increment of potentially shippable functionality. So it often consists of an analyst, designer, QA person, a coder, a documentation person, all the skills that are needed to turn the requirements into something that is done. • Cross-functional • Seven plus or minus two members • Selects the iteration goal and specifies work results • Has the right to do everything within the boundaries of the project guidelines to reach the iteration goal • Organizes itself and its work • Demos work results to the Product Owner and stakeholders
02/09/08 17

Scrum Implementation contd…
Scrum Master :-The person responsible for the scrum process, its correct implementation, and the maximization of benefits. • Improving the lives and productivity of the development team by facilitating creativity and empowerment and any other way possible. • Enabling close cooperation across all roles and functions and removing barriers • Shielding the team from external interferences and removing "Impediments" • Ensuring that the process is followed • Inviting appropriate people to the daily scrum, iteration review and planning meetings

02/09/08

18

Scrum Implementation contd…
• Removing the barriers between development and the customer so that the customer directly drives the functionality developed • Teaching the customer how to maximise ROI and meet their objectives through Scrum • Improving the engineering practices and tools so each increment of functionality is potentially shippable.

02/09/08

19

Scrum Implementation contd…
 Sprint Planning meeting:- A one-day, 8 hours meeting. 4 hours for product backlog by product owner. 4 hours for team to prepare sprint backlog. Attendees are product owner, scrum master, team member, partly domain expert etc.  Daily Scrum Meeting:- Time boxed to 15 mins • What have you done since the last daily scrum meeting regarding this project? • What will you do between now and the next daily scrum meeting regarding this project? • What impedes you from performing your work as effectively as possible (road blocks )?
02/09/08 20

Scrum Implementation contd…
 Sprint:- A time-box of 30 consecutive calendar days during which a team works to turn the product backlog it has selected into an increment of potentially shippable product functionality.  Sprint Review Meeting:- A meeting time-boxed to 4 hours at the end of every Sprint at which the team demonstrate to the product owner and any other interested parties what it was able to accomplish during the sprint. Only completed product functionality can be demonstrated.  Sprint Retrospective Meeting:- A meeting time-boxed to 3 hours and facilitated by the Scrum Master at which the team discusses the just-concluded Sprint and determines what could be changed that might make the next Sprint more enjoyable or productive.
02/09/08

21

02/09/08

22

Scrum Implementation contd…
2. Planning and System Architecture What differentiates the Scrum Planning and System Architecture process from other methodologies is: • Controls are established : backlog (requirements) for this project is established and prioritized, risks are defined, objects for implementing backlog are identified, and problems are stated for implementing the backlog into the related objects. • Team assignments : backlog is assigned to teams of 7 developers, maximizing communication bandwidth and productivity. • Prioritization: backlog items are prioritized for teams to work on, starting with infrastructure, then most important functionality to least important functionality in Sprints (consisting of multiple sprints).
02/09/08 23

Scrum Implementation contd…
However, compared to other methodologies, this planning phase is conducted relatively quickly because it assumes that pragmatic managers and the course of events will require that any or all of these initial parameters will be changed during the Sprint phase. Closure The Closure phase removes the final product (executable and documentation) and prepares it for shipment. Finally, Scrum ends with the Closure phase. Closure consists of finishing system and regression testing, developing training materials, and completing final documentation. Approved modifications to the original planning and systems architecture are lumped into a category called backlog and assigned to the
02/09/08 24

2.

Scrum Implementation contd…
teams (whose resources may also be changed to reflect the new objectives) at the beginning of the next Sprint period. 3. Consolidation The Consolidation Phase cleans up the pressure cooker and ingredients for the next batch.

02/09/08

25

Scrum Flow

02/09/08

26

How can it help us (TCS)?
• To manage critical and close deadline projects. • Deliveries can be on scrum principle (small working deliveries frequently) • Where requirements are changing frequently, all are not clear at the beginning. • Where all system (complex, too big, changing need, very new system) design can’t be designed at the beginning. They can be evolved. • Better productivity, low risk easy to sell idea to customer. Very helpful and lucrative to customer. • Customer preference in choosing such vendor and team convenience in working with customer.
02/09/08 27

References
• Controlled Chaos : Living on the Edge Ken Schwaber virman@aol.com Copyright 1996 Advanced Development Methods, Inc. A published version of this article appears in Ed Yourdon's American Programmer • URL http://www.controlchaos.com • http://www.agilealliance.org • Agile Software Development, Principles, patterns and practices. By Robert C. Martin • “Best Practices in Scrum Project Management and XP Agile Software Development” by Object Mentor Inc. • Agile Project Management with Scrum by Ken Schwaber
02/09/08 28

• “Best Practices in Scrum Project Management and XP Agile Software Development” by Linda Levine, Software Engineering Institute. • http://scrumforteamsystem.com/ProcessGuidance/Scrum/Scru m.html

02/09/08

29

Thanks!

02/09/08

30

Sign up to vote on this title
UsefulNot useful