Tuesday, 31 July 2018

An introduction to agile Scrum and Kanban for SaaS Productivity

      The discipline of product management has grown and evolved in the era of the internet as Software as a Service(SaaS) and web apps. Agile focuses on ever-changing business requirements and the needs to create a product to be consumed and shipped in smaller units. It supports strong teamwork, accountability,  and communications to ensure the product aligns with client company goals. The success of the product depends on the solid and continual execution of updates, growth surfaces and more. So, the product management tools have to adjust the complexities of continuous delivery.
           The Scrum and Kanban are well-known agile productivity tools. It is to decide on your projects to be completed quicker or if you want to improve the overall process. Try the Scrum method, if you want to produce the work faster, or use the Kanban to improve your production process. If the project demands a linear workflow, implement the waterfall method.  It depends on the business requirements to decide between these two agile methodologies.

 Agile, Scrum & Kanban: Agile is used to describe the project management methodology which breaks down the large projects into smaller manageable units. It is used in software development to speed up the completion of projects. If you want to work in agile, the Scrum and Kanban are two ways to do it. These are two different methodologies with subtle differences. Both methods use the physical board, where people work between three different categories,
* Work that needs to be done
* Work that is in Progress and
* Work that has Completed

Overview of Scrum Method:
       The Scrum is a project management framework mainly describes an iterative and incremental approach for the project work. It is a transition from a project focused to a team-centric structure. The scrum model takes time to implement. But, the effort will be the payoff. The components of the scrum framework are,
   *  Roles:  The Scrum Master, Scrum Product Owner, and the Scrum Team.
   * The Prioritized Product backlog containing the end user requirements called as sprints
   * Scrum Review Meeting, Scrum Retrospective Meeting, Daily Sprint Meeting
    Generally, the Scrum teams are small. Their main tasks are to break down the requirement, create tasks and distribute them. This will be used for Sprint Backlog. They will perform daily Sprint Meeting and ensure at the end of the Sprint, the shippable functionality is delivered. The sprint rules get the team motivated and productive.
Sprint Rules:
1. Avoid adding new features to your Sprint Once you have started it.
2. Keep new features for the next iteration
3. Commit to complete your sprint first
4. Keep your sprint short, deliver early

    The Scrum team selects the User Stories and make sure that they can finish within the 2-4 weeks of Sprints. They are allowed to commit their own goals and work with the best possible performance. Also, they need to update the status of the efforts and allow the creation of Sprint Burn Chart. The Scrum masterwork as a servant-master within the scrum team. His main tasks are to reach its maximum productivity on the scrum team. The Scrum Product Owner can be anyone with a solid understanding of the user or the end customer and or stakeholders responsible for maximizing the value of the product and ensure that work is done at the right time.
      Product backlog consists of all the requirements that need to be done to successfully deliver the working software system. It is a living document that there is a list of things that need to be done within the project.  The sample Product backlog is,

The Definition of Done: When the feature is complete(in terms of quality, testing, and documentation) are defined by the definition of done(DOD) right at the start of the sprint. The incomplete or untested feature will not be released to the customer. This allows the resource usage(time, budget) to the customer and minimizes the waste. This Scrum Implementation Steps will help the best practices in your organization.

Using the Kanban Method to achieve Flow in the Business: It is also an incremental approach and evolutionary process that the systems change for the organization. It was originally developed in Toyota Factory to overhaul the system and delivery. It uses the visualization via kanban board of tangible work items. The flow-based principles applied in numerous types of work environments.  It allows limiting work in progress by multitasking and context switching, exposes any operational problem your business may have and stimulate the collaboration by continuously improve the system.

     It is a pull system that provides focus, sustainable pace & regular delivery by focusing on optimizing the flow of work from beginning to end. It also proves to be a great way to promote the environment.
The Key Principles of Kanban:
    1. Start with what you Do now
    2. Respect the current process, roles, responsibilities and job titles - Recognize some part of the existing process work acceptably and worth preserving.
   3. Agree to pursue the incremental and evolutionary change
   4. Encourage the act of leadership at all levels. Work collaboratively and don't wait for someone to make things better.

Kanban Method :
Visualize your Current Process:  Start defining your kanban board that visualizes the process your team to develop, test and deliver/deploy the user stories. State changes in the work that generally reflect changes in the activity used to generate new information about that work. In the Ready-Doing-Done board, expand the Doing column into each step the user story goes through. The kanban board look like the one below,

    Define WIP Limits: Once you get the visualization of kanban board, You need to implement WIP in each stage/step to reflect the maximum amount of work should be there in each step at a time. Then, you have to observe the typical flow of work and decide the WIP limit specified per stage. WIP Limits are shown as numbers on each stage in the picture,
                                 Image Credit: Pawel Brodzinski

Improve Flow by addressing the Bottlenecks: Once you start to observe the flow and evaluate the stages where work is getting blocked, you can discuss in your team meetings and address the problem being faced. Solutions would range from adjusting WIP Limits in earlier stages to regulate flow better by defining explicit policies to handle work that is being held up, adjusting the resource assignment and so on.
    When the team understands theories about workflow, process, and the risk then they will be able to improve the problem. The team will evaluate the situation, suggest a change and predict an outcome. The predictability of kanban comes from measuring the cycles time and using that to predict the delivery date of an item in the backlog.
The Advantages of Kanban are,
 * It provides a sustainable pace for your team
 * It supports for small changes over the time
 * Gain faster delivery and more money.

Scrumban: Scrumban is the blend of Scrum and Kanban. Scrumban is the agile methodology for scrum team exploring the Lean and Kanban concepts in the organization.  Basically, the Scrumban framework is implemented when the team opt for Scrum as the working way and use Kanban methodology as a magnifying glass of view that carry out the continuous improvement in the work. Many organizations experience issues with scrum methodology. So the enterprise discovered the optimized means of clubbing the methodologies as the new way for the teams to follow. The need to combine these two concepts is due to the cons of both techniques. Those are,
Cons of Scrum :
  1. In the scrum, sprints must be time-boxed to a month or less. This deaccelerating the working pace of the team
  2. Each sprint should be a potentially releasable product at the end of the increment. The teams are asked to deliver the software design that is coded and tested at every span to the stakeholders. This creates anxiety for the members.
 3. Scrum teams are entirely committed to customer requirements. If they fail to achieve the target, they might add technical debts to solve the time-boxed problem.
Cons of Kanban:
     Kanban first used in car manufacturing line and believed that can be used in the repeatable processes. Also, it will not be used for complex software development process systems that the needs changes at each and every point.

So, the term Scrumban discovered by Corey Ladas coined the syllables "scrum" and "ban" that describe the several phases of transition from the Scrum to Kanban. He suggested that the time boxed principle mandated by the scrum is no longer necessary and there are few changes made in the practice of Scrumban over the kanban and scrum are,
    * Organized and added specialized teams and function
    * Queuing and the laws of flow theory are applied
    * Realized the value of time-boxed iterations.
By applying the right changes, You can overcome the cons of the agile methodologies and it can be used in large enterprises. The basic metrics of flow of the scrum team using the kanban are,
    * Work In Progress(WIP): It is the number of work item started but not finished(according to the scrum team's definition of workflow in the kanban guide for scrum teams)
    * Cycle Time: It is the amount of time elapsed between when the work item starts and the work item finishes.
    * Work Item Age: It is the amount of time between the work item started and the current time.
    * Throughput: The number of work items finished per unit of time. It is also the exact count of work items.

No comments:

Post a Comment