Monday 17 March 2014

The DEEP Method Used For Product Backlog Grooming – How To Prioritize the Product Backlog Items In Scrum

It is very important to prioritize the product backlog from time to time so that it remains updated, and “healthy”. The DEEP method used to refine the product backlog items can be understood as follows:

1.    Detailed appropriately

User stories to be taken up for development soon should be properly understood and taken up for development in the upcoming sprint. The user stories which are not to be developed on an immediate basis can be mentioned briefly and described with lesser details.

Generally, the user stories or the product backlog items having a higher priority should be developed first, followed by less important ones. The smaller and more detailed user stories, which a have higher business value should be place on the top, followed by those which have lesser business values and priorities. Epics and large user stories should be broken down in to smaller, more manageable ones, and taken up for development in succeeding sprints. If the entire product backlog is to be detailed in each grooming session, it would take too much time, and even after investing it, the priority can change in the subsequent refining sessions. Therefore, it is not advisable to carry out the grooming session in totality, each time the session is conducted. The objective should be to target the most important user stories based upon the feedback availed from the stakeholders and detail them as per the new priority. The PBIs should be shifted up or down in the order, and larger epics can be broken down into smaller stories and reinserted in appropriate places within the backlog as per the need.

2.    Estimated

Besides containing the product backlog items or user stories, the product backlog is an important and useful scrum planning tool. It should include estimation in terms of story points for each backlog item.

Estimation is possible in scrum when story points representing the degree of importance are associated with each product backlog item. It is very important for the user stories to have a certain business value associated with them when they are included in the product backlog. The product owner works out how the story points should be allotted to each item in the backlog. The story points, or the estimate is very useful in planning future sprints, and while creating the burn down charts while a sprint is currently being executed. It is essential for each user story to have a priority, at least when they are important, and to be taken up for development on an immediate basis.

3.    Emergent

The product backlog is dynamic in nature and changes with time as the project develops. AS more information is availed, new user stories can be added, existing ones updated and reprioritized, and redundant ones removed.

In practice, a product backlog is never static, and will change over time. As more is learned, user stories in the product backlog can be added, updated, or removed depending upon the feedback received from the stakeholders and investors. Moreover, the development team should carry out routine perusal and remain conversant with the product backlog so they find it easy to understand the user stories when they are taken up for development. The members should demand explanations about items not clear to them, and the product owner is supposed to resolve the queries as soon as possible in a satisfactory manner. The product backlog should complement the vision seen by the stakeholders and the product owner, and fulfill the expectations of developing a shippable product which is profitable.

4.    Prioritized

The product backlog should be properly arranged as per the priority of the user stories, preferably at all times.

Although scrum advocates that each item be properly estimated before it can be added to the product backlog, in practice, this seldom happens. When the product backlog is initially planned, the product owner understands that some of the stories need to be developed because they are essential and needed to complement the product, or make it shippable. However, quite often, he or she fails to receive proper feedback from the stakeholders regarding their importance, or receives it at a later time. In such circumstances, the common practice is to include the user story in the backlog, and wait for further information to pour in so a priority can be assigned for the particular story. Scrum advice this should not ideally be done, and information should be availed to prioritize the item before it can be taken up for development. 

                             "Please visit http://www.quickscrum.com to download the Quickscrum tool" 

Friday 14 March 2014

Explanation Of Scrum Burndown Charts – The Plotting, Requirement, And Purpose Of Burndown Charts

What is a burn down chart?


A burn down chart is an important tool in scrum. It provides a visual representation about the progress achieved in a sprint while it is underway. They are very common and extensively used by scrum masters while scrum is being implemented in a project. The quantity, or the amount of work remaining, in the form of pending tasks, is typically exhibited in a burn down chart. The chart is simple and easy to understand, even by people who are not familiar with scrum methodology. Burn down charts are very useful for estimation purposes, and are essential for determining the sprint velocity – the rate at which work in the form of user stories is being completed by the development team – and planning the sprint release.  

Plotting the burn down chart
A burn down chart can be plotted by including the work remaining in the form of story points along the vertical Y-axis and the working days along the horizontal X-axis. The pending work is typically represented in story points – a unit of measurement to calculate the importance and priority of user stories in the sprint backlog – instead of user stories. The reason is user stories are broken down into tasks during the second half of the sprint planning meeting by the development team. It becomes difficult to read and understand the chart if tasks are represented along the Y-axis. User stories are descriptive in nature, and do not have a number or a value associated with them, so it becomes difficult to estimate them. Therefore, the story points, which are numeric values associated with each user story, are used for plotting purposes. Know more on http://ezinearticles.com/?Explanation-Of-Scrum-Burndown-Charts---The-Plotting,-Requirement,-And-Purpose-Of-Burndown-Charts&id=8371905 

          "Please visit http://www.quickscrum.com to download the Quickscrum tool"  
  

Wednesday 12 March 2014

Reasons for Carrying Out the Product Backlog Grooming Activity

What is product backlog grooming?
The main objective of the backlog grooming session is to improve the product backlog and rearrange the user stories or the product backlog items in accordance to the new priorities determined by the stakeholders or the team members. Grooming sessions can also be held to verify the product backlog items whether they have the information necessary to develop the user stories in a more efficient manner. The scrum guide does not try to define what a backlog grooming session actually is because the “grooming” activity may vary from project to project. It is difficult to standardize the process so that it can suit all types of projects. The grooming session are generally held to:
·       Write or rewrite the product backlog items or user stories if they are not properly stated or described
·       Reschedule or reprioritize the product backlog items based upon the recent updates provided by the stakeholders
·       Segregate epics or large user stories into smaller and more manageable ones
·       Re-estimate the story points linked with the user stories
·       Update or add new acceptance criteria to the user stories

·       Analyze the product backlog for planning purposes

 Product Backlog Grooming

Different reasons why the product backlog is refined
The product backlog can be rescheduled or refined for a number of reasons depending upon the changes occurring in the market conditions or new features demanded by the end users. At times, it becomes necessary to weed out less important tasks and replace them with effective ones. The product owner may decide to reprioritize the backlog if he or she feels some of the user stories need to be developed on a priority basis. Usually, the product backlog grooming activity or product refinement is carried out because of three main reasons:

1.    Refinement carried out by the stakeholders
As the market conditions keep on changing over time and new competitive products are launched, it becomes necessary for the stakeholders to do away with some of the functionalities in the product which have become obsolete and are no longer needed. It is meaningless to spend time and efforts over features which are not likely to score for the product in the market, and which no longer have a selling value. The investors and stakeholders remain in touch with the ongoing market trends, what the end users require, and how the selling value of the product can be increased by introducing new set of features and functionalities while the product is being developed. The stakeholders may decide to “overhaul” the project by removing some of the features and functionalities, and replace them with new ones, which have added market and selling values.

2.    Informal product backlog grooming
One of the important objectives of carrying out the product grooming activity is that the team members too attend the grooming sessions, and it offers an opportunity for the product owner to explain the user stories to the development team. The product owner takes the opportunity to describe and explain the new set of product backlog items to the team members and answer questions regarding the business values of the user stories. It is a great way of understanding what the product eventually focuses to do when it is launched in the market and how it is supposed to behave when fully developed. Generally, the grooming sessions are succeeded by the sprint planning meetings, and the team is able to prepare in advance for the planning meetings in a more meaningful manner. Since the team members become more familiar with the exact functionality associated with the user stories, it becomes easy for them to segregate the user stories into development tasks during the second half of the sprint planning meeting.

3.    Periodic refinement carried out by the team members
It is important to carry out “routine maintenance work” and keep the product backlog “in shape” so it becomes easy to plan the sprints. As the sprints progress and development is carried out during the sprinting sessions, some of the tasks are completed and new functionality is developed. At time, the functionality developed can be shared with other resources to be developed, and it is important to identify such resources so duplicate or repetitive development activity can be avoided and time can be saved. The grooming session help to weed out the repetitive tasks and get the backlog back into “shape”. It also provides an opportunity to the team members to ask for clarifications and demand explanations for the stories they find it difficult to understand to the product owner.  

                "Please visit http://www.quickscrum.com to download the Quickscrum tool"  


Tuesday 11 March 2014

The Product Backlog in A Nutshell: For Scrum Beginners

The Product Backlog

In scrum, the product backlog consists of all the user stories, or the set of requirements which are essentially required to manufacture the product in totality. By totality, we mean a product which possesses all the attributes as requested by the end users so that they can use it in an effective and meaningful manner to carry out their tasks or activities. In reality, the user stories are the same as product backlog items. While the product backlog item or the “PBI” is the actual terminology recommended and used by scrum, in simple language it is often referred to as a “user story” by the team members. In practice, the product to be developed is actually owned by the stakeholders or the investors who have put in money into the project. Since their role is to “own” and “decide” about what kinds of features and functionalists should be incorporated into the product, it is not practical for all the stakeholders to carry out the development process by addressing the team members on an individual basis. It is not practical to do so. Therefore, they appoint a person who acts in the capacity of a “product owner” and who represents their interests while the product is being developed and scrum methodology is being implemented in the project. 

Product backlog

At the onset when a scrum project is planned, the product owner first of all clearly understands about the features and functionality to be provided in the product. Subsequently, he or she breaks up the entire product into its constituent parts, which can be later “assembled” to “remake” the product when all the constituent parts are developed individually. The parts actually form the PBIs in the product backlog. While the product backlog is being constructed or compiled, it is necessary to determine how important the user stories are as far as the final product is concerned. While some of the functionality associated with a particular user story may be very important, quite a few of them may not be so important from the end user or the market point of view. It becomes necessary to prioritize the user stories depending upon what kinds of functionality and features they possess. The activity of prioritizing the user stories or the PBIs is done by the product owner.       

Moreover, the product backlog contains the explanation and description of the functionality linked up with each user story. It is specifically explained in what manner the user stories are to be developed by the development team members during the sprint activity. Many times, the user story can also contain the functional and non-functional aspects needed to understand the requirement in a proper manner. The product backlog is very critical, and forms the “heart” of all scrum related activities. It should be carefully prepared by the product owner. 

                       "Please visit http://www.quickscrum.com to download the Quickscrum tool"  



Monday 10 March 2014

The Dos and Don’ts of Servant Leader Role for Scrum Masters

What is understood by the term “servant leader”?
Several experts have tried to define the role of a servant leader, as to what it should ideally include, and what scrum masters should do to be considered as good servant leaders. To summarize what the authors have to say about the role, individuals desiring to function as good servant leaders should be compassionate, exhibit humane characteristics, act as a facilitator, and be a mentor for individual team members. Rather than discussing in details about each characteristic, the role can be briefly understood by going through the Dos and Don’ts associated with the servant leader role.

What the scrum master should ideally do to become a good servant leader
·       Protect the team and its members from distractions and diversions
·       Facilitate the planning activities and sessions
·       Encourage team members to participate in sprint reviews and retrospectives  
·       Implement scrum methodology and coach scrum to team members
·       Help the team to collaborate
·       Publicly represent and protect the team’s position
·       Anticipate issues and problems likely to occur during the sprint activity
·       Discover ways and means to remove the impediments faced by the development team
·       Ensure daily scrum meetings are properly conducted as per scrum principles and rules
·       Support and encourage transparency while implementing the project
·       Properly understand and present the team’s progress to the investors and stakeholders
·       When necessary, arbitrate on behalf of the team members

What should be avoided or prevented
·         Provide instructions directly or indirectly to the development team.
-        The scrum master should act as a facilitator and help the team members to find solutions on their own through guidance, advice, and suggestions.
·       Manage the daily scrum meeting
-        Rather than directing the team and providing development related solutions, the person should supervise scrum and ensure the team members follow it properly.
·       Estimate the work taken up by the team
-        If the team is coming up with an estimate, the scrum master should not interfere by suggesting or advising as to what the estimate should ideally include. If required, the person can arbitrate on behalf of the team.
·       Remain uninvolved or be unconcerned about where the team is heading

-        Always try to maintain a holistic attitude about how the project is proceeding, and how the project can be affected by the work carried out by the development team. One should be clear about the project goals and how the team is currently achieving them.

             "Please visit http://www.quickscrum.com to download the Quickscrum tool"  


How Can A Scrum Master Be A Good Servant Leader?

What is understood by the servant leader role?
There are several interpretations of the servant leader role, and many experts have contributed their versions as to what the exact definition should include. However, to summarize all those definitions, the role can be best defined as a virtue, or a trait, which can put the priorities of others first, and maintain a humane attitude towards them. While a debate can extend indefinitely as to how the word “humane” should be understood, a person acting in the capacity of a scrum master might exhibit certain characteristics common to the role to be considered as an ideal servant leader.  

Listening
A good listener can grasp the finer points of a discussion and make informed decisions. It is very important to be sensitive to the team’s needs and the problems faced by them. The scrum master should listen carefully to what the team members have to say during the daily scrum meeting. He or she should make efforts to pick up clues and pointers pertaining to self-organization and try to encourage the team members to accept them. People have different types of natures, and while some are extroverts with an ability to express their views and opinions easily and loudly, many developers are of introvert types and may find it difficult to vocally express their ideas. The scrum master should be on the lookout as to what these types of individuals want to say, and help them to open up and express their views and opinions without any inhibitions. It is also equally important to detect any impediments faced by the team members, and advise them how to go about them.

Awareness

The awareness concerning a particular situation ought to be gained keeping in mind a holistic view to avail a better understanding regarding the ethics and moral values. It is very important for the scrum master to understand and look at situations from a much higher level than the rest of the team to gain a complete picture associated with a particular scenario. The person should ideally think above the role of a developer, and try to act more as a facilitator than anything else. It is important to remain detached with the team, yet remain close to it. The scrum master should maintain a proper balance between the two different parts of the same role. It becomes easy to implement scrum in a systematic manner if you remain detached, since it helps you to observe the workings as a third person. Scrum does not support active participation of the scrum master in leading the team directly by providing instructions to them. At the same time, the servant leader role supports compassion and closeness, which is only possible if you involve yourself on a personal basis with the team member. Therefore, it is important to be aware about both these antithetical requirements of the role, and carry it out by balancing both the aspects.   

                  "Please visit http://www.quickscrum.com to download the Quickscrum tool"  

Friday 7 March 2014

How Can A Scrum Master Successfully Carry Out The Servant Leader Role While Implementing Scrum Methodology?

What does the term servant leader actually mean?
Many scrum reference books and articles explicitly state and describe the role of the scrum master as a servant leader. While most of the definitions try to state the same meaning, they can often lead to confusion as to which definition is perfect and should be followed. The importance of a definition comes into the picture once its meaning is properly understood. So, rather than concentrating upon the definition, it would make more sense to understand what the concept really means. In a nutshell, the role of being a servant leader would actually refer to maintaining a positive and humane attitude towards the team members, being sensitive towards their difficulties and problems, and putting in efforts to act as a facilitator so that goals can be achieved in a collaborative manner, with each team member contributing towards the fulfillment of the project in a proactive way. It is important for a scrum master to possess certain characteristics to be a successful “servant leader”.

1.    Listening
An individual who is a good listener can also make informed decisions and successfully solve problems. It is important for the scrum master to listen attentively, with an open mind. The person should try to pick up pointers during the daily scrum meetings as to what the team members are really trying to say, and what kinds of problems they are really facing. Some individuals are extroverts and find it easy to speak about their problems in a crowd, and demand solutions from others.  Introvert individuals may find this very difficult to do, and so it would be up to the scrum master to encourage such individuals to open up and be vocal about their problems. Moreover, the person should also try to encourage self-organization and self-learning amongst team members. If the team is facing impediments, it becomes necessary to engage with the issue in a proactive manner and start finding solutions, rather than wait for the team to approach the scrum master with the particular issue. To be a good servant leader, the scrum master should also be a good listener.


2.    Awareness
While leading teams, it becomes imperative to develop a holistic view and look at things from a general point of view, rather than be concerned about the micro level issues when a particular issue or problem arises. It is important to look at problems from a higher level and get an overall picture of where the issue is actually heading to before arriving at a consensus with the team members. It is also required to look beyond the role and scope as a programmer or a developer and grasp the problem at its root level before striving to provide solutions. Scrum methodology advocates that the scrum master should not get directly involved with the development work and start directing the team members. At the same time, the servant leader role indicates that the scrum master should act more as a facilitator and help the team members to resolve their problems by providing guidance and advice, even on an individual basis if required. Therefore, it becomes necessary to strike a correct balance between the two aspects of the role.

3.    Persuasion

Traditional project managers can be autocratic while delegating their authority. Scrum is in antithesis of autocracy – it supports teamwork and collaboration. The team works as a whole and delivers results. Moreover, the scrum guide indicates a specific role for the scrum master. He or she should primarily supervise, and ensure that scrum is properly implemented, and followed by the team members. Rather than issuing commands and orders, the servant leader role encourages persuasion – discuss and talk with the team members, and encourage them to do things rather than demand action and activities from them. 

         "Please visit http://www.quickscrum.com to download the Quickscrum tool" 

Source:-