Scrum is Agile

SDLC
SDLC @Image courtesy of Stuart Miles/ FreeDigitalPhotos.net

Scrum is Agile

Welcome to CodeSpread!

In our last article,Agile Part 1, we have explained basics of Agile and now we are sharing an article on SCRUM

What is SCRUM?

Wikipedia says “Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development.”

Web Definition says “Scrum originally derives from a strategy in the game of rugby where it denotes getting an “out-of play” ball back into the game with teamwork.”

As the above definitions are self-explanatory, additionally we put our experience to it to bring more insights.

  • Scrum is a project management technique based on the principles of Agile and accumulates all the potential of Agile Development.
  • Popular: Big Companies like Microsoft, IBM, Yahoo, Google are using it.
  • Generic set of guidelines.
  • Facilitates collaboration between development and the business partner.
  • Easy to implement and follow.

Characteristics of Scrum Process:

Scrum focuses on fixed-length iterations, called Sprints. After each sprint,a successfully attempted partial product is provided to the client in an incremental manner.Same as Agile, client provides feedback for this deliverable and scrum team again starts working on another sprint to accommodate the client feedback in the next incremental deliverable.

Scrum has following characteristics:

  • Flexible deliverable – the content of the deliverable is dictated by the environment.
  • Flexible schedule – the deliverable may be required sooner or later than initially planned.
  • Small teams – each team has no more than 6 members.  There may be multiple teams within a project.
  • Frequent reviews – team progress is reviewed as frequently as environmental complexity and risk dictates (usually 1 to 4 week cycles).  A functional executable
    must  be prepared by each team for each review.
  • Collaboration – intra and inter-collaboration is expected during the project.
  • Object Oriented – each team will address a set of related objects, with clear interfaces and behavior.
reference: http://gowegian.5gbfree.com/scrumDevelopmentProcess.pdf

These characteristics are based on the following SCRUM values

1. Commitment: Basically calls for a commitment at each level by the scrum roles like Product owner, Team and Scrum Master.

2. Focus : Focus means that Team should concentrate on finishing the sprint.Scrum Master makes sure to remove any impediments that are obstructing the team or shields the team from external interference.

3. Openness: If team is open for any new changes or requirements then the sole aim of being agile can be achieved. Even changes can be brought internally anytime and all roles and participants should be open for that.

4. Respect: As each role is quite independent from each other so there should be an environment of respect towards each other. Everybody should be encouraged for their efforts.

5. Courage: Its more of a believer’s choice which is like whether somebody has the determination and resolution to take ownership of the decisions.

What are Scrum Roles?

Scrum provides a simple structure of roles, meetings, rules, and artifacts.Scrum teams are responsible for creating and adapting their processes within this framework. There are three scrum roles defined

  • Product Owner
    • Product Owner is responsible for representing the interests of the customers and other key stakeholders on the team.
    • Product Owner involves in finalizing the deliverables and project plan
    • Product Owner owns the product vision, constantly re-prioritizes the Product Backlog, and revises release plan expectations.
    • Final frontier to accept or reject any deliverable.
    • Product Owner is the Decision Maker.
    • Product Owner is responsible for the success of the outcome of the product delivered by the team

A product owner can be a Domain Specialist, a Project Manager or even a Business Analyst with technical skills.

  • Scrum Master
    • Works as a facilitator and ensures that the team is fully functional without any roadblocks.
    • Works to remove any impediments that are obstructing the team or shields the team from external interferences.
    • Keeps Scrum artifacts visible and enforces time boundaries for each sprint.
    • Works as a point of contact between all roles and functions.
    • There is no direct management expected but suggestions from Scrum Master are always taken into consideration.

A Scrum Master role can be played by team leader or the project manager.

  • Team
    • Implements the functionality
    • Self-organizing
    • Self-managing
    • Daily Scrum meetings
    • Selects the sprint backlog
    • Cross-functional

A scrum team is a team of 2-5 cross-functional and self-organizing members who can take ownership and are capable of achieving the sprint goals.A scrum team can be formed by including software engineers, architects, programmers,QA experts, testers, UI designers etc.

What is a Sprint?

Wikipedia says “A sprint is the basic unit of development in Scrum. The sprint is a “timeboxed” effort, i.e. it is restricted to a specific duration.The duration is fixed in advance for each sprint and is normally between one week and one month”

We have talked about iterations in last article, then my first question would be, What is the difference between Sprint and Iteration?

All sprints are iterations but not all iterations are sprints. Iteration is can be defined as a generic term and sprint is just the specialized version created for Scrum terminology. For each sprint, a planning meeting is arranged and during the meeting, the product owner and the development team decides the work that will be accomplished during the sprint. These sprints are time bounded and person responsible for this activity is Scrum Master.

Artifacts

They can be simple excel docs or graphs which can help in deciding the next course of the project.

  • Product Backlog: This is a list of requirements / features, based on considerations like risk, business value, dependencies, date needed, etc.
  • Sprint Backlog : This document contains the list of activities which should be taken up in the incremental sprints.
  • Burn down chart: It is a publicly displayed chart showing remaining work in the sprint backlog. Updated every day, it gives a simple view of the sprint progress.

What are the activities involved in Scrum?

The main activity in Scrum project management is the Sprint, a time boxed iteration that usually lasts between 1-4 weeks, with the most common sprint length being 2 weeks.

  • Sprint Planning Meeting: At the start of each sprint,a planning meeting is conducted to discuss the activities required to be planned.The main aim of this meeting is to determine the sprint goal, plus enlist the backlog items and then develop the plan to accomplish the work.
  • Daily standup:Each day during the sprint,a team meeting is planned where team members share
    • What have you done since yesterday?
    • What are you planning to do today?
    • Any impediments/stumbling blocks  These meetings are time boxed to no more than 15 minutes.
  • Sprint Review: At the end of a sprint, Review of functionality  happens which is created during the sprint. The goal of this meeting is to get feedback from the product owner and any other stakeholders. It should not last more than 4 hours
  • Sprint Retrospective:At the end of each sprint, the team participates in a retrospective meeting, to reflect on the past sprint. It is used to identify opportunities to improve in the new sprint.Two main questions are asked in the sprint retrospective:
    • What went well during the sprint?
    • What could be improved in the next sprint?

Wrap Up

There is a lot of information to share on SCRUM but we also have to work in sprints so that our users can enjoy the incremental product.

Author: hershey

A passion for knowledge drives me to do programming, A passion for programming drives me to create something different, A passion for creation drives me to spread the knowledge.

Share This Post On

0 Comments

  1. nice superb explaination

    Post a Reply
  2. thanks for the tutorial
    I am having a problem.
    The feature “Create SQL server database” isn’t available , I can’t select it.
    Can you help, please ?

    Post a Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

More from CodeSpread:

  • Agile Encounters UnpredictabilityAgile Encounters UnpredictabilityWhat is Agile? Wikipedia says “Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through...
  • Interview Question Series: 1st AnswerInterview Question Series: 1st AnswerWe shared our first comic on interview question two days back and today we are sharing our answer for the question. This is one of our attempt to learn the basics in a unique way. Interview Ques...
  • Interview Question SeriesInterview Question SeriesWe have shared our experiences with our readers from quite sometime. Today, when one of our readers asked us to write some interview questions then we realized that we should take an initiative and...
  • Few lines about Static code analysisFew lines about Static code analysisStatic code analysis We divide the term into two parts: Static+code analysis. Static in programming can be referred to as non-running/non-dynamic and code analysis is a process where the code is...
  • SDLC: Importance of Requirement Analysis.SDLC: Importance of Requirement Analysis.What is SDLC? SDLC is the acronym for Software Development Life Cycle or System Development Life Cycle.It is a conceptual model that describes the stages involved in development of a software or a...
  • Freeze Business Logic Layer.Freeze Business Logic Layer.We regularly work on three-layer architecture for application development and always use some standard data layer and UI layer guidelines for design but what we always ignore is business logic laye...
  • Risk Management in IT: Another step for QualityRisk Management in IT: Another step for QualityWhat is Risk? Risk is an uncertainty. Here, this pertains to a situation where It is difficult to decide that whether a particular event will occur or not. But if it occurs then what impact it wil...
  • Best Practices: Does Professional Database exists?Best Practices: Does Professional Database exists?What is Database? Database is a structured set of data, which facilitates storage,search and retrieval. Databases revolves around tables and relationships between them. Imagine you have a truck lo...