Sunday, June 11, 2017

Agile Scrum Methodology

AGILE ?

Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams. Agile methods or Agile processes generally promote a disciplined project management process that encourages frequent inspection and adaptation, a leadership philosophy that encourages teamwork, self-organization and accountability, a set of engineering best practices intended to allow for rapid delivery of high-quality software, and a business approach that aligns development with customer needs and company goals. Agile development refers to any development process that is aligned with the concepts of the Agile Manifesto. The Manifesto was developed by a group fourteen leading figures in the software industry, and reflects their experience of what approaches do and do not work for software development.
Agile Overview

SCRUM?

Scrum is a subset of Agile. It is a lightweight process framework for agile development, and the most widely-used one.
  • A “process framework” is a particular set of practices that must be followed in order for a process to be consistent with the framework. (For example, the Scrum process framework requires the use of development cycles called Sprints, the XP framework requires pair programming, and so forth.)
  • “Lightweight” means that the overhead of the process is kept as small as possible, to maximize the amount of productive time available for getting useful work done.
Diffbtw WF and Agile.jpg
A Scrum Process is distinguished from other agile processes by specific concepts and practices, divided into the three categories of Roles, Artifacts, and Time Boxes. These and other terms used in Scrum are defined below. Scrum is most often used to manage complex software and product development, using iterative and incremental practices. Scrum significantly increases productivity and reduces time to benefits relative to classic “Waterfall” processes. Scrum processes enable organizations to adjust smoothly to rapidly-changing requirements, and produce a product that meets evolving business goals. An agile Scrum process benefits the organization by helping it to
  • Increase the quality of the deliverables
  • Cope better with change (and expect the changes)
  • Provide better estimates while spending less time creating them
  • Be more in control of the project schedule and state
scrumprocess

SCRUM ROLES ?

ScrumRolesProduct Owner

Is the one who drives the project in the right direction and is responsible for what goes in to the product backlog and prioritizes it . Interacts closely with the Business Analysts/End users.


Scrum Master

A team coordinator/facilitator ensures teams have what they need to get the work done . Also, sets up meetings and monitors the progress on day to day basis.The Scrum Master’s responsibilities include


  • Removing the barriers between the development Team and the Product Owner so that the Product Owner directly drives development.
  • Teach the Product Owner how to maximize return on investment (ROI), and meet his/her objectives through Scrum.
  • Improve the lives of the development Team by facilitating creativity and empowerment.
  • Improve the productivity of the development Team in any way possible.
  • Improve the engineering practices and tools so that each increment of functionality is potentially shippable.
  • Keep information about the Team’s progress up to date and visible to all parties.


TEAM

The Team<Developers+Quality Assurance/Testers> is a self-organizing and cross-functional group of people who do the hands-on work of developing and testing the product. Since the Team is responsible for producing the product, it must also have the authority to make decisions about how to perform the work. The Team is therefore self-organizing: Team members decide how to break work into tasks, and how to allocate tasks to individuals, throughout the Sprint. The Team size should be kept in the range from five to nine people, if possible. (A larger number make communication difficult, while a smaller number leads to low productivity and fragility.)
Note: A very similar term, “Scrum Team,” refers to the Team plus the ScrumMaster and Product Owner.
  • Developers :Develops the product.
  • QA :Test the product to deliver a bug free product.
  • Documentation team: helps the team in technical documentation.(in some companies)

SCRUM TERMS?


  • Product Backlog<WishList>

Product backlog is a kind of bucket or source where all the user stories are kept. This is maintained by Product owner. Product backlog can be imagined as a wish list of the product owner who prioritizes it as per business needs. During planning meeting (see next section), one user story is taken from the product backlog, team does the brainstorming, understands it and refine it and collectively decides which user stories to take, with the intervention of the product owner.

  • Release Backlog
Release backlog is a subset of Product backlog. The goal of a given release is to deliver a subset of the product backlog known as the Release Backlog.
Release Backlog

  • Sprint Backlog

Sprints are short duration milestones to deliver a manageable chunk of work which a team can handle and gets it to the ship ready state.Sprint Backlog is derived from the Release backlog.


  • Sprint Planning and Estimation

      Ensure the whole team is present for the sprint planning .
    • Calculate the available time of each member during the sprint excluding the planned leaves.
    • Estimate and prioritize the work items either by story points or by hours to derive the sprint backlog.
    • Based on the effort the team distributes the work items/tasks and starts working on it.
Note : Estimation Methods/Techniques
Click on the link for the more information Agile Scrum Estimation


  • User Story

A User Story describes a desired feature (functional requirement) in narrative form. User Stories are usually written by the Product Owner, and are the Product Owner’s responsibility. The format is not standardized, but typically has a name, some descriptive text, references to external documents (such as screen shots), and information about how the implementation will be tested.


Sample User Story.jpg


  • Burndown Chart

A burn down chart is a graphical representation of work left to do versus time. The outstanding work (or backlog) is often on the vertical axis, with time along the horizontal. That is, it is a run chart of outstanding work. It is useful for predicting when all of the work will be completed.
Burndown Velocity


  • Daily Scrum

  • Short daily stand up meetings to ensure everything is on track .
  • Each team member updates the status on what was done on the previous day and what would they be working on the current day.
  • Also helps in raising an alarm about any issues faced by any of the team members and fast track to resolve them so that the sprint deliverables are not impacted.
daily-scrum1.jpg


  • Defect

A Defect, or bug report, is a description of a failure of the product to behave in the expected fashion. Defects are stored in a bug-tracking system, which may or may not be physically the same system used to store the Product Backlog. If not, then someone (usually the Product Owner) must enter each Defect into the Product Backlog, for sequencing and scheduling.

At the end of a sprint cycle, two meetings are held: the “Sprint Review Meeting” and the “Sprint Retrospective”.

Sprint Review
  • Review the work that was completed and the planned work that was not completed.
  • Present the completed work to the stakeholders (demo).
  • Incomplete work cannot be demonstrated.
  • Four-hour time limit.
Sprint Retrospective
  • All team members reflect on the past sprint
  • Make continuous process improvements
  • Two main questions are asked in the sprint retrospective: What went well during the sprint? What could be improved in the next sprint?
  • Three-hour time limit
  • This meeting is facilitated by the Scrum Master

          sprint-retrospective.jpg

          No comments:

          Post a Comment