Course Discount

Search

How to Use Scrum Board for Agile Development

What is a Scrum Board?A Scrum Board or an Agile Board is a visual representation of the work planned, progressed, and completed by a scrum team in a sprint or iteration at any given point of time. The board is comprised of columns that represent various successive states of the workflow progressing from left to right. The work items appear in the column as per their current state in the development workflow and then move across the board from one column to the next till they reach completion or last stage.The “To Do / Ready” and “Done” states appear in almost every Scrum Board, the “In Progress” items can be further categorized into various states e.g. – Analyse, Design, Code, Test etc. These states are solely created as per the needs of the Scrum Team and Project.Image 1: Simple Scrum Board  Why is a Scrum Board needed? The Scrum Board visually represents the amount of work along with their current states in a Sprint.  The Board speaks to the team everyday about the holistic progress made by the entire team towards their Sprint Goals and provides a sense of accomplishment and achievement when work items are completed. It avoids creation and progress of “Hidden Work” or “Shoulder Tap” injected work that may not be prioritized. In the event of an interruption (like production issue, any new or changed requirements, changed priorities), it helps Business to reprioritize the work items quickly looking at the current state of the planned items in the Sprint.   It also keeps reinforcing road blocks and impediments faced by the team to all the major stakeholders. Any number of written and verbal communication may not be able to visually represent the state of the entire sprintas a whole as effectively as this visual radiator.Scrum board allows teams to manage the flow of work across the sprint as it helps in avoiding multi-tasking, overloading one person because everything is visible and traceable. How to organize a Scrum Board Physical and Virtual Scrum Boards Teams that are entirely collocated can benefit from physical boards that caneven just be a whiteboard placed near their work cubicles. A physical board could also be on a wall having coloured tape for columns and sticky notes for cards.  Team members typically swarm around the board /agile wall/task wallduring their daily stand up or whenever there is a need.   Image 2: A typical physical scrum boardImage 3: A typical Jira scrum boardDistributed teams on the other hand find virtual boards easy to use. There are many tools available in the market to set up Scrum Boardssuch asJira , Rally , Monday.com etc.  In some companies, the Scrum boards are displayed on giant monitors placed near the teams work cubicles. Cards and Columns are the two basic entities on the scrum board.Card is the entity on the board that represents a “Work Item”. A Card can be a User story /Production Bug/Technical Task. During the course of the Sprint these cards travel through the board from left ,“To-Do” to right “Done”.  A Simple Scrum Board for Beginner Teams The Scrum Board below is an example of a typical team board in a software project. Image 4: Typical scrum board for a software projectThe items on the Product Backlog are discussed and as per priority and their readiness, pulled into the “To Do” or “Ready” column during Sprint Planning. At the beginning of a Sprint all items in the “To Do” or “Ready” column comprises the Sprint Backlog of the team. As the Sprint progresses, the items move into the downstream columns until “Done” is reached. A clear “Definition of Done” helps to conclude if the story / task is completed. Usually beginner teams build the board translating the current workflow of their work items into columns on the board. As the teams evolve, they adjust the board accordingly. Effective Visual Representation of data  Information on the Cards Physical Cards usually are post-it notes or sticky notes that carry the User Story/Description, Acceptance Criteria and the Story Points as a minimum. Using post-it notes is a deliberate attempt to keep the story small and avoid loading a lot of work into one story.  In a Virtual board, cards can have exclusive fields to carry information like Project Name/Assignee/Reporter/Created Date etc. These might serve multiple purposes like metrics/reports. Colour-Coded Cards Colour coding is an excellent technique used to convey important information to the audience at the first quick glance.Cards can be colour coded based on their work type like User Story/ Technical Task/Production Bugs. Cards could also be flagged (in the case of a Virtual board) or overlaid with a (preferably) Red coloured card to convey a risk/dependency that needs attention. Swim lanes Defining Swim lanes is a very useful mechanism to categorize the work items on a Scrum Board. They are horizontal rows on the board that carry a specific type of work that is different from the normal/ work categorized by a certain parameter. For e.g. a team that has to resolve emerging high priority production bugs would prefer to use a “Fast Track” swim lane to progress the bug and then continue with their original Sprint work. A team that works on hardware, firmware and software components in a sprint might want to use different swim lanes for each component.  Swim lanes are for the teams. Creating a swim lane for each team member may not be a good idea since the basic guideline for scrum is to work as a team and this representation might affect a team’s mindset. In the board below blue cards are User Stories and green Cards are tasks. Red cards are Production bugs. Some cards are flagged red indicating risks or impediments. Image 5: Example of scrum board with colour-coded cards and swim lanesAspects of Kanban in Scrum Board A common challenge encountered in projects is when tasks accumulate or pile up in a phase or stage of the workflow. There could be several reasons why that happens. But identifying them is the key to solving that challenge and the Scrum Board effectively helps in this. Assume that Cards D, E, F, G have completed development and ready for testing. Cards B, C are being tested. It is day 6 of a 10-day Sprint.  Developers might now bring in H, I from the Ready Column to start development work, creating a bottleneck at Testing. Image 6: Scrum Board without WIP LimitsConcepts of Kanban can be borrowed into a typical Scrum board to address this. One of the techniques that can be used is to split the column into “In Progress” and “Ready”. This will set the stage for a “Pull” mechanism at every stage in the workflow of a story.  Introducing “WIP Limit” or “Work in Progress” Limit at the columns ensures multiple work items do not pile up at one stage of the process, do not get “pushed” downstream but rather gets “pulled” by downstream process and there is a steady flow created in the system. Considering the team is at day 6 of the iteration, it is recommended the team “stops starting and starts finishing”.  If the team swarms and completes the testing of D, E,F,G there could  be more business value delivered rather than starting development of H and I and having only few of the Development complete cards partially tested. In this scenario, a WIP Limit of 4 at development prevents the team from bringing in more work items into the development phase. The team can now swarm to complete the testing of the developed items taking them to completion.  Image 7: Scrum board with WIP limits and columns split into “In progress” and “Ready”Effective use ofthe Scrum Board  Updating and maintaining the Scrum Board Scrum board is owned by the team and it is the team’s responsibility to update the board to reflect the reality.The team also has the responsibility to evolve the board to suit the need of the project by experimenting on concepts of WIP Limit. How best to use the information on the Board Scrum Board can be used to identify bottlenecks in the flow of work. If bottlenecks are identified in one stage of the workflow, the team can resort to Swarming or enforcing WIP Limits. Seeing the work items move through the Scrum board and reach “Done” during the Sprint provides the team a sense of accomplishment. Challenges and ways to overcome them Easier said than done, updating the board is one of the biggest challenges faced especially in beginner teams. Not every team member will be prompt in updating the board. To overcome this challenge, updating the board could be one of the team ground rules with non-compliance attracting fun consequences decided by the team, such as the defaulter treating the team with chocolates/coffee or updating everyone’s scrum board the next day. The Scrum Master can immensely help the team realize the power of the board by using it during agile ceremonies like planning, stand up and retrospectives. Facilitating the scrum by traversing the board from right to left (i.e.“Done” to “To-Do”) is another tactic to keep reinforcing the value of the board and motivating the teams.Having conversations in stand-ups by traversing the board from right to left will first bring up cards that are done or almost done and helps see what has been accomplished in the sprint.  What a Scrum Board is not A Scrum Board cannot replace the conversations and interactions that are always encouraged in Agile projects. Flagging a card on the scrum board / posing queries on a card should not solely replace the conversations around these. A Scrum Board is not for executives to monitor the team’s progress and efficiency, but it is for the team to monitor their sprint items as a whole. Key takeaway A Scrum Board is an excellent tool for the team to visualize their work, look at everyday progress, identify bottlenecks, make immediate course corrections, so that they can meet their Sprint goals. Used rightly, it will serve the team and benefit them. However, if it is used by management to monitor the team or if the team members consider it as a tool to update management then it loses its purpose and becomes just another overhead. 
How to Use Scrum Board for Agile Development
KnowledgeHut
Rated 4.0/5 based on 13 customer reviews

How to Use Scrum Board for Agile Development

What is a Scrum Board?A Scrum Board or an Agile Board is a visual representation of the work planned, progressed, and completed by a scrum team in a sprint or iteration at any given point of time. The board is comprised of columns that represent various successive states of the workflow progressing from left to right. The work items appear in the column as per their current state in the development workflow and then move across the board from one column to the next till they reach completion or last stage.The “To Do / Ready” and “Done” states appear in almost every Scrum Board, the “In Progress” items can be further categorized into various states e.g. – Analyse, Design, Code, Test etc. These states are solely created as per the needs of the Scrum Team and Project.Image 1: Simple Scrum Board  Why is a Scrum Board needed? The Scrum Board visually represents the amount of work along with their current states in a Sprint.  The Board speaks to the team everyday about the holistic progress made by the entire team towards their Sprint Goals and provides a sense of accomplishment and achievement when work items are completed. It avoids creation and progress of “Hidden Work” or “Shoulder Tap” injected work that may not be prioritized. In the event of an interruption (like production issue, any new or changed requirements, changed priorities), it helps Business to reprioritize the work items quickly looking at the current state of the planned items in the Sprint.   It also keeps reinforcing road blocks and impediments faced by the team to all the major stakeholders. Any number of written and verbal communication may not be able to visually represent the state of the entire sprintas a whole as effectively as this visual radiator.Scrum board allows teams to manage the flow of work across the sprint as it helps in avoiding multi-tasking, overloading one person because everything is visible and traceable. How to organize a Scrum Board Physical and Virtual Scrum Boards Teams that are entirely collocated can benefit from physical boards that caneven just be a whiteboard placed near their work cubicles. A physical board could also be on a wall having coloured tape for columns and sticky notes for cards.  Team members typically swarm around the board /agile wall/task wallduring their daily stand up or whenever there is a need.   Image 2: A typical physical scrum boardImage 3: A typical Jira scrum boardDistributed teams on the other hand find virtual boards easy to use. There are many tools available in the market to set up Scrum Boardssuch asJira , Rally , Monday.com etc.  In some companies, the Scrum boards are displayed on giant monitors placed near the teams work cubicles. Cards and Columns are the two basic entities on the scrum board.Card is the entity on the board that represents a “Work Item”. A Card can be a User story /Production Bug/Technical Task. During the course of the Sprint these cards travel through the board from left ,“To-Do” to right “Done”.  A Simple Scrum Board for Beginner Teams The Scrum Board below is an example of a typical team board in a software project. Image 4: Typical scrum board for a software projectThe items on the Product Backlog are discussed and as per priority and their readiness, pulled into the “To Do” or “Ready” column during Sprint Planning. At the beginning of a Sprint all items in the “To Do” or “Ready” column comprises the Sprint Backlog of the team. As the Sprint progresses, the items move into the downstream columns until “Done” is reached. A clear “Definition of Done” helps to conclude if the story / task is completed. Usually beginner teams build the board translating the current workflow of their work items into columns on the board. As the teams evolve, they adjust the board accordingly. Effective Visual Representation of data  Information on the Cards Physical Cards usually are post-it notes or sticky notes that carry the User Story/Description, Acceptance Criteria and the Story Points as a minimum. Using post-it notes is a deliberate attempt to keep the story small and avoid loading a lot of work into one story.  In a Virtual board, cards can have exclusive fields to carry information like Project Name/Assignee/Reporter/Created Date etc. These might serve multiple purposes like metrics/reports. Colour-Coded Cards Colour coding is an excellent technique used to convey important information to the audience at the first quick glance.Cards can be colour coded based on their work type like User Story/ Technical Task/Production Bugs. Cards could also be flagged (in the case of a Virtual board) or overlaid with a (preferably) Red coloured card to convey a risk/dependency that needs attention. Swim lanes Defining Swim lanes is a very useful mechanism to categorize the work items on a Scrum Board. They are horizontal rows on the board that carry a specific type of work that is different from the normal/ work categorized by a certain parameter. For e.g. a team that has to resolve emerging high priority production bugs would prefer to use a “Fast Track” swim lane to progress the bug and then continue with their original Sprint work. A team that works on hardware, firmware and software components in a sprint might want to use different swim lanes for each component.  Swim lanes are for the teams. Creating a swim lane for each team member may not be a good idea since the basic guideline for scrum is to work as a team and this representation might affect a team’s mindset. In the board below blue cards are User Stories and green Cards are tasks. Red cards are Production bugs. Some cards are flagged red indicating risks or impediments. Image 5: Example of scrum board with colour-coded cards and swim lanesAspects of Kanban in Scrum Board A common challenge encountered in projects is when tasks accumulate or pile up in a phase or stage of the workflow. There could be several reasons why that happens. But identifying them is the key to solving that challenge and the Scrum Board effectively helps in this. Assume that Cards D, E, F, G have completed development and ready for testing. Cards B, C are being tested. It is day 6 of a 10-day Sprint.  Developers might now bring in H, I from the Ready Column to start development work, creating a bottleneck at Testing. Image 6: Scrum Board without WIP LimitsConcepts of Kanban can be borrowed into a typical Scrum board to address this. One of the techniques that can be used is to split the column into “In Progress” and “Ready”. This will set the stage for a “Pull” mechanism at every stage in the workflow of a story.  Introducing “WIP Limit” or “Work in Progress” Limit at the columns ensures multiple work items do not pile up at one stage of the process, do not get “pushed” downstream but rather gets “pulled” by downstream process and there is a steady flow created in the system. Considering the team is at day 6 of the iteration, it is recommended the team “stops starting and starts finishing”.  If the team swarms and completes the testing of D, E,F,G there could  be more business value delivered rather than starting development of H and I and having only few of the Development complete cards partially tested. In this scenario, a WIP Limit of 4 at development prevents the team from bringing in more work items into the development phase. The team can now swarm to complete the testing of the developed items taking them to completion.  Image 7: Scrum board with WIP limits and columns split into “In progress” and “Ready”Effective use ofthe Scrum Board  Updating and maintaining the Scrum Board Scrum board is owned by the team and it is the team’s responsibility to update the board to reflect the reality.The team also has the responsibility to evolve the board to suit the need of the project by experimenting on concepts of WIP Limit. How best to use the information on the Board Scrum Board can be used to identify bottlenecks in the flow of work. If bottlenecks are identified in one stage of the workflow, the team can resort to Swarming or enforcing WIP Limits. Seeing the work items move through the Scrum board and reach “Done” during the Sprint provides the team a sense of accomplishment. Challenges and ways to overcome them Easier said than done, updating the board is one of the biggest challenges faced especially in beginner teams. Not every team member will be prompt in updating the board. To overcome this challenge, updating the board could be one of the team ground rules with non-compliance attracting fun consequences decided by the team, such as the defaulter treating the team with chocolates/coffee or updating everyone’s scrum board the next day. The Scrum Master can immensely help the team realize the power of the board by using it during agile ceremonies like planning, stand up and retrospectives. Facilitating the scrum by traversing the board from right to left (i.e.“Done” to “To-Do”) is another tactic to keep reinforcing the value of the board and motivating the teams.Having conversations in stand-ups by traversing the board from right to left will first bring up cards that are done or almost done and helps see what has been accomplished in the sprint.  What a Scrum Board is not A Scrum Board cannot replace the conversations and interactions that are always encouraged in Agile projects. Flagging a card on the scrum board / posing queries on a card should not solely replace the conversations around these. A Scrum Board is not for executives to monitor the team’s progress and efficiency, but it is for the team to monitor their sprint items as a whole. Key takeaway A Scrum Board is an excellent tool for the team to visualize their work, look at everyday progress, identify bottlenecks, make immediate course corrections, so that they can meet their Sprint goals. Used rightly, it will serve the team and benefit them. However, if it is used by management to monitor the team or if the team members consider it as a tool to update management then it loses its purpose and becomes just another overhead. 
Rated 4.0/5 based on 13 customer reviews
6624
How to Use Scrum Board for Agile Development

What is a Scrum Board?A Scrum Board or an Agile Bo... Read More

Must-Have tools for Seamless Agile Management

For a long time, developers did not have a lot of freedom with their projects when it came to product development. Expected to work within the restraints provided by the top management or the sponsor of the project, and creatively limited by locked plans, developers craved to think out of the box and unleash their intuition and skills to develop a much more productive system.  This led to the rise of Agile development, a science that allows developers to be flexible and creative in delivering exactly what the users demand. Agile management took over a whole new system of development. This management system has come a long way since its birth and has now become one of the best manifestos for project management.   However, with such a heavy structure in place, there were strenuous tasks and methods involved. To get accustomed to this manifesto, you should invest in a good Agile and Scrum certification to get well versed with the different Agile tools given below: 1.  Agile Manager This tool helps organize and guide teams from the start as they work towards developing working code for an Agile model. At the beginning of this process, the manager will gather important user stories and contemplate on how to attack the problems addressed by them.  During each code sprint, the developers record their progress on user stories and their problems. The entire progress is plotted on a dashboard so that everyone is up to date with their work. Figure 1: Agile ManagerFeatures included: Creates epics and map them to releases, features and stories Uses story points for estimation Analyses sprint performance with help of dashboard and scrum Uses templates and custom statuses for process management 2. JIRA The JIRA tool is one of the best tools for project management. The team first makes a list of project tasks with the help of a tool called Confluence. Then they track the tasks on an interactive Kanban board that developers can update as they finish each task.  This Agile tool is integrated with other tools. Bamboo is a tool that offers continuous integration that pre-builds the code before evaluating it. Discussions take place through HipChat, and these revolve around the tasks and probable solutions.  Figure 2: Jira dashboardIncluded features: Issue tracking Boards Epics Bug tracking Custom fields 3. Planbox Planbox is a hierarchical tool. It offers four specific levels of organizational power, thus allowing many teams to simultaneously work towards a single goal. The topmost level is called the initiative, which is broad and abstract. They contain various projects, which are filled with tasks. Planbox creates these projects and evaluates them to form a report. This report is prepared for the shareholders.  There are various amazing features like looping customer reviews and time tracking. This tool is integrated with Github for storage and Zendesk for tracking customer satisfaction.Image 3: Planbox dashboard4. LeanKitLeankit is a very unique tool. It aims to create a conference room type of whiteboard where most projects start from. This lets members post virtual notes on it that represent tasks, user stories or glitches, which should be addressed later.   The board has a fast update feature and lets multiple teams work together in separate spaces while still coordinating together.  Figure 4: Leankit  Included features: Board view templates Track issues and bugs Manage project portfolios Lean metrics and reporting 5. Proggio This is a next generation project management tool which focuses on and around the team instead of the task. It has a good visual representation that allows managers to create a full-project blueprint. This promises team clarity and increased planning capabilities.With the powerful task management tool, every team member is sure to be on track, and the virtual portfolio is an added accessory that helps tabulate developer progress.  Now, chasing around team members for every update is no longer necessary! Any and all progress report by the team members will clearly be reflected in the project timeline.   Figure 5: Proggio dashbarodIncluded features: Board and List views Visual tracking Better timelines Choose the Agile tool best suited for your business In this vast market, there are unlimited tools created for Agile, but the above-mentioned are the ones which yield the best results. This will help you evaluate and find the tool that functions best for your context and is comfortable for your team. With every team applying their own unique approach to the Agile methodology, choosing the right tool may appear to be a rather difficult task. However, once the Agile manifesto is in place, things are sure to run quite smoothly and profitably.  This is your first step to a professional and productive future, so get your Agile and Scrum training now! 
Rated 4.0/5 based on 14 customer reviews
6561
Must-Have tools for Seamless Agile Management

For a long time, developers did not have a lot of ... Read More

Scrum Product Backlog and Agile Product Backlog Prioritization

The 21st century has witnessed a major surge in the adoption of Agile with organizations trying to fit into their ways of working to better meet customer demands. As per the 14th Annual State of Agile 2020, 58% of the respondents were using Scrum as the framework for product delivery. It has been noticed that Agile and Scrum are considered as the same thing. Scrum is a subset of Agile where Agile is a way or method of implementing frameworks like Scrum, Kanban, etc. Agile is a timeboxed, iterative way of software delivery focusing on faster time to market and customer collaboration. With a great framework like Scrum, Agile gets a runway to deliver quality products in an iterative, incremental, and timeboxed manner. Talking of product development, be it any framework, we start with the creation of the requirement list. The same applies to Agile too. Here, we term this as “Backlog”. I am often asked about the origin of the term, “Backlog”. Why “backlog” and why not some other word? Well, the term dates back to the 1680s when large logs were placed at the back of a fire to keep the blaze going and concentrate the heat. By the 1880s, the term was adopted in its figurative sense of "something stored up for later use". So, a Backlog is a prioritized list of items the teams’ need to work for the successful delivery of a product. How extensively are Scrum artifacts, and in particular, the product backlog and sprint backlog used? Source: 14th State of Agile 2020According to the State of Scrum 2015 report, surprisingly, only 56% of the respondents reported using extensive scrum artifacts like Product Backlog and Sprint Backlog. Major success criteria for any Agile project lie in its backlog and it demands a lot of focus both in terms of keeping it refined and updated with current situation. Thankfully, it is the topic of the day, and here we will talk more about it! Product Backlog  What is a Product Backlog? The Product Backlog is the ordered list of requirements of all that is required to successfully deliver it to the client. It contains the prioritized list of requirements that can be detailed or vague and has everything that needs to be done for a particular product. One can visualize it as a big bucket that has all the items/necessities needed for a product to be successful and competitive in nature.  Who owns the Product Backlog? The Product Backlog is primarily handled by the Product Owner who takes care of the client's needs and makes sure the product backlog represents the exact requirement. The product owner is responsible for keeping the backlog healthy and in a state that is readily consumable by the team. The product backlog is never frozen, the items can change as per the demand and market scenario. Anyone can suggest items to be added in the list but the final say will always be on the Product Owner.  Example of a Product Backlog Let’s look at an example to further understand it better: Build a mobile application for a local bank so that the users can access the bank on the go. Product Backlog would look like: S. No.RequirementPriority1Create a sign in page for the usersHigh2Create a logout pageHigh3Create a home page to land after successful sign in to the applicationHigh4Create a page for AccountsMedium5Create a page for Money TransferMedium6Create a page for LoansMedium7Create a page for User ProfileLow8Create a page for 'Contact Us' sectionLowThere can be multiple other requirements both front-end and back-end to get this mobile application delivered, but, here for understanding, we are just taking a few of them. Each item in the list will have a priority attached to it, this makes it easy for the development team to pick work once they are done with the one in hand. Product Backlog can also be termed as the master list of requirements. Sprint Backlog What is a Sprint Backlog? Sprint Backlog is a list derived from the product backlog or the master list. When teams start working in Scrum, they have sprints which are a timebox for delivery, it defines when a customer can expect the shipment and at what intervals. The period can range from a week to a months’ timeline. Here, in sprints, the team pulls the work from the product backlog as per the priority and their capacity and put it in a smaller bucket called ‘Sprint Backlog’. It is like delivering the big Product Backlog in chunks called “Sprint Backlog’. The Sprint Backlog can also be defined as a subset of superset ‘Product Backlog’. For a successful product delivery, both are essential, and hence the need to keep them healthy.  Who owns the Sprint Backlog? Sprint backlog is owned by the scrum team, and together, they create their sprint board which consists of the user stories, bugs (if any), and spikes. It is the development team who determines the Sprint Backlog. Here, the Scrum Master can facilitate the Sprint Planning meeting to help the team come up with the Sprint Backlog. The scrum team utilizes the sprint planning meeting to discuss on the sprint goal and the commitment they can make for the upcoming sprint. They pull the items to discuss from the top of the list and create their sprint backlog according to the capacity and complexity of parameters.  Example of a Sprint Backlog So, the sprint backlog is a subset of product backlog and going back to our example let's create a Sprint backlog now: S.No.RequirementPriority1Create a sign in page for the usersHigh2Create a logout pageHigh3Create a home page to land after successful sign-in to the applicationHighIn our example, we have pulled the sprint backlog items from the master list which was already in a prioritized state. Product Backlog vs Scrum Backlog: Understanding the difference The Scrum Master can help the development team understand the difference between Product Backlog and the Sprint Backlog, this can be done through coaching the teams about the process and the Scrum artifacts and can help the Product owner in maintaining a healthy backlog. The team uses Product Backlog to create their sprint backlog. During the Sprint planning meeting, the development team should talk about the complexity and the efforts needed to get the job done. They pull the items from the product backlog to the Sprint Backlog to be completed in the sprint time-box. How to create a more effective Product Backlog? Effective Product Backlog depends on a clear understanding of the result and the need. The Product Owner must clearly define the requirements that have details enough for the team to get a clear picture of what is needed to be done. The product backlog needs to be a thorough list of all the work that must be done to get the project delivered successfully. Once a high-level list is created, the development team can help in further refining and creating an exhaustive backlog with all the technical aspects needed to deliver the functional side. Creating a backlog should be a collective team effort, this also helps in bringing about the ownership and collaborative environment amongst the group. Though the development team can help the Product Owner in creating a proper efficient Product Backlog, the sole responsibility for the Product Backlog lies with the Product Owner. How to create a better Sprint Backlog? Once you have a good Product Backlog, pulling out the Sprint Backlog gets easy. Sprint Backlog gets its shape during the sprint planning meeting which is the first thing in a new iteration where the team sits together, either, physically or virtually, to discuss the requirements they can work on in a new sprint. Essentially the discussion circles the functionalities, the technical aspect around it, and how much they can load in an iteration. Here, the Scrum Master can help the team with excellent facilitation skills to come up with a sprint goal as a joint team effort. The team pulls up the highest priority items from the product backlog to discuss functionality and complexity, they also converse on the steps they could take to reach the goal. What are the benefits of Backlog prioritization? Prioritization is one of the critical aspects of a Product Backlog that helps in keeping it in a healthy state. Let’s look at a few of the benefits of prioritizing the backlog: Helps in the Sprint Planning with the story selection as the Product Backlog is already Prioritized. Better visibility to pull items during the iteration if the team has the bandwidth. Effective risk management due to pre-known issues during the grooming of the backlog Improved supervision of dependencies Early return of investment as the requirement follows value-based delivery.What are the different prioritization techniques or methods of prioritizing the Backlog?After talking about the Backlog and its benefits, let’s look at the various techniques of prioritization:Tool 1: MoSCoW Method – Developed by Dai Clegg, this is the most widely used model while prioritizing the backlog. The name itself has the meaning - Must Have, Should Have, Could Have, and Won’t Have.Tool 2: Kano Model - In the 1980s Kano Model was developed by Professor Noriaki Kano. Under the Kano Model, items are categorized according to the requirements and opportunities of the stakeholders. The categories are – ‘Basic expectations’, ‘Satisfiers’, ‘Delighters’.Tool 3: Stack Ranking – During Stack Ranking the items are placed in the order of priority which starts with one and goes up to the number of items in the backlog. Tool 4: Cost Of Delay – To measure the cost of delay one needs to understand: “What will be the cost per time unit if we delayed delivery?” This is difficult to measure sometimes if you don’t use the correct parameters. This figure states how much money every month it will cost your organization to delay the delivery of the finished project. In practical life, we all have experienced ‘cost of delay’ whether it is starting late for work or starting up late with a new assignment.Conclusion In conclusion, we have seen that both the Product Backlog and Sprint Backlog are different entities tied together to the same group. It plays a crucial role in software delivery and helps the team deliver efficient solutions through effective backlog management tools and techniques. If the teams understand and use their backlog in a desired way, they can help the customers and the management in better delivery and gaining of new opportunities. 
Rated 0.0/5 based on 0 customer reviews
7659
Scrum Product Backlog and Agile Product Backlog Pr...

The 21st century has witnessed a major surge in th... Read More

What is Agile? What is Scrum?

Over the decades, companies across the globe have been adopting different project management frameworks and methodologies they feel are best suited to the nature of work they do. Be it IT, healthcare, fast-moving consumer goods, electronics, or automobile, organizations across domains adopt frameworks that enable them to achieve their organizational goals and best fulfil their customers’ needs.  Much before the birth of the term ‘Agile’, several project management practices like Waterfall, Kanban and XP were being followed. However, there was a wide dissatisfaction with the rigidity of some of these practices. Over the years, academicians and leaders in the industry began to discuss the need for processes that would give them more flexibility and enable them to ship software on time.  After much planning, seventeen innovative industry leaders, many of them from the software community,gathered in February of 2001 at the famous Snowbird Ski Retreat at the Wasatch mountains of Utah, US. This small, three-day retreat ended up shaping much of software is imagined, created, and delivered - and probably even how the world works. What is Agile Methodology? Agile is a mindset, a methodology that provides different frameworks working in an iterative and incremental manner to arrive at a solution.The Agile methodology focuses on creating a red-carpet, a smooth path for teams to work and deliver exceptional results to satisfy customer needs. Over the last two decades, the Agile methodology has dominated the IT industry in a big way. Not only is the Agile methodology customer focused, but it also helps teams to scale up, learn and grow. There was a time when organizations thought about Agile as a fairy-tale wand, something that could magically fix all their problems. Thankfully, with much help fromthe Agile front-liners, the enchanted fairy dust has now evaporated. People now understand that it indeed takes a lot of effort, awareness, coaching, and dedication to fix problems through Agile. Like any other method, Agile too takes time, but if applied in its true sense, the results can be very fulfilling. The Magic Potion: Agile Values and Principles With the coining of the term ‘Agile’, its foundation was laid, the beautiful truth on how to move forward and abide by the rules and values of Agile. At the Snowbird retreat, the seventeen leaders put together a manifesto. The Agile Manifesto is unique among typical manifestos in that it does not declare truths self-evident. Rather, it compares: We value this over that. At Snowbird, the leaders began to lay out what they had in common and when they compared how they did their work, they were amazed at the things that were the same. They went on to finalize the four lines of the manifesto which forms the backbone of all the frameworks that come under the Agile umbrella. Every line has deep meaning associated with it and you will be surprised by its wide-spread relevance across domains. So, what is the Agile manifesto? The preamble reads, “We are uncovering better ways of developing software by doing it and helping others do it.” It then lays out the four core values: Image: At the Snowbird retreat in 2001, 17 leaders came together to "uncover better ways of developing software by doing it and helping others do it". The Agile Manifesto was thus born.The document concludes that “while there is value in the items on the right, we value the items on the left more.” Although the words can be interpreted differently, the basic gist is this: Put people over process. Focus on making software that works, not documents about that software. Work with your client rather than fight over a contract. And along the way, be open to change. With the above four core values, the authors also devised twelve principles that help teams to understand and adopt Agile as their way of working. Even if teams are yet to learn how to use any of the frameworks or how to work around the ceremonies, if they understand and adopt the four values and twelve principles, the battle is won. The 12 Principles of the Agile ManifestoHere are the twelve principles laid out in the Agile Manifesto:Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Welcome changing requirements, even late in development. Agile processes harness change. for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Business people and developers must work together daily throughout the project. Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Working software is the primary measure of progress. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. Continuous attention to technical excellence and good design enhances agility. Simplicity--the art of maximizing the amount of work not done--is essential. The best architectures, requirements, and designs emerge from self-organizing teams. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. What are the various Agile Methodologies? Under the overarching Agile umbrella, many frameworks operate and cater to different industries and market needs. Let us look at some of the most widely used Agile frameworks: ScrumScrum is an incremental and iterative way of working in a time-boxed manner to solve complex adaptive problems. It is a widely used approach as per the 14th Annual Report by VersionOne and has 58% on the total market share in terms of framework adoption. KanbanIt is a concept of a scheduling system for lean manufacturing and just-in-time manufacturing. Derived from a Japanese word, it signifies a signboard or the physical board with lanes to track the activity. This system helps to improve and optimize the flow of work items.  XP (Extreme Programming)Originated by Kent Beck, Extreme Programming is a software development methodology conceived to improve the quality of the product and its capability to suitably adjust to the shifting needs of the stakeholders. It is a set of engineering practices. FDD (Feature Driven Development)It is customer-centric, iterative, and incremental, to deliver tangible software results often and efficiently. FDD in Agile encourages status reporting at all levels, which helps to track progress and results.  DSDM (Dynamic System Development Method)This has been developed to work on usual problems confronted by projects such as late delivery, rate overruns or the final outcome not being accepted by the clients. It is an Agile-based approach that is collaborative and flexible, yet remaining attentive on reaching goals and sustaining the suitable level of excellence and consistency.  What is the Scrum Methodology? Scrum is an agile project management framework that revolves around an incremental and iterative approach where the focus is on delivering increments in a time-boxed manner. Scrum supports the collaborative approach of working towards a solution and is based on the Agile Manifesto and principles. The Scrum framework comprises of: Three rolesScrum Master, development team and the product owner Scrum EventsSprint Planning, Daily Standup, Sprint Review, and Sprint Retrospective. ArtifactsProduct Backlog, Sprint Backlog, Task-Board, Burndown charts, Sprint Goal  Agile vs. Scrum: Similarities and Differences While Agile provides an umbrella for different frameworks that share common values and principles as prescribed by the Agile Manifesto, Scrum is a subset of Agile and has inherited the foundation and beliefs from its superset. Let us look at some of the similarities and differences between Agile and Scrum: AreaAgileScrumIs a Mindset/philosophyYesIs a FrameworkYesHas events/ceremoniesYesHas ValuesYesYesHas defined rolesYesFocus on Continuous ImprovementYesYesFocus on Faster DeliveryYesYesTransparencyYesYesCustomer SatisfactionYesYesBest practices in Agile Though Agile has certain principles and values to define how teams should function, it is also necessary to adhere to the best practices to get the finest implementation of the methodology. Here are some of them: Deliver in IncrementsIncrementing helps the teams and stakeholders stay in control of the development step-by-step. They discover and refine the backlog as they move forward rather than create a huge backlog upfront as was the case traditionally.  Frequent InteractionsCommunication is the key to success. The more collaboratively the team works along with the client, the more the satisfaction on both ends. This helps to meet the expected requirements and greater clarity on the next assignment. ReflectionIt is critical to introspect as an individual and retrospect as a team to see how they are functioning and what can be improved to make it much better. Best Practices in Scrum With extensive use of Scrum, organizations now have their own success stories along with a bundle of learning on what went well and where they had to struggle. This paved way for expanding the list of best practices one can follow to stay on track with the framework. To list out few: StoryBoardHave a live storyboard, let the team update their deliverables. The Scrum Master can help the team understand the value they can derive from it. Productive EventsStick to the agenda of the scrum ceremonies, make it timeboxed Capacity PlanningPlan your sprint as per the available capacity so that the teams are not overburdened. BlockersMake the impediments very much visible to all the stakeholders and the management. Backlog ManagementEffectively manage the backlog, as much as possible, refine, and prioritize. Strong AtmosphereCreate a collaborative healthy environment where the individuals can voice out their concerns. ImprovementContinuously improve the way team interacts and communicates with the clients Mirror Your workBe transparent and honest with the metrics and burndown charts amongst the team Follow scrum valuesThey really help in the long run. And last, but not the least, be agile! Conclusion Every framework is different and applying each one in the right spirit and context is the key to success.The Agile methodology is a fantastic way of working and is helpful to everyone involved. Best of all, it aims to help individuals attain their highest potential in terms of capacity and capability.  It is worthwhile reiterating that Agile is not limited to software development; it is a mindset and a way of life. And with the world constantly adapting to newer ways of working, Agile is the way to go
Rated 4.0/5 based on 22 customer reviews
10989
What is Agile? What is Scrum?

Over the decades, companies across the globe have ... Read More

Top Agile Methods for Better Productivity

When a Scrum development team works on the productivity of a team using the Agile methodology, the first thing that comes to attention is the metric used to measure how much work the team does in an iteration: velocity. On the contrary, using velocity helps a Scrum development team to determine a team’s average capability on a normal sprint followed by how much they will agree to achieve in the next sprint iteration. The velocity is not preferred to determine the team’s productivity as it is just a simple indicator based on past sprints.The thing that matters at the end is the result and what the team has produced. A team is not recommended to be pushed to fasten its velocity. In the end, the outcome might be unpredictable as the team might economize on acceptance testing, avoid fixing bugs, or minimize restructuring to reach the target velocity. The key to increasing the velocity of the team is to resort to focusing on optimal velocity over time instead of maximized velocity. This also determines the overall quality of the finished product. Here are the top Agile methods involved in Scrum to allow the team to be more productive over time. 1. Eradicating obstaclesOne of the most important duties of a Scrum Master is to get rid of obstacles early and throughout the development process. This begins with asking appropriate questions while User Stories are being written. This gives developers space and time to do their work. While they are working, a Scrum Master also protects the development team from any disturbances from the stakeholders.In situations when the team does get interrupted, it is recommended for the team members to contact the Scrum Master to get their queries and issues resolved. Having a clear and focused mind is the key to operating at the highest level.The most obvious step is to avoid distractions as they are the primary reason for decreasing a team’s productivity. The team is unable to focus when they are asked to clarify why their productivity went down.2. Daily scrum meetings An efficient team always has a small group of professionals, the numbers can go to a maximum of 9. Anything more than that leads to communication issues and more consumption of time in meetings or huddles. A bigger team, in cases, can be split into two or more. A big team leads to more complications and misunderstandings and hence, is not a good idea. A larger team means more loss in information while exchanging thoughts and ideas and that will result in everybody in the team spending more time and effort to get any message or data across. 3. Team Capacity It is a known fact that all the team members must attend the daily scrum every day. The meeting can last for not more than 15 minutes every day to get an overview of the proceedings and the advancement of the undertaken work. All the concerns and ideas put across and need solutions during the meetings can be parked so that all of them can be addressed together. Any topic not related to the purpose of the meeting can be talked about at a fixed but separate time of the day.Furthermore, communicating with each other during the meeting will help in exchanging more information.4. Product backlog The backlog is the key to knowing where a product goes and what needs to be created on priority. So, everything in a project must be kept and properly maintained via a backlog. User Stories should have enough details and can be reordered in case of a change in priority. More accurate User Stories lead to less time consumption for the development team to understand them.An up to date and well-maintained backlog during an Agile project should have enough User Stories for at least one or two sprints.5. Constantly improving mindsetScrum is a continuous method that involves development because the whole method can be changed, not just the software. The point is to find something that requires alterations and to achieve it in the next sprint. This allows the team to tackle one issue at a time and move forward.Finding a clear move in the sprint retrospective to support the team is necessary. Someone must take ownership to act and make things work. This can be achieved by initiating small, easy actions that are less time-consuming first. During a sprint retrospective, it is recommended to take suggestions from each attendee and go for the most appropriate one. After that, a plan will be laid out to realize the chosen idea.6. Interruption bufferWhile running an application in production, it is necessary to keep maintaining and providing new features. However, there can be interruptions, like a bug that needs to be reported urgently or another team needing a developer for assistance. The point is, Sprints will be prone to interruptions, and provisions must be made to deal with these problems. A capable Scrum Master will log all these interruptions noting the number of interruptions, the time consumed in dealing with them and then add them to the next sprint.7. Have a vision of the task at handThe team works more efficiently in getting the deliverables when the Scrum Master already has laid out a blueprint to work on. This also includes having metrics and other relevant charts displayed, doing which will also let stakeholders and colleagues track the production rate.Refreshing the burndown chart daily and displaying the desired sprint result will reflect the customer or team satisfaction. Furthermore, a roadmap showing the working of the product will further enhance the vision of the team. There are multiple ways of sharing information to give everybody the idea of how things are going on while working on the product.To concludeWhen looking at the broader picture of the correct way to motivate a team to get the desired output, a successful team follows a very realistic and simple approach by using plain common sense that is instilled by the Scrum Master. Understanding how the team works and realizing the working style of each team member is one of the most important observations of an adept Scrum Master. It is a collaborative effort that cannot be done by one person but needs responsible efforts from every working member on the task. After all, it is not about ‘Me’ but ‘Us’ that helps in building a product successfully on time.
Rated 4.5/5 based on 5 customer reviews
9537
Top Agile Methods for Better Productivity

When a Scrum development team works on the product... Read More

Agile Adoption Strategies

Many software companies are adopting Agile methods - whether the adopting company is a software service or a product development firm or whether the work is on retail domain or avionics. A few of our KnowledgeHut experts cover the challenges that software organizations face and recommend possible solutions that help in successfully adopting Agile.  Introducing Agile in an OrganizationA typical software services company can be viewed to be made of three layers of people with a varying degree of authority.Our experts have conducted numerous training programs about Agile. Developers and project managers form the majority of attendees. These are the people who: Subscribe to Agile blogs;Actively pore through many popular Agile mailing lists; and Have the most passion in implementing Agile.These people are eager to learn Agile and look forward to implementing it in their projects. This kind of “bottom up” Agile adoption is a strategy that may work in the short run but is a non-sustainable model of Agile implementation. Not that the developers do a lousy job in implementation - it is simply that they lack active support from the sponsors. In a “top-down” Agile adoption strategy, the sponsors take the initiative and encourage (not push) the teams to adopt Agile methods. Some of the Agile practices need investment for procuring tools, changing the physical environment, organizing training for the developers, having a coach, etc. Such decisions are typically taken by the sponsors. Some of the advantages of top-down adoption include: Higher visibility - everybody observes the changes happening in the work place and culture. Confidence - teams can experiment with new practices and tools since they have the firm backing of the sponsors. Transparency - teams can correct mistakes during initial stages. Consistency - the practices have a higher chance of being consistent with the company vision. Agile is all about people, trust, communication, flexibility, and feedback. These values need a lot of nurturing at all levels in the organization. First and foremost, the sponsors must believe in these values for effective Agile adoption.In a bottom-up Agile adoption strategy, many of these values cannot bubble up easily when compared to the top-down strategy. The challenges are: Lack of buy-in when ideas come internally (versus given by an external neutral party). Generally, more difficult and time consuming to convince sponsors by the developers. Requires lots of sponsor time and good communication skills by the developer passionate about implementing Agile. Changes needed during Agile adoption. Each type of change is discussed in detail below.Changes neededRequirement from sponsorsChange in thinking patterns and culture  Encouragement, motivationInvestment in new toolsCapitalSustained support for AgilityEncouragement, motivation and commitmentChange in thinking patterns and culture This is one of the most difficult things to achieve. We, as human beings, resist change and hold on to our old beliefs and thoughts that are close to our heart.The following thinking/culture changes are necessary for Agile adoption: Building trust Getting rid of command and control Improving communication and collaboration Building Trust In an Agile training program, a team was discussing about the usage of Post-Its to display project information, a project manager asked - “What should I do if my team members remove post-its without my knowledge?”. This is a clear sign of lack of trust within the project team.  In this case, the manager was sent to attend Agile training and implement his experiences on project. But, such managers who lack trust—a fundamental value of Agile—will be ineffective in implementing Agile practices. Management should keep observing the teams, identify issues that crop up (they will!), and coach them accordingly. In fact, it is healthy to see lots of issues in this stage - this implies that the system is gearing up for the new philosophy.The sponsors should encourage an environment for learning for continued Agile adoption.  Here is the "Prime Directive which is commonly used during retrospective sessions”: Regardless of what we discover, we must understand and truly believe that everyone did the best job he or she could, given what was known at the time his or her skills and abilities, the resources available, and the situation at hand.The Prime Directive just redefines what trust is all about.A team practicing Agile methods might work collaboratively, trusting each other, but if the customer or sponsors don't trust the development team or vice versa, the foundation of Agile becomes weak. Getting Rid of a Command and Control Culture A command and control system is created due to fear and lack of trust. Employees in the traditional organizations are controlled through a set of processes. For example, a developer working in a service organization is expected to gather all requirements upfront. The stakeholders create a plan and the developers are expected to stick with the plan and deliver the product as per the deadline. The developers' lives are controlled through a predefined plan written on Gantt charts.Traditional organizations also create and track various types of metrics. Even though many metrics may be useful, some of them are misused for controlling individuals and teams. Some metrics are also used as a weapon during performance appraisals. (Does this ring a bell to you?)In a command and control environment: The Project manager creates all estimates and assigns tasks to the development team. An Architect handing off his plans to designers and developers. Developers are restricted from communicating directly with the customers. Agile organizations, on the other hand, discourage usage of such metrics and encourage only those metrics that adds value to the customers. These include burn down charts and velocity metrics.In an Agile environment, self-organizing teams make the necessary decisions on a project, as opposed to one person making all decisions (as in traditional projects). A single person in control leads to lot of subjectivity and personal bias.The culture of one person in charge and making decisions for project needs to be dismantled. This can be done only with the support from the sponsors- otherwise self-organizing teams cannot emerge.Improving Communication and Collaboration In traditional systems, the customer's role begins by validating and signing off on the requirements. Later, the customer may participate in periodic reviews done during milestones and monitor project progress. We can equate this behavior to a fire and forget culture, and one that leads to inadequate communication and collaboration.Software development is inherently a complex process which requires frequent inspect and adapt cycles. This demands strong communication and collaboration -between the customer and the development team and within the team itself.Developers and customers working together with a commitment to achieve common goals is real collaboration.The Agile principle, "Business people and developers must work together daily throughout the project" brings out the importance of collaboration.Some practices in an Agile method like Scrum that exemplify this principle are: Release Planning Requirement workshops during each iteration Iteration planning meetings Retrospective session Iteration Review, etcSome of the changes to improve communication amongst the team members can include: Removing cubicle boundaries, thus allowing the team to sit together. Encouraging the Project Managers to sit with the team. Using of simple tools. Conclusion After considering the various challenges and solutions during Agile adoption, our experts have found that Agile adoption is much smoother with continued support from sponsors. Organizations will succeed in Agile adoption with the right mixture of both top-down and bottom-up strategies.
Rated 4.0/5 based on 45 customer reviews
17402
Agile Adoption Strategies

Many software companies are adopting Agile methods... Read More