Agile is a methodology that encompasses several frameworks, the most popular of which is Scrum. Scrum projects are completed by using different “Artifacts.” An Artifact is a word used to reference things in Scrum.
There are three roles in Scrum. The Scrum Master is responsible or managing time and clearing any roadblocks the team may face. The Product Owner is responsible for requirements gathering, setting goals and grooming the product backlog. The Developer is responsible for creating the code. Scrum has four main types of activities. The sprint planning meeting is held at the beginning of every sprint to answer two questions “what will be built?” and “who will build it?” Notice, there is no discussion on how it will be built. The next type of meeting is the daily stand-up meeting which is a fifteen minute meeting that happens at the same time and location every day. The purpose of the meeting is to answer three questions; “what did you work on yesterday,” “what are you working on today” and “are there any issues that need to be addressed?” Near the end of the sprint, there is the sprint review which is a showcase to the relevant stakeholders so they are up to date and can ask questions. Finally, there is the retrospective, which collects what the team needs to start doing, stop doing and keep doing.
The Product Owner manages the product backlog. The backlog is used to define the scope of the work to be completed. Items within the product backlog are ordered with the highest valued and most detailed requirements at the top. During the sprint planning meeting, the Scrum team determine which items they will be able to complete in the upcoming sprint and move these items from the product backlog to the sprint backlog. The development team manages the sprint backlog and the Scrum Master makes sure the Scrum team adheres to the Scrum framework and removes any roadblocks for the Scrum team. As the scum team completes sprints, the create “potentially releasable increments of software.” These “potentially releasable” bits of software are released in Increments throughout the project until the project is complete.
On a more practical note, most software development teams use Atlassian’s Jira, Confluence and Bitbucket to organise their workload. Jira is the tool used to organise and delegate work using the Agile framework. Below is a screenshot of my Jira instance for UseInfluence.io, a SaaS platform I’m working on. In the screenshot, from left to right, you can see the product backlog, sprint planning backlog, current sprint, QA, release planning and production columns.
Below you can see an image of the useinfluence.io product backlog. As mentioned above, the most valuable and complete items have been organised at the top of the product backlog. On the left you can see green icons which represent use stories to be completed. The red icons indicate errors that need to be addresses. The orange icons represent questions that need to be answered. On the right of the page you can see who the item is assigned to, the item number and the epic it is assigned to.
Kanban is a technique to organise work within a team. Kanban has three main rules. Firstly, work should be visual. Secondly, work in the “work in progress” section should be limited. Lastly, work should be pulled (from left to right) and not pushed. Kanban does not prescribe roles within the team as in Agile and Scrum but there is usually a Project Manager or Product Manager to oversee the progress of the project. Kanban differs from Scrum in that it does not have time-boxed Artifacts (meetings). Instead, the work that is completed using the Kanban method is delivered continuously with delivery dates agreed between the team and the business. Kanban also differs from Scrum in that it does not use sprints, a predefined time-block that a Scrum team adheres to throughout the source of an Agile project. Instead, Kanban measures product in “cycle time” which allows it slightly more flexibility and because of this flexibility, Kanban is better suited for projects with a wide range of priorities.
Below is an example of a Kanban board I set up for this site, treswest.me, using Trello (also owned by Atlassian). Typically, a Kanban board has three columns; To Do, Doing/In Progress, and Done however can be set up many different ways depending on the organisation and the team using it. As mentioned above, Kanban uses a push technique. Imagine a Product Manager has completed all the requirements in one of the Cards in the To Do column. The Product Manager cannot push that Card to the Doing column on the right. Instead, the Card remains in the To Do column until the next team member has capacity to complete more work, picks up the Card from the To Do column and moves it to the Doing column. Work is pulled from the To Do, to the Doing, to the Done, from left to right. If for any reason a bottleneck occurs during the process, the team members farthest to the left will most likely have no work to complete. If this is the case, the team members with no work move to the location where the bottleneck has occurred and assists other team members with the removal of the bottleneck. Once done, team members return to their normal locations.
At a high level, it can be seen there are similarities between Scrum and Kanban however when digging a little deeper, and with an understanding of business processes and Agile, it’s easy to determine which framework and tools would be best suited for a specific project and team. For a project that needs more structure, process, delegation and reporting, then Scrum and Atlassian’s Jira is definitely the right choice. If a team is working on a project that is not clearly defined, lots of varying tasks and no defined end date, then Kanban and Trello would be a better choice.
As always, if you have any questions please feel free to get in touch or comment below.[/vc_column_text][/vc_column][vc_column width=”1/3″][/vc_column][/vc_row]