agile vs waterfall

What is Scrum?

Scrum is one of the most popular Agile methodology. Scrum is a powerful agile framework to delivering even the most complex project on time. But it works well for any innovative, personal, (non)technical or any scope of work. Its possibilities and potential are endless. 

Ken Schwaber and Jeff Sutherland have written The Scrum Guide to explain Scrum clearly 

Agile Scrum project involves a collaborative effort, as most import asset of scrum is the team which delivers working software, service, or other results as described by the PO in the product backlog.

History of the Scrum goes back to the 80’s and the place is the land of rising sun Japan and the birthplace of Scrum was Toyota Production System (TPS) at Toyota. In the mid 80’s, Hirotaka Takeuchi and Ikujiro Nonaka defined a flexible and all-inclusive product development strategy where the development team works as a unit to reach a common goal.

Overview of agile software development

Agile has been around for a while. It existed before the waterfall model, which was then the industry standard, but the mighty development framework Waterfall has fallen. Agile existed in the heart of manufacturing industry until it was discovered and introduced by Ken Schwaber, Jeff Sutherland and others to SW industry.

In software development industry, its know by its agile predecessor called the waterfall. But over the time its popularity and love from the industry had dimish, there is no evil about this framework, it’s just too old to continue further.

scrum vs kanban

Different Agile Frameworks

  • Kanban
  • FDD
  • DSDM
  • ASD
  • XP
  • Lean
  • Crystal
  • Scrum

Values of Agile and Scrum

agile scrum workflow

What Does it Mean to be Agile?

Agility is an important factor in the scrum. Scrum processes are designed to embrace change and are customer-centric. Scrum harness agility and welcome change. 

Emphasis on shorter and consistent releases for an active feedback loop. Bring motivation, trust, respect for the individual.

The Agile Manifesto 

Agile Manifesto, was first proclaimed in 2001, six years after “Agile Methodology” was originally introduced by the preeminent software engineers. The Manifesto came out of the DSDM Consortium in 1994.

Values of Agile manifesto

  • Satisfy the customer
  • valuable software
  • Welcome changing
  • Shorter timescale.
  • Work together
  • Motivated individuals
  • Trust
  • Job done.
  • Constant pace
  • Good design
  • Self-organizing teams

Agile Manifesto is discussed and explained in our previous two posts.

The Roles and responsibilities of Scrum Agile

In Scrum, there are distinct roles with distinct responsibilities. 

These include:

  • Scrum Master
  • Product Owner
  • Scrum Team
  • Stakeholder

Scrum roles and responsibilities are described in more detail in these blog posts.

Scrum Meetings

  • Sprint Plan
  • Daily Stand Up
  • Sprint Review
  • Sprint Retrospective
  •  

Details about Scrum Meetings
Agile Retrospective

Scrum artifacts

Major artifacts in Scrum

  • Product Backlog
  • User stories
  • Sprint backlog
  • Burn down chart

How to Write Good User Stories

User stories are very important artifact of scrum, we cover in detail how to write the best user storie

Examples and Templates of Writing Best User Stories

Understanding Condition of Satisfaction in User Stories

To write the best user stories you need to understand the condition of satisfaction for a user story, please check this link to acceptance criteria for user stories

What is Sprint Planning in Agile Scrum methodology?

Scrum is the most popular flavor of agile project management in software development, and at its core lies the concept of the Sprint — the Scrum term for iteration. In Scrum a Sprint is a predefined period of time in which the product has to be completed and made ready for testing. Traditionally, a Sprint lasts 1–4 weeks

Let’s look at the process of Sprint Management through a scenario. In this scenario, there are three main actors: The Scrum Master, The Product Owner, and the Development Team.

How To Conduct Effective Sprint Planning in Agile Methodology

The practice of Sprint management refers to the process of planning, creating and evaluating Sprints. Effective Sprint management is crucial for the success of any agile project. Each Sprint usually begins with a Spring Planning meeting. In this meeting the Product Owner (the person in charge of assigning the work) and the development team agree upon how much work can be accomplished by the end of the Sprint. The development team has the final say on the quantity of work that can be accomplished and the Product Owner has the final say on the criteria that needs to be met for the work to be approved and accepted. The output of the Sprint planning meeting is the Sprint Backlog. Once the backlog is created, the Development Team can start working on it.

The process of Sprint management should be handled with care and by giving attention to detail. This is because the Sprint planning provides the base for the rest of the teams work for the duration of the Sprint.

Sprint Fail and Success Scenarios

Now, let’s say in our scenario the Development Team cannot successfully complete the Sprint. The team runs into a number of problems which cause the Sprint to fail. All of the actors have failed to acknowledge the most common problems in Sprint management. The problems that they face are:

The Team Over-Commits:

This problem is faced most commonly by all teams practicing Agile. In this case, the team over-commits to the Product Owner in terms of what they can achieve in any given Sprint. This may be due to over confidence by the team members. Or it may be the result of them feeling a pressure that they are lacking behind in terms of work done as a whole. Whichever the cause, this scenario almost certainly leads to the Sprint failing to meet its planned objectives.

External impediments:

External impediments refers to circumstances from outside the team which negatively affect the progress of a Sprint. This may be in the form of an over bearing or careless Product Owner, who introduces new User Stories during the Sprint as opposed to introducing them in the Planning stage.

Team member availability and capacity during Sprint:

It is important that every team member is fully available and capable of carrying out their work for the duration of the Sprint. This needs to be addressed fully in the Sprint Planning stage. If it is not taken into account, it may be that one or more of the team members become unavailable during the duration of the Sprint, which will jeopardize the success of the entire Sprint.

Limitations in the Agile tool you are using:

Dependency for effective Sprint management can rely on the agile tool you choose to use. A good agile tool must have complete capability to effectively create and manage Sprints. It must also include a Resource management feature which allows for Effort logging. If such features are not present, the team can be limited due to the tool they use.

Guidelines To Run Successful Sprint in Agile Methodology

After much heated debate and after seeking advice from others, the team in our scenario established some guidelines to avoid mistakes and lead their Sprints to success! Yodiz has been created with these guidelines in mind to provide the user with the ability to successfully create and finish sprints. These guidelines are:

1) Proper Identification of Requirements

Sprint items need to be properly identified in the Planning phase, before the Sprint starts. This ensures that the team has a proper sense of its entire workload for the Sprint and therefore can decide whether or not to commit to it. It also reduces the chances of work items being introduced in the middle of the Sprint. The Yodiz Planning board was created with this in mind, as it allows you complete control over this phase of Sprint management. Items are easily created and delegated to various team members. It allows for setting the start and end dates of the Sprint among other things.

2) Planning the allocation of Resources

Proper sprint management relies heavily on evaluation and proper allocation of Resources (in this context, this means man hours from the development team). Proper knowledge of the resources and their capacities for work results in setting of realistic goals for the Sprint. Yodiz provides its users with the Sprint Resource Planner feature, which was created with this purpose in mind. The Resource Planner allows you to see how much man hours you have available in the form of Effort points. Each team member has his/her own number of Effort points. These are logged in terms of Effort logged and Effort remaining. Each individual item can also be assigned a certain time period for completion in terms of Effort. In this manner managers can also deduce which team member is doing how much work and whether this work is diverted to the proper channels.

3) Align the team’s priorities

Daily meet ups are required to keep the team on track during the duration of the Sprint. This also allows for the team members to speak up about their reservations on a daily basis. Managers can also keep track of the progress each individual team member is making towards achieving the Sprint goal. Care should be taken that new requirements are not added during the daily meet up and the team sticks to its decided goals from the Planning phase. Yodiz allows you to better carry out these functions with the Definition of Done and Resolved Reason features.

4) Emphasis on Transparency in Analytics

A smooth flow of work allows for logging of everything in the agile tool. If everything is in sync and processes are being followed, the results will show in a tools analytics. Yodiz provides the user with reports and graphs for this purpose. If all work is documented properly, the progress will show on these analytics. This serves to evaluate the progress of the Sprint during its duration as well as after its completion.

Another aspect that needs to be considered is the degree to which your Agile tool allows customizability. A high level of customizability allows each individual team to mold its processes according to its own unique requirements.

5) Rely on Progress Indicators

Effective tracking and analysis of Indicators during the Sprints duration can make or break a Sprint. Yodiz provides you with various indicators to meet this aim, including Progress Dashboard, Burn Down and Burn Up charts, Velocity measures, etc.

6) Inspect and Adapt

It is important for every team to look back on its previous work in order to gain a better understanding of their own performance. This allows the team to deduce what they did right and what they did wrong.

In Agile, the way to do this is with retrospective analysis. To learn more about the retrospective analysis, look at our blog post: Agile Retrospective

Sprint velocity is a useful measure to keep track of. It allows you to review your teams work in terms of work that has been successfully completed during previous sprints. For example, if the team completed 10 stories during a two-week sprint and each story was worth 3 story points, then the team’s velocity is 30 story points per sprint. Keeping track of your team’s sprint velocity allows you to gauge the effectiveness of your sprints.

Conclusion

Yodiz provides you a complete solution for all your Sprint management needs. We aim to address all of the problems associated with Sprint management and provide you with the tools and features geared towards eliminating these problems. Please let us know what you think in the comments section below!