Showing posts with label Scrum Methodology. Show all posts
Showing posts with label Scrum Methodology. Show all posts

Monday 21 July 2014

What Should The Perfect And Ideal Daily Stand-Up Scrum Meeting Consist Of As Per The Official Scrum Guide?

The daily stand-up scrum meetings play a vital role in ascertaining that the development activity is carried out in a sustained manner. The meetings are usually time boxed to 5–15 minutes and are held standing up to remind people to keep the meeting short and to-the-point. Stand-up scrum meetings also help to find potential pitfalls experienced during ongoing sprints. It is important to know how the daily meetings are carried out, and what they should ideally consist of. On the basis of official scrum guide specified by Jeff Sutherland and Ken Schwaber, the originators of scrum methodology, the article tries to explain in details about the daily scrum meetings.

·       Who should attend the meeting?
Everyone associated with the scrum project should attend the meeting. It is important for the scrum master and the team members to remain present, while the product owner and stakeholders too can remain present if they desire to do so.

·       What should be discussed during the meeting?
It is very important to remain focused and only discus about those topics which are directly related and associated with the sprint activity. The attendees should try not to wander off the main topic and discus about other trivia which are not pertaining to the scrum activity. In fact, the guide is specific about discussing topics which are directly connected to the sprint to be carried out during the particular day, even other topics dealing with the project, or project related issues should be avoided during the stand-up meetings. There are special provisions like the sprint retrospective meeting to discuss about such issues.The main topics to be included during the meeting should consist of:
-      What tasks were accomplished during the sprint carried out the day before?
-      Which tasks are to be developed today?
-      Did the particular team member face any problems or impediments during the sprint implementation? If so, what were they?
  
·       In what order should the discussions be carried out?
There is a lot of flexibility while deciding about the order in which the discussions can be carried out during the meeting. Team members can take turns in discussing about what they have achieved, and what they plan to do on the particular day. Alternatively, the scrum master may decide who should speak first and which team member should follow the discussion. A popular method is to take up discussions regarding important tasks first, followed by the order of priority. The order of discussion can vary from project to project, and from need to need. 

·       Where and when should the meetings be held?
The stand up meetings should be ideally held at the place of work, and in front of the task board. While they can be conducted almost everywhere, including conference rooms, holding the meetings in the actual place of work can help the team members to remain more focused and target oriented. The meetings should be held before the daily sprint is initiated.

·       How to sustain the energy levels during the meetings?
The stand up meetings are also commonly referred to as “huddles” by many people, simply because each team member stands very close to the next one during the meeting. The scene is much similar to the scrum used in rugby. The proximity often encourages the team members to become proactively involved in the discussion. The energy levels start rising up as each team member briefly, and professionally, discusses and outlines his or her activity for that particular day. The meeting is to be held in such a manner that the “atmosphere” becomes charged up with anticipation, and each member focuses upon the goals he or she plans to achieve during the sprint carried out that day.


                          Subscribe Free scrum tool from Quickscrum.com

Thursday 10 July 2014

What to Consider Before Writing User Stories in Scrum So They Can Be More Effective and Meaningful

User stories in scrum

A user story is the main functional unit in scrum methodology. When any project is taken up for development using scrum, the specific requirements for that particular project is stated by creating a set or development requirements, which are termed as user stories in scrum. Usually the product owner creates the product backlog – the list of requirements needed to develop the project. The product backlog items are referred to as user stories by scrum professionals. Once the product requirement list is created, a small set of the requirements (user stories) are transferred to the sprint backlog during the sprint planning meeting for development purposes. The stories are explained to the team members in the first half of the sprint planning meeting. During the second half, team members distribute the stories after breaking them down into development tasks. A sprint backlog is prepared in this way. Subsequently, the team starts developing the functionalities of the user stories during the daily sprint. In scrum, the entire project is governed on the basis of the user stories.

The official scrum guide does not attempt to provide a specific definition that can describe the “structure” of a particular user story. The guide actually explains what a user story is, and what part it is supposed to play in the project. It fails to provide a standard format which can explain as to how a user story should really look like. Maybe, the reason why the guide fails to provide a structural definition is because development requirements can vary from one particular project to another.  So, it becomes difficult to standardize a specific format compatible to all types of projects.  The guide, however, states that the user story should ideally be composed of three constituent parts, or include there main aspects:

1.     A written description or a graphical representation of the entity which forms a part of the project
2.     A detailed conversation, or an explanation which additionally describes the functionality in greater details
3.     The acceptance criteria or “Done” meaning which specifies what the entity should include, how it should function, and the particular manner how it should migrate or integrate into the project

What should be considered while writing or creating user stories
While writing the user stories, certain points are important, and should be adhered to for the user stories to be effective and developmental:

·       Stakeholders should create or write the user stories
The investors and the stakeholders are funding the project for financial gains. Each project has a financial value attached to it in terms of how much the project will be worth in the market. The stakeholders know which user stories are important, and which functionalities will increase the value of the project. Therefore, they are the ideal individuals to define and create the list of requirements or the user stories. The product owner carries out the work on their behalf, and represents their interests while the project is being implemented.

·       Using simple tools to represent user stories
In the manual system, stories are written down on index or story cards specially designed for scrum. The scrum index cards are very convenient to work with, and are generally pinned on the scrum board while the sprint is underway. It is important to use a tool that is small in size, so it can be easily stored and pinned on the scrum board. It should be easily readable, simple to understand, and effective. The more simple and effective the tool is, the easier it would be for the team to understand and use it.

·       Time to be allotted to the user story
Scrum advocates time bound activities. Each activity in scrum has a certain duration associated with it, and is “time boxed”. It is important not to exceed the time limit to get the most out of scrum. Each user story is allotted a certain duration within which its development should be completed. It is essential that each user story is completed in the time allotted to it since it has a certain importance value (story points) attached to it. The project turns out to be cost effective only when the right duration of time is allotted to each user story, and each story is completed in the time allotted to it. If the time limit is not allotted, the project becomes expensive and its ROI decreases.

·       Describing and stating important non-functional aspects
Certain user stories need to be explained in further details so the team members can properly understand them. The user stories may be very important in terms of how they provide a solution for a particular end-user related requirement. They may or may not be technically complex, but it may be important for the team members to know what part the user stories are likely to play, and how much important they are as far as the overall project development is concerned. Such non-technical aspects of user stories should be explained properly so a better overview and understanding of the project related requirements is availed.  

·       Fixing the story priority
Each user story has a certain level of importance attached to it development. It is important to prioritize the user stories, so the correct time can be fixed for its development. Important user stories, or those which have more importance attached to their development, should be assigned a higher priority, and sufficient time should be allotted for completing them. On the other hand, less important stories ought to be assigned less time and priority because they do not carry much financial value with regards the functionality they offer. .





Wednesday 23 April 2014

Seven Unique Ways To Breath In New Life In Your Sprint Retrospectives

Sprint retrospectives are an important part of scrum methodology. For Agile practitioners, retrospectives hold a special significance, and offer an insight into the self-learning capabilities supported by scrum.

The primary objectives of a sprint retrospective meeting are:
·       Display the user stories to the stakeholders, which have been developed by the team during the daily sprints  
·       Have the user stories accepted by the investors as “shippable”
·       Discuss and review the entire sprint, and analyze it to find how the sprinting process can be improved upon
·       Find what lessons can be learnt from the sprint, and how the team can benefit from prior findings and experiences
 
One of the issues faced by the scrum team is the team members end up discussing the same issues and problems in most of the retrospective meetings. The team feels it is discussing the same topics again-and-again, and therefore it is redundant to hold retrospectives. In all aspects, the retrospectives seem to be going “stale” and the team might be just holding it because scrum advocates it. The learning and self correction process stops in such cases, and the retrospective loses its importance and functionality.

So how can you pump in new life in the retrospectives? A few pointers may help you improve your meetings.

1. Rotating the leadership
Instead of the scrum master facilitating the meeting, invite the team members to temporarily assume the role of a scrum master and conduct the meeting. Each member takes turns and facilitates the meeting in his or her own particular way and manner. The members can be asked to experiment with newer adaptations and ways of holding the meeting.

2. Changing the questions
The two standard questions most commonly asked during the meeting are:
1.     What did we do well this time?
2.     What can be possibly improved upon in the next sprint?
Instead, try asking the question:
·       What actually happened during the sprints, and how did it occur?
Individuals tend to look at things from their own perspectives, and at times, they might fail to comprehend the true situation if they are forced to look at issues from a different point of view which they are not familiar with. Asking questions which they find easy to answer can go a long way in making the retrospective more interesting and useful.

3. Varying the process
Each scrum team has its own method of conducting the meeting. While some teams prefer group discussions during the retrospectives, a few of the teams follow the traditional pattern of having one member demonstrate his or her work to the stakeholders. Whichever process you follow, try to change it by including variations into the meeting pattern. A recommended method is to use histograms indicating member satisfaction levels. The survey can be conducted anonymously and the findings presented to the entire team. Suggestions can be availed from the team members as to what new aspects ought to be incorporated to make the meeting interesting. 

4. Thinking about unique perspectives
Individuals and people who are not directly connected with the scrum project, but are still attached to the project somehow can be invited to attend the meeting. Vendors and system deployment personnel have different insights to offer since they are directly connected with the market and have a “working knowledge” about consumer psychology and requirements. Their participation can help the scrum team to avail a broader perspective regarding how the development of user stories should be ideally carried out.

5. Changing the focus
Every team has a certain focal point, which it concentrates upon while developing the project. Switching the focus can also prompt the team to come up with new ideas about how the scrum process can be improved upon. If the team is concentrating too much upon the engineering practices, the focus could be changed to collaborative working and solving technical issues by sharing out the problems.Read more on http://blog.quickscrum.com/post/2014/04/09/Seven-Unique-Ways-To-Breath-In-New-Life-In-Your-Sprint-Retrospectives.aspx


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

Monday 7 April 2014

An Overview Of Scrum Methodology

Scrum is a unique framework specially designed to build a versatile product.  The framework supports a dynamic design, which allows the features and functionalities linked with the product to be changed, along with the real time changes occurring in the ongoing market conditions. Generally, a scrum project is started when the stakeholders or the investors desire to develop a product for marketing and selling purposes.

Scrum roles
Scrum is basically a team process. There are three important roles in scrum:
·       The Product Owner
Responsible for the work to be done in the scrum project.
·       The Scrum Master
Plays the servant-leader role, ensures that scrum is properly implemented in the project, and acts as a facilitator.
·       The development team members
Undertakes the product development in the form of sprints and actually gives “birth” to the product.

Daily sprints
A sprint is the fundamental unit of developing the product in scrum methodology. Actually, the entire product is developed in short bursts of development activity known as “sprints”. Each sprint generally lasts for two weeks. It can, however, extend up to four weeks if required, but in practice it generally lasts for only two weeks. A fully functional, or a “shippable” product feature or functionality is delivered at the end of each sprint.

Scrum artifacts or objects
Scrum includes three important artifacts which facilitate the scrum process. They are:
·       The Product Backlog
It consists of the user stories, or the list of features and functionalities which actually define the entire product to be developed.
·       The Sprint Backlog
A certain portion, or a subset of the product backlog, is transferred to the sprint backlog for development purposes during the sprint.
·       The Product Increment
It constitutes the list of features and functionalities which have been developed successfully by the development team, and is ready for “shipping”.

Scrum meetings
Scrum also requires five team activities or meetings, which are:
·       Product Backlog Refinement
The meeting includes updating the product backlog items or the user stories with the latest updates and feedback availed from the stakeholders, and resetting the priority of the backlog items on the basis of their importance.
·       Sprint Planning
Scheduled just before a sprint is to be carried out, the meeting is used to plan which tasks should be taken up for development by the team, and to clear the doubts or issues concerning the development.
·       Daily Scrum
The meeting is held just before the sprint commences for the particular day. The purpose is to discuss three important questions associated with daily sprinting:
-        What was done yesterday?
-        What is to be done today?
-        Are there any difficulties?
·       Sprint Review
Once a sprint is carried out, the product owner compares the user stories developed by the team, whether they fulfill the acceptance criteria. The review functions as a “learning” activity, and the team uses the prior experience to avoid potential pitfalls from occurring in the future sprints.
·       Sprint Retrospective

Once the development is carried out in sprints, and the product owner accepts the tasks as “Done”, it is required to demonstrate the successfully completed user stories to the stakeholders and the end users. The retrospective also helps to obtain a feedback from the individuals who are actually going to use the product.

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

Thursday 3 April 2014

Agile Values in Scrum: The Important Principles and Values of Scrum Explained

Scrum is perhaps the best known Agile method of implementing successful projects. Scrum projects complete on time, and result into higher ROI for the stakeholders. This makes Scrum an ideal, and the most preferred choice while implementing projects, in which the product definition is liable to change with the changing market conditions. The Agile values and principles apply to scrum.   

Individuals and interactions more important than processes
Scrum, just like other Agile frameworks, relies much upon putting trust in teams and individuals connected with the project. The manner in which the team interacts is important. The team should take a proactive interest in determining what is to be done, and figure out how to achieve the aims and objectives associated with the project. Self correction and self learning is an integral part of scrum methodology, and the team should put in efforts to identify potential issues and problems which can act as impediments and hamper the project. The individuals should also take the responsibility to resolve the issues – they can take the help of the scrum master or the product owner as and when required, since these individuals are usually senior members, and have the required knowledge, as we as the expertise to find a way out and solve the problematic issues. For issues concerning the stakeholders and the investors, the product owner should take a proactive approach in availing the clarifications regarding the acceptance criteria, and guide the team in proceeding with the user stories. In scrum, it is essential that the team feels responsible, and undertake the responsibilities in a proactive manner.

Working and shippable software takes precedence over documentation and marketing concerns
The main purpose and objective of scrum is to produce shippable products through iterations know as sprints. The entire development of the product occurs in sprints. At the end of each sprint, the product owner verifies the quality of the development carried out by the team, and adjudges the completed user stories, whether they comply with the acceptance criteria. It is imperative that sprints deliver shippable products which fulfill the stakeholder’s vision of a successful marketable product. The documentation required to “manufacture” the product, such as the project analysis report, project design, testing and documentation of the results, creating user manuals and technical specifications etc. are important too, but the actual development through the sprints, and churning out shippable products at the end of sprints is more important and precedes the documentation associated with the development.

Collaborating with the customers more important than contracts and legal documentations
The product owner is the main entity which functions as the main point of contact between the team and the stakeholders, as well as the end users of the product. The product owner collaborates with the team, and determines what needs to be done next to make the project a distinct success. A primary responsibility is to ensure that the product maintains the highest possible market value at all times, even while it is being developed. This is the most critical aspect of scrum.

Transparency and taking proper decisions at the right time and the right manner
Scrum stresses heavily upon transparency and sharing information. The entire scrum process is designed to facilitate the flow of information and increase the transparency. Each team member should have access to the required information. They should have access to proper data and important information, so they can make informed decisions and fulfill their responsibilities in a proper and effective manner. Each aspect associated with the scrum process – including the product backlog and user stories – should be made available at all times so that the product increment through sprints is availed as per production plan and schedule.
Source:- http://computersight.com/programming/agile-values-in-scrum-the-important-principles-and-values-of-scrum-explained/

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

Why Certain Businesses Fail To Benefit From Scrum – Part 1

Scrum may be difficult to understand and follow
Despite the fact that scrum framework helps to provide solutions for the drawbacks prevailing in traditional project management methodologies, in many cases, the company implementing scrum for the first time may face certain issues associated with scrum itself. Scrum methodology is highly adaptable and powerful. It can cater to changing market conditions, and successfully incorporate the changes within the product development cycle, even while the product is currently being developed. There are several advantages, which makes Agile scrum a much desired development methodology. However, implementing scrum in a successful manner can prove to be very challenging for first timers. The impediments faced are generally related to the transition process, as the company starts migrating from its current development methodology to scrum. For majority of people new to scrum, the environment may appear to be complex, rigid, and difficult to understand and follow. This is a misconception since scrum can be almost everything but not rigid in the truest sense. In the initial stage, the team may find it difficult to understand how scrum works, and what kind of roles the product owner and scrum master play while implementing scrum. In addition, there are certain artifacts or objects such as the product backlog and the sprint backlog which figure prominently in scrum. Moreover, scrum events such as the daily sprint meeting, sprint planning meeting, sprint retrospective meeting, and the sprint review meeting may confuse novices why they exist, or are needed in the first place. Scrum can be quite different when compared to traditional waterfall project development methods, and people often start developing a negative attitude towards it simply because they fail to understand it.   

Not getting the desired results out of scrum implementation
A company or a business may decide to implement scrum to reduce the project turnaround time or increase the productivity and the ROI. There is always a reason why an ongoing process flow may be required to be replaced by a new one by the business owners. The management and stakeholders may have “heard” about the obvious benefits of using scrum, and how their business can possibly benefit from them. The management personnel may have high expectations, and might even plan their marketing goals and objective keeping in mind the benefits availed by implementing scrum in their ongoing projects. However, in many cases, due to various reasons scrum implementation may fail to produce the desired results for the particular business, and the entire project may go askew with no clear indication as to in which direction it is heading for. The reasons may be many and varied. It is important to know what they are if scrum is to be implemented successfully.  

·       Improper communication channels and feedback
Broken feedback channels and improper communication processes primarily lead to a void in the learning process which is so very important while implementing scrum. A major issue is the lack of feedback availed during the scrum meetings and important information not being transmitted to the team members in the correct manner, or at the correct time. In scrum, the entire project is developed in short bursts of development activity called sprints. Sprints are to be conducted on a daily basis. The daily stand up or the daily scrum meeting precedes the sprint activity. Three important questions are to be answered during the meeting. The product increment during the daily sprint can be affected by the answers availed during the stand up. After the entire sprint is over, a sprint review meeting is held to evaluate the development carried out by the team. The product owner and the scrum master evaluate the entire sprint during the review, and efforts are made to generate new findings based upon prior experiences. The findings need to be conveyed to the team.

Result
When the communication channel fails due to some reason and proper feedback is not transmitted to the team members, they may start with a new sprint and repeat the same mistakes they made in the prior sprint. Scrum supports self-learning and self-correction activities which are possible only when a proper communication channel is set in place, and feedback is made available to the entire team. If the team members do not receive any feedback or communications from the concerned personnel, they may proceed with future activities without any definite aim or objective.  This can be disastrous for scrum because everything is planned, and each activity is carefully regulated in scrum. The team members fail to perform in the correct manner and the entire project suffers as a consequence.     

·       Organization lacks sufficient scrum knowledge and experience
Project managers are more used to traditional waterfall methods and are familiar with their process flow. Scrum is very different, and the framework should be understood in depth before it can be used or implemented in any particular way or manner. It is essential that the entire team be educated in scrum and knows how it works. The team members should be well apprised about the importance of the scrum artifacts and the purpose of the meetings. They should be made aware about the importance of sharing information in scrum and collaborating with other team members. At times, the team may not be clear about how a scrum meeting should be ideally conducted, and what information ought to be availed from it. A lack of clear purpose may render the entire meeting as useless. The team members may fail to deliver productivity in a scheduled or effective manner. The entire scrum process could be hampered.Read more on http://blog.quickscrum.com/post/2014/03/31/Why-Certain-Businesses-Fail-To-Benefit-From-Scrum-%E2%80%93-Part-1.aspx

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


Wednesday 2 April 2014

The Core Role and Responsibilities of a Product Owner in Scrum

One of the commonest mistakes that people make while considering the product owner’s role in scrum is to consider him or her as either actually owning the product, or functioning as a decision maker while developing the product for the stakeholders. This is far from true, since the product owner is actually employed by the stakeholders to represent their interests while scrum is implemented in a project. A product owner can own a product, but is not necessarily its owner in most cases.

The core job of the product owner, or rather the main responsibility, is to:
·       Figure out how to “make” the product
·       Ensure that the sprints are successfully completed during the project
·       Shippable products are delivered at the end of sprints
·       Ensure that the scrum project is successfully completed

The product owner’s job is a difficult one, and a full-time one.

The product owner as the core determinant of a successfully completed scrum project
It is essential to deliver value, and the scrum method requires an efficient, reliable, and an accurate mechanism, which can help to determine the product vision and create an effective pipeline which has the capability of distilling the product vision into shippable, concrete, and deliverable product backlog items that can successfully demonstrate the tangible benefits as a part of the longer project vision. It is because of this reason that the role of a product owner becomes a very important one while implementing scrum.

While the product owner can participate in each Scrum ritual, his or her main function, parallel to that of the scrum master, is to act as a facilitator for the entire team, and be available when problems and issues arise in the project. The main tasks of a product owner are:
·       Envisioning the product and facilitating its development
·       Creating an iterative or sprint release strategy which can incorporate the changing market conditions and product requirements
·       Distilling the high-level product related requirements into developable and deliverable user stories linked with acceptance criteria
·       Prioritizing the product backlog
·       Communicating difficult and complex system architecture issues to the clients
·       Negotiating all client-sided disputes and concerns associated with the product design, development, and user story priorities

Responsibilities of a product owner
The person is mainly responsible for:
·       Representing the interests of, and acting as the voice of stakeholders and customers
·       Understanding project profitability and delivering high ROI
·       Managing the stakeholders
·       Maintaining communications and promoting collaboration amongst the team members
·       Undertaking on-the-spot tactical decisions and ensuring that the product development cycle is not affected
·       Participating in the release meetings and planning
·       Writing effective user stories
·       Maintaining and updating the product backlog
·       Helping the team in estimating the development time for each scrum scenario
·       Participating in the sprint review meetings, accepting the user stories as “Done”, and providing effectual feedback

·       Monitoring the project progress and suggesting constant adjustments based upon important strategic objectives

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

Wednesday 26 March 2014

Advantages Offered By Scrum Methodology – Scrum Benefits Explained For Scrum Beginners

The scrum methodology
The usage of the word “Scrum” is inspired by a Rugby game technique where individual team members form a group, and collaborate to fulfill a common objective – sprinting with the ball in hand, and covering a certain distance to “achieve” a touchdown. The concept used in scrum methodology is quite similar to the “scrum” used in Rugby. Just as Rugby players huddle together and make efforts to gain the possession of the ball so they can undertake the sprint to achieve a touchdown, in scrum, the individual team members too work in unison, and collaborate to develop a shippable product in short bursts of developmental activity known as “sprints”. Sprints are typically short and target oriented in nature, just as they are in Rugby. Generally, a scrum development team may consist of six to seven members working together under a common roof, or in certain cases, they may be located in different geographic locations. 

Initially, the main purpose of the scrum framework was to develop and manage software-based projects. However, over the years the pioneers who originally designed the framework put in efforts so the methodology could evolve to suit non-IT or software based projects. However, implementing scrum for non-IT based projects, and the fulfillment of project goals requires specialized training, the same case as in software-based projects. It is very important to understand that scrum is a concept – a methodology – and it needs to be enforced or implemented in a well-planned and organized manner for it to be effective.

The scrum team is headed by a product owner who represents the stakeholders and their interests while executing the project, and is accompanied by a scrum master who oversees that scrum is properly implanted at all times while the project is underway. The scrum development team carries out the project development in short bursts of iterations known as “sprints”. The development team is typically composed of trained professionals, who have specialized in a variety of IT disciplines. They can be software developers or programmers, software engineers, Q/A specialists, and individuals who have specialized in other branches belonging to the IT segment.

Advantages of scrum
Scrum framework offers many advantages not found in traditional waterfall development methodologies:

·       Responding to the market changes
Perhaps one of the major factors which often affect, and which may also result into an abnormal termination of an ongoing project is the changes occurring in the market while the project development is underway. Quite often, a project may start successfully and proceed as per plan, but a subsequent release of more effective and functional product may render the current object obsolete and useless. This has happened many a times in the IT market, and many IT companies have suffered heavy losses, and even closed down prematurely. With scrum, it becomes easy to incorporate the changes occurring in the market. New changes can be easily introduced in the project life cycle, and existing development can be modified or “upgraded” to become more effectual and meaningful. In all, scrum helps to incorporate the changes occurring in the market related conditions as and when they occur in an easy and effective manner.

·       Increasing the ROI
Generally, when development is undertaken to manufacture a particular product, it is usually found that approximately 60% of the features associated with the product are rarely, or never really used. However, their development is still carried out simply because they “are there” and were planned to be developed when the project was intercepted. A lot of time, efforts, and cost are involved in developing the features and functionality linked with a product. If the functionality is not really useful, the efforts and cost involved in developing the feature is wasted since it may not have a business value attached to it. Scrum makes it possible to identify such features, and curtail their development, which makes it very convenient for the management to save money and human resources. In scrum, the business value associated with the features is easily identifiable, and their development can be regulated in a much better way as compared to other development methodologies. The investment returns are substantially increased if scrum is used.

·       Continuously improvising upon the project development process

Scrum supports continuous improvement in each project related aspect while the development activity is carried out. The framework is specially designed to identify problematic issues and resolve them as and when they occur. A built in “mechanism” constantly helps to monitor what is currently going on, and which of the issues are holding the organization back in delivering the desired outputs. This is an inherent feature of scrum.Read more on http://blog.quickscrum.com/post/2014/03/18/Advantages-Offered-By-Scrum-Methodology-%E2%80%93-Scrum-Benefits-Explained-For-Scrum-Beginners.aspx  

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

Tuesday 25 March 2014

The Main Reasons Why Work Is Not “Done” In Scrum, And Why the Acceptance Criteria Is Not Met

Perhaps the most important aspect of scrum methodology is the concept of “Done” or meeting the acceptance criteria while developing the tasks. The product owner, who represents the interests of the stakeholders, approves and certifies the acceptance criteria defined in individual user stories, or the product backlog items. It is very much important for the user stories to be accepted as “Done” because in scrum an item can only be considered as “shippable” and “complete” when its “Done” criteria is met. The terminology used to describe “Done” is synonymous with the acceptance criteria in scrum methodology. The words describe the same thing.

There are times when the acceptance criterion is not met, and the user stories are not considered as complete. This can be the worst possible scenario as far as conducting the daily sprint is concerned, since the basic objective of the sprint cycle is to meet the acceptance criteria and deliver a shippable product at the end of the iteration. Unaccepted and unfinished user stories reflect unsuccessful sprints and improper implementation of scrum.

It is worth knowing about some scenarios, which can result in a condition when the “Done” criterion is not fulfilled in scrum. 

1.    Lack of a good cross -functional team
By “cross functional” we mean a team, or a group of individuals having different areas of specializations, who work in unison to achieve a common objective or a cause. In scrum, if the product is technically complex, or if the functionality associated with the product is varied and extensive, it is essential to have a cross functional team. When individuals with different areas of specializations work together to develop a solution, it becomes very easy to carry out the development activity, since the technical requirements are catered to by developers who have required levels of expertise and can provide clear and concise solutions for a given task or a problem. Queries are resolved in a more successful manner, and in the least amount of time.

During the sprint, when or if a team member faces a particular problem, it is possible for other cross-functional team members to contribute their knowledge and skills, and provide a proper solution for the problem in hand. This makes the development work easy, fast, precise, and effective. It is very important, and recommended, for scrum teams to be cross-functional. 

Non cross-functional team members may find it exceedingly difficult to find quick solutions when problems arise during the sprint activity. The primary reason why this happens is because they lack the required experience, or do not possess sufficient skill sets to offer effective solutions, which can solve the problem currently impeding further product development. The levels of expertise typically required may include designing, business analysis, development, database designing, testing, and other similar skills. It is essential for the developer to be proficient and very good in his or her work. Failing to have such technically sound team members in the sprint may result in substandard or defective developmental activity. Tasks which are not technically perfect, or which have bugs in them may not be accepted as “Done”. 

2.    Unclear or undefined acceptance criteria in the user stories and tasks
It becomes very hard and almost impossible for the development team to successfully complete the tasks included in the sprint backlog if the meaning of “Done” is not properly explained in the user story, of if the story simply fails to include the acceptance criteria required for its development. Typically, in such cases the team starts working blindly, and often pursues a vision of what the actual “Done” should ideally include in the user story. Rather than the product owner explaining the meaning of “Done”, the team assumes what the “Done” criteria is and starts developing the task based upon their assumptions.

This can prove to be a dangerous habit as far as the project is concerned since the entire team starts pursuing unclear and even undefined objectives which have no relevance whatsoever as far as the project is concerned. The result is a lot of “wastage” suffered by the stakeholders and the management in terms of unproductive working hours and human resources.

3.    Using outdated or obsolete technologies for development purposes
Technology keeps on changing continuously. For the team members, it is essential that they remain in touch with the latest development techniques and trends. As it quite the norm, existing technology tends to “phase out” over time, and is replaced by emergent technologies, which are more powerful, dynamic, and effective.

Using older technologies may lead to incomplete development, simply because phased out technologies do not have the potential to offer the functionality needed to develop a competitive product. Moreover, the team may find it very hard, or impossible, to meet the acceptance criteria, and not be able to develop the task. At times, the definition of “Done” may not be satisfied by using out dated technologies. Using old engineering practices can lead to undue wastage of development time, and even lead to the development of sub standard products. It is very important to use upcoming and newly emerging technologies to deliver quality products.

4.    An overworked development team
The stakeholders and the management are mainly concerned with marketing the product once its development is completed. Their objective is to launch the product as soon as possible, and benefit from the amount they have invested in the project. They often compel the scrum team to take up more work, or even complete the project well before the decided completion date.

This can make the development team to cut corners while completing their sprint tasks. Since the team is forced to work against time, it is going to affect the development and quality of the finished tasks. As enough time is not available to check and verify the acceptance criteria, the team may simply decide to carry out the development and submit their tasks in the sprint review meeting without verifying the acceptance or “Done” criteria. The team fails to perform properly because it is compelled to “deliver more” and it simply lacks the time to check the acceptance criterion.

5.    Lack of collaboration and integration activity
 The main essence of scrum is collaboration. Team members should work in a joint manner to achieve common objectives. Scrum methodology also advocates team members to co-operate and help each other when problems arise and solutions are required. Moreover, collaboration is essential when the team is undertaking the sprint. Collaborated efforts lead to a well-organized team and improved productivity.

When the team members start working individually and stop collaborating, it leads to a situation where in the tasks are not properly linked up, or integrated in a proper manner, to be effective. Generally, during the sprint, the segregated user stories are developed in the form of tasks, and the tasks have to later integrated to fulfill the acceptance criteria. If the team members are working individually, the tasks cannot be integrated or linked up as specified in the acceptance criteria. The definition of “Done” is therefore not fulfilled.

                        "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"