What is Agile Scrum? Scrum overview for Agile software development

Source : http://www.technobrains.net/agile-scrum-scrum-overview-agile-software-development/


What is Agile Scrum?

Scrum is a framework in which people can address complex problem with adaptive approach, while creating productive and creative products of the highest possible value.
Scrum is:
  • Lightweight
  • Simple to understand
  • Difficult to master
Scrum is a framework within which one can design and implement various process and techniques to manage complex projects. Scrum makes clear the intended result of your product management and work techniques, so that you can continuously improve the product, the team and work environment.
What scrum framework consists of?
  • Roles
  • Events
  • Artifacts
  • And Rules
Each component serves its own purpose for scrum’s success and right usages.
What is the potential use of Scrum?
Scrum framework initially designed and used for managing and designing products, and it is uses worldwide for:
  • You can, Research and identify feasible market, technologies and product capabilities;
  • You can, Develop products and its enhancements;
  • You can, Release products and its enhancement as frequently and many times a day;
  • You can, Develop a cloud (online, secure, on-demand) and other environment for product use;
  • You can, Sustain and renew products.
Scrum is being used to develop software, hardware, autonomous vehicles, schools, government, marketing, operations, and almost everything we use in our daily lives as either an individual or as a society.
Since technology, market and other complexities and its interaction have rapidly increased; scrum has overcome them all and become the prior choice of many organizations.
Scrum Theory
Scrum is laying on empirical process control foundation, in which knowledge comes from experience, and making decision based on what is known. Scrum is incremental and iterative to optimize predictability and control risk.
Three pillars of Empirical process control: Transparency, Inspection, and adaption.
Transparency:
Transparency defined by common standards and shared with observer, so that observer can share common understanding of what can be seen.
  • All participants must share a common process.
  • Those who is going to work and inspect the increments must share a common definition of “Done”
Inspection:
Scrum team / users must continuously inspect scrum artifacts and progress towards sprint goal to identify undesirable variances. However, inspection should not be done so frequently that it comes in a way of work, and it should be performed diligently by skilled inspector.
Adaption:
If observer realizes that one or more aspects of process goes outside acceptable limits, and that may turn into product will be unacceptable, the process must be adjusted accordingly. And adjustment must be implemented as soon as possible to troubleshoot further deviations.
There are 4 formal events for inspection and adaption:
  • Sprint Planning
  • Daily Scrum
  • Sprint Review
  • Sprint Retrospective
There are 5 Values defined by Scrum:
  • Commitment
  • Courage
  • Focus
  • Openness, and
  • Respect
Scrum Roles
Scrum team consists of a product owner, the development team, and Scrum Master. Scrum team is self-organized and cross functional. Self-Organized team chooses how best to accomplish the work, rather than instructed by outsider (one who is not a part of team) while cross functional team is having competencies required to complete the work without being dependent upon outsider. Team structure in scrum is designed to optimize flexibility, creativity and productivity.
 Product Owner:
  1. Clearly express product backlog items;
  2. Order the items in product backlog to achieve goals and missions;
  3. Optimizing the value of work development team performs;
  4. Ensures that product backlog is visible, transparent and clear to all the team members;
  5. Ensure that development team is having complete understanding of product backlog to the level needed.
(It is not necessary that all the responsibility must be executed by Product owner, they can get these responsibilities executed by the development team. However, product owner is the accountable for the outcome)
The Development Team:
  1. They are self-organized. No one can instruct development team how to turn product backlog into increments of potentially releasable functionality;
  2. Development team is cross functional and having required skills to accomplish the work within the sprint;
  3. There is no titles for development team even though work is being performed by a person
  4. There will not be a sub team in the development team regardless of testing, architecture, operations and business analysis.
  5. Development team is having unique skills and area of focus, but they are yet accountable as a whole team not as an individual.
 Development Team Size:
Development team size should be small enough to quick execute work within the sprint, and large enough to finish significant work within the sprint. Product Owner & Scrum masters are not the part of development team unless they are executing sprint items by themselves.

Scrum Master:
  1. Ensure goal, scope and product domain should be understood by everyone
  2. Finding techniques to effectively manage product backlogs;
  3. Helping team to understand need for clear and concise product backlog items;
  4. Ensure product owner must know how to arrange product backlog to maximize value;
  5. Understand and practice agility;
  6. Facilitate scrum events as and when needed;
  7. Coach development team in self-organizing and cross-functionality;
  8. Help development team to create high value product;
  9. Remove hindrance to the development team’s process;
  10. Learning and coaching organization in its scrum adaption;
  11. Planning scrum implementation within the organization;
  12. Helping employee and stakeholders to understand empirical product development;
Scrum Events
Scrum framework consist of 4 events which is time-boxed (Time bound), such that every event has a maximum duration. Once sprint beings its duration become fixed and neither can be shortened or extended under any circumstances.
 The Sprint
Sprint is a heart of Scrum and entire process and teams are revolving around sprints. Each sprint is having a month or less duration within which “Done”, usable or potentially releasable product increment is created. Each sprint is considered as a project with no more than a month time duration.
During the Sprint:
  1. No changes should be made which impact the Sprint Goal
  2. Quality goal do not decrease
  3. Scope may be clarified and re-negotiated between the product owner and development team as more is learned.
Sprint Planning
Sprint planning is a roadmap of executing sprint within the time-box and its collective effort of entire scrum team. Sprint planning time-box to a minimum of 8 hours for a one-month sprint. Scrum master makes sure that event takes place should be understood its purpose by attendants.
Sprint Planning answers below question:
  • What can be delivered in the increment resulting from upcoming sprint?
  • And how the work to be delivered to achieve increment?
Daily Scrum:
Daily scrum meeting to be held for 15 minutes, in this meeting development team will plan the work for next 24 hours. This will optimize team collaboration and performance, by inspecting the work from last scrum meeting and forecasting upcoming sprint work. The Daily Scrum is held at the same time and place each day to reduce complexity.
Discussion Agenda:
  • What did I do yesterday that helped development team meet the sprint goal?
  • What will I do today that will help development team meet the sprint goal?
  • Do I see any hurdles that prevent me or development team from meeting sprint goal?
Sprint Retrospective:
Sprint retrospective is an opportunity for the scrum team to inspect itself and create a plan for improvements to be implemented during next sprint.
Scrum Artifacts:
Scrum’s artifacts represent work or value to provide transparency and opportunities for inspection and adaptation.
 Product Backlog
The Product Backlog is an ordered list of everything that is known to be needed in the product. It is the single source of requirements for any changes to be made to the product. The Product Owner is responsible for the Product Backlog, including its content, availability, and ordering.
 Sprint Backlog
The Sprint Backlog is the set of Product Backlog items selected for the Sprint, plus a plan for delivering the product Increment and realizing the Sprint Goal. The Sprint Backlog is a forecast by the Development Team about what functionality will be in the next Increment and the work needed to deliver that functionality into a “Done” Increment.
 Apart from an Overview there is lot to it. Technobrains has mastered scrum framework and using religiously to achieve great result. If you are tired of relatively mid-sized project which is running for years, contact us and we will make sure we will streamline the entire process to enhance productivity and great product at the end of the development process.

Comments

Popular posts from this blog

What is Saas? How do we make it successful?

React Native Vs. Ionic what to choose for your next project?

How much it costs to develop a mobile application?