Sie sind auf Seite 1von 7

Scrum

Sanjay Patro

Introduction
Complex processes are those that behave unpredictably. If a complex process is operated twice in a row, the results are going to be different than same. It is impossible to predict even the ways the process will behave unpredictable. Empirical process controls models are used to manage and control complex process. Models of empirical processes are derived categorizing observed inputs and outputs, and defining controls that cause them to occur within prescribed bounds. Empirical process modeling involves constructing a process model strictly from experimentally obtained input/output data, with no recourse to any laws concerning the fundamental nature and properties of the system. Empirical process control uses visibility, inspection and adaptation as a means to manage and control the process. Software development is a complex process. Software development projects apply advanced, often unreliable technology to solve business problems and achieve competitive advantage. Scrum addresses the complexity of software development projects by implementing the inspection, adaptation, and visibility requirements of empirical process control with a set of simple practices and rules. SCRUM assumes that the systems development process is an unpredictable, complicated process that can only be roughly described as an overall progression.

Definition
SCRUM defines the systems development process as a loose set of activities that combines known, workable tools and techniques with the best that a development team can devise to build systems. Scrum employs an iterative, incremental approach to optimize predictability and control risk. There are three pillars that hold up every implantation of scrum or empirical process control model. Visibility/Transparency It means aspects of the process that affect the outcome must be visible to those controlling the process. The process that affects the outcome must be visible to those managing the outcome. Inspection It means the various aspects of the process should be inspected frequently. The purpose of the inspection is to find unacceptable variances quickly Adaptation It means if unacceptable variances are found, corrective actions are required and process must be adjusted. Adjustment should be applied as soon as possible to minimize future deviations.

Roles in Scrum
Scrum uses the metaphor of chicken and pig to divide the project team into two groups. Pigs perform the work while chickens gets thing done. Product owner is the pig of the

product backlog. Team is the pig of the sprint work and scrum master is the pig of the scrum master. Scrum Master Scrum master is responsible for ensuring that scrum principles are followed by the team. Scrum master organizes and conducts daily scrum meeting and Scrum master removes barriers, help resolve any issues and insulates team from external influences. Scrum ensures that the team is fully functional and productive and enables close cooperation across all roles and functions. Product Owner - Product owner is responsible for managing the product backlog. Product owner Prioritizes features/outcomes according to market value and adjusts features/outcomes and priority as needed. Product owner facilitates scrum planning ceremony and accept or reject workflows. The Team - Teams of developers turn product backlog into deliverables. Each delivery incrementally adds functionality to the application. The team selects the sprint goal and specifies work results. Team organizes itself and work within the boundaries of the project guidelines to reach the sprint goal. End of each sprint the team demos work results to the product owner and any other interested parties. Stakeholders and users Users will be using the system and in many projects helps product owners create the product backlog. Stakeholders are the ones who have desires, wants, and needs, and are the reason the Team is developing the software in the first place.

Planning in Scrum

Pregame phase
Pregame phase consists of planning and architecture. Planning In this step backlog list is developed. The product owner is a person responsible for this. Product owner creates the backlog taking inputs from other stake holders. Product owner considers external and internal environment variables like situation on the market, competition, finance requirements etc. Product owner knows which functions or properties of the product are the most needed. Once product backlist is developed, functionality may be divided into releases and release dates are finalized. Functionality (product packets) from backlog items are mapped to releases based on priority and business needs. Risks for the project are assessed and proper risk mitigation strategies are established. Appropriate development tools, infrastructure is established. Product owner secures management approval and funding for the project. System Architecture/ High Level Design - The team reviews the backlog, analyzes the changes/enhancements required to implement new properties and design the implementation process. There may be a need to make some changes, refine the old product , learn some additional knowledge, analysis, solve problems or issues which appears during the process. At the end there are designed review meetings during which the teams exchange information, present progress and problems, reassign changes as required.

Development phase
The Development phase is an iterative cycle of development work. Iterations are called sprint. A Sprint is a set of development activities conducted over a pre-defined period, usually four weeks. The interval is based on product complexity, risk assessment, and degree of oversight desired. Sprint speed and intensity are driven by the selected duration of the Sprint. Risk is assessed continuously and adequate risk controls and responses put in place. Each Sprint consists of one or more teams performing the following: Develop: Defining changes needed for the implementation of backlog requirements into packets, opening the packets, performing domain analysis, designing, developing, implementing, testing, and documenting the changes. Development consists of the micro process of discovery, invention, and implementation. Wrap: Closing the packets, creating a executable version of changes and how they implement backlog requirements. Review: All teams meeting to present work and review progress, raising and resolving issues and problems, adding new backlog items. Risk is reviewed and appropriate responses defined. Adjust: Consolidating the information gathered from the review meeting into affected packets, including different look and feel and new properties. Each Sprint is followed by a review, where the whole team and product management are present and participate. The review includes all stakeholders. Review covers functional, executable systems that encompass the functionalities assigned to that team and include the changes made to implement the backlog items. New backlog items may be introduced and assigned to teams as part of the review, changing the content and direction of deliverables.

Postgame phase
The beginning of this phase means end of development and product is ready to be released. This phase is also called closure. Closure - This phase prepares the developed product for general release. Integration, system test, user documentation, training material preparation, and marketing material preparation are among closure tasks.

Project progress tracking


Project progress is tracked, measured and analyzed at various stages of the project. Frequent, first hand observations Daily scrum meetings and sprint review tells lot of information on state of the project. Management attends and observes team spirit, members participation, team members interaction, work pending and completed, decisions need to be made and impediments that need to be removed. Backlog graphs or burndown charts Backlog is the amount of work remaining to be done at any point of time. Backlog trends can be derived by plotting estimated work remaining in backlog across time. Backlog trend indicates teams ability to decrease the backlog. Work backlog and backlog trends can be assessed for a spring, for an entire release or for the entire project. Sprint backlog consists of the tasks planned for scrum and release backlog is the subset of product backlog that is selected for a release.

Communication within the team


Scrum relies on high-bandwidth, face-to-face communication and team work. Team members regularly talk to each other, bounce ideas off of each other and help each other solving issues. Sprint Planning Meeting - In the first half of the sprint planning meeting, the product owner works with the team to identify the user stories that are right for the sprint product backlog. As the team works through the process, the why begins to weave its way into the conversation. The Product Owner will deliver the why as part of the conversation. The second half of the sprint planning meeting is devoted to the team for the purpose of self-organizing around the work. In addition to communicating with each other, the team may ask the Product Owner for further clarification on any ambiguities with the user stories. Daily Scrum Meeting - The scrum master is responsible for asking every team member the following three questions What have you done since the last scrum meeting? What has impeded your work? What do you plan on doing between now and the next scrum meeting?

Each team member communicates their status on a daily basis, along with any issues or roadblocks that may exist. The scrum master is responsible for making decisions immediately, if required to remove impediments to progress. The scrum master is responsible for noting impediments that must be resolved external to the meeting. Scrum master may ask few team members stay after the daily scrum meeting to find solutions for any unresolved issues.

Communication outside the team


Sprint Review As the end of the sprint, the product owner and the stakeholders have an opportunity to view the outputs of the sprint. As a part of the demonstration of the new functionality, the Product Owner and stakeholders provide feedback about the functionality. Sprint Retrospective/Closure The Sprint team has an opportunity to discuss what they did right, what they did wrong, and what they can fix. The communication that results is a basis for the next sprint, as the list of potential improvements should be included in the next sprint planning meeting.

Development tools for the team


Product, Release and Sprint backlog Product backlog is requirements of the system expressed as prioritized list of backlog items. Release backlog is the list of requirements that product owner decided to include in the release. Sprint backlog is the list of tasks that team intends to complete in a sprint. Backlog graphs/Burndown charts (Product, Release and Sprint) These charts display represents work done. Product, release and sprint burndown charts displays the progress at each respective level. Impediment List Scrum master tries to remove any impediments for individuals and team as soon as possible. Scrum master maintains the impediment list to track issues that stills needs to be resolved. Meeting room Team requires a meeting room so that daily scrum meeting can be held at the same time, same place everyday. Collaboration tools White board/Share Point etc for team to share/collaborate design Story and task cards Document requirements and tasks

Changes in development process and tools over time


Sprint Review Feedback is an important practice of Scrum. Feedback from customer and end users are constantly added to next sprint and release. Velocity If velocity is too high and too low, velocity is adjusted by increasing or decreasing the backlog of the next sprint. Estimates: Estimation is always difficult. As the project progresses, estimates get better and better but in initial sprints, backlog might need to be adjusted if estimates from team are not up to mark.

Architecture: As architecturally significant changes have been tackled in initial sprints, changes to architecture will reduce significantly in later phases making the application stable. Product backlog: Product backlog should be reducing as the project progresses. Burndown charts: With each sprint, team would have learnt more about the project and graphs actual and ideal will be close as shown in figure below.

Benefits of Scrum
Scrum helps deliver high quality product using frequent feedback, adaptive responses and transparent communication. Scrum enables efficient ways for professionals to work together. Chart below compares Scrum with other software development models.

References
1. 2. 3. 4. 5. http://en.wikipedia.org/wiki/Burn_down_chart http://christopherdaily.com/2011/07/28/six-communication-opportunities-in-scrum/ SCRUM Development Process by Ken Schwaber http://www.profit-labs.com/development-process/ Agile Software Development with Scrum Ken Schwaber and Mike Beddle.