Agile Fundamentals

Agile, agile, agile. If you’ve been in working in software, then you know this is one of the popular project management buzzwords. Many say they do agile, but few truly get the essence of agile. This article will give a brief overview and the benefits of agile, and where many ‘agile cowboys’ fail in using agile. But before we go into agile, we need to first understand the previous project management methodology.

Waterfall Methodology

Waterfall is the traditional methodology of linear project management and was popular in the 1980s.This methodology consists of 5 phases. It starts by analyzing the problem and gathering requirements of solving a problem, getting a design team to develop solution, handing it off to the building team, then testing and finally delivering to the customer. This linear process was done in phases, and if there were issues, would be passed back to the previous phase.

Credit to the author.

Agile methodology

Agile is an iterative approach to developing a product, emphasizing cross-team collaboration with speed in terms of continuous delivery of products. This methodology allows teams to adapt quickly to changes. Also known as adaptive methodology, is best suited for projects where:

  • Work is not well understood, high technical uncertainty
  • Requirements are not stable, high domain uncertainty
  • Support for rapid innovation and changing requirements required

For example, here is how scrum, one of the methodologies that follow the agile principle, looks like. Notice that the steps are similar to the waterfall methodology, except it has been broken up into smaller time-frames. This is to accommodate the faster rate of change that is happening around us, particularly in the software industry. Below is an illustration of Scrum, one of the frameworks of agile.

Source: https://www.scrum.org/resources/what-is-scrum

Advantages of agile are:

  1. Embraces change and is quickly adaptive
  2. Focus on functionality and customer satisfaction
  3. Incentivizes stakeholder communication and teamwork
  4. Uses visual management communication tools (e.g. Kanban boards) to engage the team

Drawbacks of agile are:

  1. Strong tendency towards IT‐related projects
  2. Transition from traditional approaches can be hard for people to accept
    1. To avoid this would require proper change management. Learn more in our article on how to conduct change management.
  3. Can become disjointed and directionless, an excuse for absence of internal processes and organizational chaos

When to Use Waterfall

That is not to say that the waterfall methodology has gone completely out of fashion, and all companies now must adapt agile. There are some companies that in fact do make sense to stick with the waterfall methodology of development. For example, car manufacturing companies where it is expensive to make iterative adjustments and changes would rather take more time upfront in deciding the overall design of a car.

For software companies and products, it is now common practice to use an agile approach to project management. Let’s have a look at the two popular flavors of agile.

Agile frameworks

Scrum and kanban are two different frameworks following the agile philosophy. Each one has its benefits, as shown below.

Kanban

Kanban, which is japanese for signboard, is a continuous process of agile development which allows teammates to have real-time communication and complete transparency on the tasks being worked on. Inspired by the Just-In-Time (JIT) philosophy, the kanban workflow is one where the work in progress (WIP) matches the team’s capacity.

One of the defining features of kanban is the task board. It starts with a list of tasks to be done, and team members move tasks to different columns based on the progression of the task. There is only one taskboard, and it tracks all the work at any given time. Below is an example of a snapshot of a kanban taskboard:

Credit to the author.

As you can see, the pipeline of the work is always continuous and keeps flowing with new tasks. There is also a limit to how many tasks can be work in progress. This board does not belong to any specific team, but keeps track of all development.

Scrum

Scrum is another framework in the agile methodology. Instead of kanban’s philosophy of JIT, it instead focuses on getting chunkable works done at a consistent time interval called sprints. Scrum also has scrum ceremonies that occur during the sprints. To read more about the different activities in scrum, have a look at our article here. Scrum also has different roles in the product owner, scrum master, and the development team. To know more about the roles in a scrum team, have a look at our article here.

Since in scrum we have the concept of a sprint, where there is a fixed workload amount, the task board will look different at different times. Here is an example of a scrum board during a sprint:

Credit to the author.

After the sprint is completed, the sprint task board is no longer used and a new one is created for the following sprint. During a sprint, no new tasks can be added to the task board. If at the end of the sprint there are tasks left incomplete on the task board, they are put back onto the backlog. The tasks that are completed then provide information for sprint tracking, on average, how much can be done by the team in the given time. This can be fed to future estimation of sprints.

Now that you got some fundamentals, you can begin to explore the world of agile project planning.

 

Resources:

https://www.atlassian.com/agile

https://www.atlassian.com/agile/scrum

https://www.atlassian.com/agile/kanban

https://www.atlassian.com/agile/project-management

https://www.mountaingoatsoftware.com/agile/new-to-agile-or-scrum

https://www.seguetech.com/waterfall-vs-agile-methodology/

https://www.atlassian.com/agile/kanban/kanban-vs-scrum

https://svpg.com/waterfall-deconstructed/

https://www.scrum.org/resources/what-is-scrum

 

Jonathan Kurniawan

About Jonathan Kurniawan

Hi! I'm Jonathan Kurniawan. I have 4 years of experience working as a software engineer at Dolby on various different products. I'm currently pursuing my MBA from Hult International Business School and received my Bachelor in Computer Science from University of New South Wales, Australia. I'm excited to share my knowledge at the Data School by Chartio.