Category Agile – Scrum In Detail

What is Agile

What is Agile?

Agile is a set of principles that encourage flexibility, adaptability, communication and a working software over plans and processes.

In Agile software development, team work together more efficiently and effectively in developing complex project. It basically follows iterative and incremental technique.

What are Agile Promises?

Agile is not only about applying the set practices in developing software. It also brings in a change in the Team’s mindset which drives them towards building better software, working together and eventually landing them a happy Customer.

Popular methodologies of Agile?

  • Scrum
  • Kanban
  • Extreme Programming

 

All these methodologies focus on lean software development and help in building better software effectively and efficiently.

 

What is Scrum

Scrum is a most popular framework of Agile, which help to develop software project.
The word scrum comes from the sports rugby, where the team players pushing to the opponent team. Each player has a defined role in their position and can play both offensive and defensive as per the demand of the situation.
Similarly scrum team believes in self-managed development team with self-motivated and clear defined roles.
To memories scrum, you can call it 3 – 3 – 5 framework. It means scrum project has 3 Roles, 3 artifacts and 5 Events.

These are listed below:-

Roles – Product Owner(PO), Scrum Master, Team(Developer, designer, tester)
Artifacts – Product increment, product backlogs, Sprint backlogs.
Events – Sprint, Sprint planning, Daily Scrum meeting, Sprint review and Sprint retrospective.

Scrum Characteristics and Roles

Characteristics of Scrum:-

  • Scrum team members are Self-organized and focused.
  • Scrum works on lean documentation i.e less document required. They have a very precise and to the point stories.
  • The teams work together as a single unit.
  • Has a definite timeline of maximum one month.
  • Scrum help to develop project in many small parts.
  • Resources capability and availability are considered before committing anything.

Above all a great scrum team consists a product owner who maximises value, a scrum master who help team to improve continuously and last but not the least a team who focus on delivering high quality product.

Now let’s discuss one by one

  1. Product Owner –

A product owner (PO) is responsible for:

  • Developing product vision and market strategy.
  • Maintain product backlogs and order them according to necessity.
  • Involving stakeholders and end users of product.
  1. Scrum Master –

Scrum master is ensuring that the scrum team is following scrum theory, practices and rules. The Scrum Master is a servant-leader for the Scrum Team.

Scrum master act as..

  • Servant-Leader, who take care of team member’s needs, achieving the result in line with organisation values, principle and business objective.
  • A good coach, coaching the individual with a focus on mind-set and behaviour, the team in continuous improvement and the organization in truly collaborating with the Scrum team.
  • Facilitator, by setting the stage and provide clear boundaries in which the team can collaborate.
  • Manager, responsible for managing team’s health, processes and managing team culture.
  • Mentor, that transfers agile knowledge and experience to the team.
  1. The Development Team –

Scrum Guide the Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint. Team Creates the increment of product. The resulting synergy optimizes the Development Team’s overall efficiency and effectiveness.

Development Teams have the following characteristics –

  • Self-organizing. They decide how to turn Product Backlog Items into working solutions.
  • No titles use in scrum, everyone is a developer.
  • Committed to achieving the Sprint Goal and delivering a high quality increment.

 

Daily Stand-up Meeting

As name has suggested, daily stand-up meetings is a daily status meeting among all the team members of agile. Meeting is not only focus on status update it also brings the problems of team members into focus so that it can be quickly addressed.

So what is Daily Stand-up?

  • It happens among agile team members where everyone has update their task status. It roughly held for 15 to 20 minutes.
  • Every Team members has to answer three questions.
    • What I did yesterday.
    • What I will do Today.
    • Any Problem I am facing or I am blocked due to.
  • Daily stand-up is only for status update not for discussion. For any discussion team need to schedule another meeting.
  • Members need to be attentive and stand instead of sitting so that meeting can quickly over.

Attendee of Stand-up-meeting:-

  • Scrum Master, Product owner and delivery team member are the active participants of the stand-up meeting.
  • Stakeholders and customers are also encourage to be a part of meeting but they can only observe the activity not supposed to participate.

Note – If any Scrum team members are sitting on different location they can connect through conference call.

Agile User Stories

Agile mythology follows lean documentation it doesn’t mean there is no documentation takes place. In Agile user story is main the document to narrate user requirement in simple fashion. User stories are basically used in agile software development. User stories are basically description of a software feature from an end user perspective. A user story describes the type of user, what they want and why.

A User stories template uses the following types of format.

 

 

 

So in simple words you can say it cater following elements.

  • Who it is for?
  • What it expects from the system?
  • Why it is important (optional?)?

Role – The user should be someone who interacts with the system.

  • Be specific

Feature – As name suggest it should be the list of features that use want to do. Behavior of the system should be written as action.

  • Usually unique for each user stories
  • Active voice should be used instead of passive voice(“Can be notified”)

Reason – As name suggest, you need to write as a user why you want this feature. In other word what benefit a use will have with this feature.

  • Many user stories can share same reason or benefits.

Example of User stories –

  • As a [customer], I want [shopping cart feature] so that [I can purchase items online].
  • As a [customer], I want [to be able to view the items in my cart] so that [I know for sure what I’m purchasing].

 

 

Note point-

An agile story should be short, so that it can be fit in the sticky note or note card. User stories should be written in business language so that it can be easily understandable to business people as well as scrum team what customer wants and why they need particular feature.

 

 

Scrum-Sprint

Sprint is similar to 100 or 200m sprint. Depending upon length of the track we call it sprint or marathon. When there is a race, there will have length of the track and in agile sprint length measured in weeks.

Similar to race when the sprint starts whole team runs with its full capacity and capabilities till its completion. The smaller the sprint the faster you get the results.

Sprint is one time boxed iteration of a continuous development cycle. Within a Sprint, planned amount of work has to be completed by the team and made ready for review. Sprints are always short: normally about 2-4 weeks. Team collaboratively sets their target with Product Owner as “Sprint Goal” and plans their work in Sprint Backlog.

 

Each sprint follows a defined process –

Scrum–Product Backlog

Product backlog is basically a priorities feature list that needs to be done. In agile environment all task list broken down in to user stories or epic. The product owner is responsible for product backlog, including its content. Product Owner is the one who prioritize it based on the customer’s feedback or business value.

A typically product backlog consist following types of item –

  1. Features
  2. Bugs
  3. Technical work

Some people might asked why bugs? Because there’s really no difference between a bug and a new feature — each describes something different that a user wants. Bugs are also put on the Scrum product backlog.

Importance of Product Backlog –

  • Through product backlog estimation of features will be easy.
  • Product backlog help to priorities the work item that need to be develop first. Team ranks the feature item
  • It helps in planning and roadmap of the product.

Characteristic of Product Backlog –

  • Product backlog consist all wish list and product requirement of product.
  • Product owner need to make sure each product backlog consist detail user stories.
  • The product backlog acts as an input to the sprint backlog when comes to functionality.
  • There are also bugs/issues, epic, user stories and themes are included in the product backlog

Following are example of Product backlog. Every backlog contain detail requirement. As you can see if user will click on id, user story or detail requirement will open.