Showing posts with label user stories. Show all posts
Showing posts with label user stories. Show all posts

Monday 24 March 2014

Dual Roles Of A Product Owner – The Stakeholders And The Team, How To Balance Them?

A product owner has several responsibilities, and is required to focus upon the two main aspects associated with scrum – the end users, market conditions, and the stakeholders on one hand, and the scrum team on the other. It is not an easy job to carry out. Quite often, the product owner may be faced with a dilemma while carrying out his or her responsibilities on behalf of the stakeholders, and convincing the team members to perform, and act in their interests. It can be a challenging position indeed.     

The outward view: Users, customers, and stakeholders
The first and the foremost priority for the product owner is to understand the needs of end users and the customers. The basic purpose of having a scrum project is to develop a product which is acceptable to them. The consumers are important for the project since they determine whether the product is going to succeed in the market, and if so, what the ideal product ought to offer. The person may be required to conduct personal and group interviews to understand their needs in depth, and avail a clear vision as to what kind of product they really desire and expect. As is the case, many times different users have their own ideas as to what the end product should typically offer in terms of features and functionality. The product owner is forced to review their expectations and ideas at a macro level and decide the practical aspects concerning the product to be developed. If the users have varying requirements or differing perspectives as to what the product should include, it is eventually up to the product owner to decide which of the aspects discussed are really important and feasible, and which can be incorporated into the project.

The stakeholders are important since they invest into the project. The product owner receives the actual product related requirements from the stakeholders, who also have an idea regarding what the end users want. However, their priorities and perspective is centered upon generating a profit out of the project, and it is up to the product owner to deliver the project – nicely wrapped up and ready for sale. The stakeholders also remunerate the efforts of the entire scrum team including the product owner. It is therefore essential that the product owner complies with their instructions and act in their direct interests.

The product owner has to respond to the questions put forward by the users, customers, and the stakeholders. He or she has to advise them, and maintain a vision that can best convey what is important and profitable to them. 

The inward view: The scrum team – scrum master and the development team
While the stakeholders and the end users are important, the development team and the scrum master too are important to the product owner since they are directly responsible for developing the project. Scrum supports collaboration, and the entire team collaborates with the product owner while scrum is implemented in the project. Needless to say, without their help, it is not possible for the product owner to deliver anything.

In most cases, the product owner acts as a facilitator and ensures the team is properly working at all times. He or she has to remain close to the actual development work, and be available whenever the team faces any problems or issues with the acceptance criteria linked with the user stories, and resolve the issues when they occur. The product owner has certain responsibilities towards them. Apart from being a product owner, the person also acts as their mentor, guide, and a good friend when his or her role so demands. Read more http://computersight.com/programming/dual-roles-of-a-product-owner-the-stakeholders-and-the-team-how-to-balance-them/ 


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



Thursday 20 March 2014

In Scrum, Is It Possible To Cancel A Sprint? If So, When?

The scrum framework and importance of sprints
Scrum is primarily about dealing with changing market conditions and introducing changes in the product definition while it is being developed. It is very difficult, and in certain cases impossible, to incorporate changes in the features and functionalists linked with the product while its development is currently underway. Traditional development methods such as waterfall do not offer facilities to change the product features once the development has started, since the entire development occurs in stages and it is not possible to reverse the stages, or “undo” the work carried out, nor it is possible to “pause” the development activities and restart them with new ideals and objectives. Scrum makes this possible because the actual development is carried out in sprints which generally last for two weeks. It is very easy to add on, or update the functionality associated with a particular feature of the product.

In scrum, the project requirements are defined in the form of user stories, or product backlog items, which constitute the product backlog. The user stories are arranged as per their priorities and importance in the backlog, and whenever development is to be carried out, a small portion or a set of the backlog, usually the top portion which is more important and carries a higher business value, is transferred to the sprint backlog. During the sprint, each user story contained within the sprint backlog is taken up for development by the team members. After the sprint is completed, the completed user stories are taken up for verification and adjudged whether they are stoppable, and are bug free.

The main feature of scrum which makes it unique is that it supports development in iterations known as sprints. The framework is specially designed to control the sprint, with its checks and counter checks that help to fulfill the objectives defined in the project. If any new feature or functionality needs to be introduced in the project, it can simply be defined as a user story in the product backlog, and subsequently transferred to the sprint backlog for development. The sprint is the most important activity of scrum, and the framework has laid down many rules regarding how it should be controlled. The rules are mandatory, and should be implemented to get the most out of scrum. 

Is it possible to terminate a sprint abnormally before it completes?

The team members have to complete their development tasks before the sprint ends. It is imperative that the sprint process be time boxed, and completed properly if positive results are to be achieved out of scrum implementation. However, under some rare circumstances, a sprint may be terminated before it can complete its full iteration or cycle. The product owner decides whether the sprint can, or should be terminated. Read more https://www.apsense.com/article/in-scrum-is-it-possible-to-cancel-a-sprint-if-so-when.html

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

Wednesday 19 March 2014

The Purpose And Goals Of Carrying Out Product Backlog Refinement In Scrum

The official scrum guide mentions about carrying out routine maintenance activities to update the product backlog, or to carry out the product backlog refinement. The exact time to be invested in the grooming activity depends upon the management, and how scrum is to be implemented in the project. A rule-of-the-thumb followed is to put in approximately 10% of the time utilized during the sprint activity, into the grooming activity. It is important to be clear regarding some of the aspects associated with product backlog refinement.

Purpose and goals of carrying out the refinement
The primary reason why the product backlog should be refined is to update or rebuild the backlog so that it remains consistent with the requirements provided by the stakeholders with regards the new features and functionalities to be included in the project. Another reason is to review existing user stories or product backlog items and decide whether they are still useful or pertinent from the development point of view, and to update the acceptance criterion and the explanation detailed in each PBI.  

It is recommended to use the “DEEP” method - detailed appropriately, estimated, emergent, and properly ordered – while prioritizing the user stories within the backlog. Larger stories or epics should be systematically broken down in to more manageable smaller ones, proper estimation by assigning relevant story points to the PBIs should be carried out,  user stories should be rearranged as per the new priorities,  and the queries regarding the development of user stories during the sprint should be effectively answered by the product owner. Whenever a meeting is planned to refine the PBIs, the objective should be to carry out enough refinement work so that it lasts for at least three future sprints.   

Duration and frequency of the grooming activity
Each activity and meeting is time boxed in scrum. Following the same principle, the product backlog refining or grooming activity should be time boxed too. However, in practice, there is no pre-designated activity or a meeting for planning and carrying out the product backlog refinement activity in the same manner as the sprint planning meeting and the sprint retrospective meeting is held. Backlog grooming is carried out more as a routine activity than anything else in scrum, and the guide does not exactly specify how much time or efforts should be invested in the activity. Perhaps a possible reason could be that the product development and creation of product backlogs vary from project to project, and it is difficult to standardize how the grooming activity should be carried out since the size and nature of the product backlog cannot be adjudged. Read more on http://ezinearticles.com/?The-Purpose-And-Goals-Of-Carrying-Out-Product-Backlog-Refinement-In-Scrum&id=8381136

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


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" 

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 4 March 2014

All about Sprints and Sprint Meetings – In a Nutshell

Overview
The sprint is the main point of activity for any scrum project. During a sprint, the development team delivers a certain portion, or a “slice” of the actual development activity to be carried out as defined in the product backlog. During a sprint, the development activity can include a host of other things in addition to the actual development work. This can include the documentation, user manual creation, testing and debugging functionality, or even checking cross platform compatibility. Each activity during the sprint can be understood as a task. When user stories are transferred to a sprint backlog by the product owner, the development team further segregates each user story into its individual tasks i.e. each story is broken down into smaller tasks to make it more manageable and develop able. Each user story is assigned a story point which determines its potential value. The story points help to generate an estimate as to how many user stories can be included in the sprint backlog based upon the team’s ability to carry out the development.

The entire development is carried out in the form of sprints. Usually, a sprint lasts for two weeks, however, technically they can extend up to three to four weeks depending upon how scum is being implemented by the product owner and the scrum master. Sprints are also known as “iterations” in more simple terms. Sprints are supervised by scrum masters. As per the scrum guide, a scrum master should be a passive participant during the sprint. His or her job is to ensure that the team members properly follow scrum rules when the sprint is underway. At the end of the sprint, user stories are developed into shippable products, each with its own functionality and importance. 
 
A sprint planning meeting is held before the sprint commences. It is attended by the product owner, the team members, and the scrum master. During the sprint planning meeting, the product owner transfers some of the user stories from the product backlog into the sprint backlog for development purposes. The meeting is actually held in two parts:

·       First half of the meeting
During the first half of the meeting, the product owner explains about the user stories which have been included in the sprint backlog. He or she explains about the acceptance levels and the importance of the user stories to the stakeholders. Team members are free to ask questions to the product owner if they require explanations regarding some of the user stories.

·       The second half of the meeting
During second half of the sprint planning meeting, the team members breakdown the user stories in the sprint backlog into smaller, and more manageable tasks, which are taken up for development purposes. Generally, the team members decide unanimously how to distribute the tasks and user stories among themselves. Team members take up work as per their skill sets and development expertise.

Sprint retrospectives

A sprint retrospective meeting is held after the sprint is over. The main purpose of the meeting is to evaluate the sprint which has just completed, and what lessons should be learnt from it. A lot of discussion occurs during the meeting, and both the product owner and the scrum master try to envision what could possible go wrong in the future sprints. They contribute their expertise as well as their experience, and try to identify impediments, and seek solutions for potential problems which may occur in the near future.  

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

Wednesday 26 February 2014

Discover What Is Scrum Methodology and How It Works

At times, projects can be very big. You need a lot of patience while dealing with extremely big projects or highly complex ones. Even experienced project managers tend to get discouraged and start losing hope when the project keeps on extending beyond the deadline, or when things start going wrong with the project. Usually, the management and stakeholders tend to exert undue pressure to the project manager and the development team to perform, and deliver the project, well within the time frame. Projects have a certain financial liability associated with them,   so the sooner the project is completed, the quicker the returns are availed from it. During times when things do not go as per plans, managers start losing hope, and at times wonder if there is a better way of doing things and completing the projects in time so they don’t cost anything extra to the management in terms of increased overheads or reduced returns over investment. This is where scrum comes in – it offers an opportunity to develop your project in a manner such that the stakeholders remain in touch with what is happening to their project, what is proceeding as per plans, and what needs to be removed or done away with so the project can get completed in time and they can start benefiting from the investment they have carried out in the project.

What does scrum methodology offer?
Scrum framework was originally envisioned and developed to be flexible in nature and possess the capability to adapt itself to the changing development requirements. If during the course of the development, if the stakeholders change their minds regarding the project, or desire to change their project related requirements, the situation can be handled in a more beneficial and cost effective way using scrum methodology. Scrum is synonymous with Agile. Scrum, or Agile framework offers an opportunity to make amendments in the project definition while the project is underway. This is a unique feature, since most development methodologies such as the waterfall, which supports a linear structure for development, have no answer or solutions which can effectively cater to changing project requirements. Moreover, a project can be modified to include additional or new functionality when it is underway. If the client decides that a project should offer some features which have not been thought of before, or thought about during the project planning stage, scrum can incorporate these requirements within the development plan. On the other hand, if the project owner feels that some of the features offered by the product may fail to score in the market when the product is launched, those specific features can be easily removed and replace by new ones. Scrum focuses upon development at a micro level. The development activity is implemented and controlled at a very low level, where it is possible to interact with the basic components which constitute to form the project as a whole. It is always much easier to deal with smaller things and change them when they are small in size, rather than wait for them to attain a big size when managing them becomes very complex, and impossible.        

How does scrum work?
It would take a very long time to discuss in depth exactly how scrum operates and what its technicalities are. However, its main features and the method of working can be summarized as:

·       Unlike traditional waterfall methods, scrum does not start with the entire development activity at a go. Rather it breaks up the entire project into smaller functional parts known as user stories, and creates a product backlog which is a kind of master list which includes everything needed to develop the project in totality. Product backlogs contain user stories.

·       Once the product backlog is created by the product owner, a person who represents the interests of the investors or stakeholders, a portion of the backlog is extracted and transferred to a temporary development list known as a sprint backlog. This list contains all the tasks which are to be developed by the team members.

·       Once the sprint backlog is created, the team members distribute the list items or user stories among the developers based upon their levels of expertise. Thereafter the actual development starts. Development is carried out in short bursts known as “sprints”. Each sprint can last from one week up to a month. 

·       At the end of the sprint, a meeting is held to evaluate the outcome of the sprint. Completed items are accepted as “Done” while unfinished ones may be transferred back to the product backlog.


·       The entire process keeps on repeating until all the user stories in the backlog are “Done” and there are no further requirements to be developed.  


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

Wednesday 12 February 2014

In Scrum, Can A Sprint Be Cancelled? If So, When?

Scrum framework and sprint
Scrum development is fundamentally about adapting to changes occurring during the product development cycle. Scrum levies a lot of significance to transparence, distribution of work, and incorporating changes even “late during the development stage”. Each individual associated with the implementation and working of the scrum framework is assigned a specific role. The person is strongly advised to perform within the boundaries specified by the role he or she is supposed to play, and not transgress the area of work under any circumstances. In scrum, the product owner too has a specific role to play, and is responsible for creating and maintaining the product backlog. The product owner has the final word while working out the list of requirements needed to develop the product – the user stories – which form the backbone of any product backlog. Each user story is further divided into individual tasks, which are taken up by the team members. These tasks are developed during the sprint activity. A sprint activity or simply the “sprint” is nothing but a “burst” of development activity undertaken by the team members, which generally lasts from two to four weeks as decided by the product owner. At the end of the sprint, a meeting is carried out which analyses how much development work has taken place, or how many user stories are successfully completed by the team members. So in many ways the sprint functions as the main essence, or the “heart” of the scrum process. Sprint plays an integral part in the scrum framework.

Can a sprint be terminated abnormally before it is completed?
Development teams are always instructed to complete their user stories as well as tasks well within the sprint duration. It is very important for the sprint process to be completed if the management is to achieve positive results out of scrum implementation. However, under some unusual or rare circumstances, sometimes sprints need to be “stopped” or terminated before it has a chance to run its full cycle. It is the product owner who decides if the sprint can or should be terminated or not.

Some of the reasons, which may induce the product owner to terminate the ongoing sprint, can be:
·       The stakeholders or the company management changes its priority regarding the product development
·       Market trends and/or changes make the current product development redundant or obsolete
·       A major technology change may introduce newer ways and methods of working
·       A better technical solution may offer a quicker and a more cost effective way of meeting the product development  
·       The management or the stakeholders may experience a financial crisis, or may not be able to financially support the development work

·       The launch of a new or better product may render the current development work superfluous and unnecessary