Agile for newbies (Part 1)

Nothing in particular. I'm just getting tired of desparately looking for a fascinating front-end technology article, mofidying its content so that it will look like mine and submitting on time for the sake of my bloody 2-day salary. Besides, as the development process of my "awesome" project has been going out of control recently, I decided to make another call and write about a different topic this time in hope of evolving into something else, someday 😉)

1. Scrum introduction

1.1. Synopsis

Being a particular variant of Agile, Scrum is the most popular these days. While Agile is a set of principles, Scrum acts as a methodology putting those principles into effect with its well-designed practices and techniques. When it comes to Scrume, theoretical roles and concepts in Agile become concrete. To put it simply, Scrum lets you make your project actually happen.

Scrum is a team-based iterative and incremental Agile methodology for tackling projects. It has its own components including the Scrum Team, backlogs, and sprints.

As mentioned above, Agile itself is a set of guiding principles rather than a strategy ready to be put into practice. In time, Agile has evolved into numerous specific methodologies, such as XP (Extreme Programming), Scrum, Kanban, DSDM, AUP, and more.

1.2. About Scrum

For Agile, Scrum is an iterative & incremental process with the purpose of developing any product or managing any work. Scrum produces a potentially shippable product at the end of every iteration. In Scrum, tasks are broken into a series of iterations, called sprints, which takes you closer to the goal. The Scrum team acts in a self-empowered and coordinated manner in order to achieve a common goal.

1.3. The people in Scrum

Scrum revolves around Scrum Teams, a.k.a the source of energy and commitment in Scrum, which consists of 3 components: the ScrumMaster, the Scrum Team itself, and the Product Owner (the customer’s representative). The Scrum Team has daily stand-ups during which members discuss:

  • What they did in the day before
  • What they expect to do next
  • Any obstables they have run into

1.3.1. The ScrumMaster

Like the name said itselft, Scrum Master is in charge of implementing Scrum methods, values, and practices, thus, being the person who keeps the project on track and moving forward.

1.3.2. The Scrum Team

The Scrum Team consists of the actual task implementers. A team typically consists of 7 - 12 people who typically share the same location.

1.3.3. The Product Owner

The Product Owner (PO) is the voice of the customer in the Scrum Team. The PO is typically a product manager or business analyst in the IT firm, and he knows what the customer wants the product under development to do.

2. Scrum as a big picture

2.1. User stories

The customer tells the Scrum Team what’s needed through requirements which are called stories in Scrum. A story is a high-level definition of a requirement, still, containing just enough information so that the developers can give a reasonable estimate of the amount of effort to implement it.

For example, a story may be like “Teacher can send an online test link through Chat”.

During Sprint Planning, the Scrum Team takes the stories provider, then breaks them down into specific tasks. Each of these tasks is given a time estimate, either under the form of story points (recommended) or in days/hours. These tasks are then kept track of in the sprint backlog.

2.2. Backlogs

Backlogs are lists of stories and tasks that facilitate a Scrum Team to keep track of what needs to be done. There are 2 primary types of backlog:

The product backlog represents the larger picture and lists epics and stories for a product. A sprint backlog relates to the stories and tasks undertaken within a sprint. The items in sprint backlogs are picked from the product backlog during sprint planning.

2.3. Sprints

In Scrum, you execute projects in successive development iterations known as sprints. In a sprint planning session, items are taken from the product backlog and moved to the sprint backlog, based on the priority set by the Product Owner, and given an estimate. The goal of the sprint is to accomplish the items in the sprint backlog.

Sprints are intended to be 2-to-4-week work iterations. At the end of the sprint, a potentially shippable product is delivered to the PO for review.

For the PO’s part, no changes should be made to the requirements during a sprint (changes can be introduced at the next sprint planning session).

Sprints typically start with a planning session during which the sprint backlog is created from a prioritized product backlog, and end with an end-of-sprint review, as well as delivering a product to the product owner.

2.4. Daily stand-ups

A primary feature of Scrum development is Daily Stand-ups, which is a fancy name for "daily meeting". This is a mandatory meeting of the Scrum Team that takes about 15 minutes at the start of the day.

The main attendees are, obviously, the ScrumMaster and the Scrum Team, although the PO may also participate. The meeting is usually held with all people standing up to emphasize the brevity of the meeting. At the meeting, each participant is expected to answer three questions:

  • What did you do since the last Scrum?
  • What will you do until the next Scrum?
  • Do you have any roadblocks preventing you from doing your work?

The first two questions are about progress, and the last question is about removing any obstacles to progress.

(to be continued)

All Rights Reserved

Let's register a Viblo Account to get more interesting posts.