Thursday, November 27, 2014

Scrum : Responsibilities of a Product Owner in a Scrum Project


Understanding defined roles and responsibilities is very important for ensuring the successful implementation of Scrum projects. Scrum roles fall into two broad categories, namely, core roles and non-core roles. There are three core roles in Scrum that are ultimately responsible for meeting the project objectives. The core roles are the Product Owner, Scrum Master, and Scrum Team. Together they are referred to as the Scrum Core Team. It is important to note that, of these three roles, no role has authority over the others. Now, let us look at the Product Owner role in detail.

The Product Owner represents the interests of the stakeholder community to the Scrum Team and is the person responsible for maximizing business value for the project. He or she is responsible for articulating customer requirements and maintaining business justification for the project. The Product Owner, thus, ensures clear communication of product or service functionality requirements to the Scrum Team, defining Acceptance Criteria, and ensuring those criteria are met. In other words, the Product Owner is responsible for ensuring that the Scrum Team delivers value. The Product Owner must always maintain a dual view.
The Product Owner must understand and support the needs and interests of all stakeholders, while also understanding the needs and workings of the Scrum Team. Because the Product Owner must understand the needs and priorities of the stakeholders, including customers and users, this role is commonly referred to as the Voice of the Customer. Corresponding to a Product Owner role in a project, there could be a Program Product Owner for a program or a Portfolio Product Owner for a portfolio.
Before we check out some of the key responsibilities of a Product Owner, here is a video on the Product Owner role: http://www.scrumstudy.com/watch.asp?vid=455

The key responsibilities of a Product Owner in relation to a Scrum Project are:

                    Defines the Project Vision and helps create the Project Charter and Project Budget
                    Helps finalize Scrum Master for the project and identifies Stakeholder(s)
                    Helps determine Scrum Team members and helps develop a Collaboration Plan
                    Helps develop the Team Building Plan with Scrum Master(s)
                    Creates Epic(s) and Personas and prioritizes Prioritized Product Backlog Items
                    Defines Done Criteria and creates Release Planning Schedule
                    Helps determine Length of Sprint along with helping creation of User Stories
                    Defines Acceptance Criteria for every User Story and approves the created User Stories
                    Facilitates Scrum Team and commit User Stories
                    Explains User Stories to the Scrum Team while creating the Task List
                    Provides guidance and clarification to the Scrum Team in estimating effort for tasks
                    Clarifies requirements to the Scrum Team while creating the Sprint Backlog
                    Clarifies business requirements to the Scrum Team
                    Grooms the Prioritized Product Backlog and accepts/rejects Deliverables
                    Provides necessary feedback to Scrum Master and Scrum Teams
                    Updates Release Plan and Prioritized Product Backlog
                    Helps deploy Product Releases and coordinates this with the customer
                    Participates in Retrospective Sprint Meetings

Monday, November 24, 2014

SCRUM : Definition of Quality in Scrum


There are numerous ways to define quality. In Scrum, quality is defined as the ability of the completed product or deliverables to meet the Acceptance Criteria and achieve the business value expected by the customer. To ensure that a project meets quality requirements, Scrum adopts an approach of continuous improvement whereby the team learns from experience and stakeholder engagement to constantly keep the Prioritized Product Backlog updated with any changes in requirements.

The Prioritized Product Backlog is simply never complete until the closure or termination of the project. Any changes to the requirements reflect changes in the internal and external business environment and allow the team to continually work and adapt to achieve those requirements. Since Scrum requires work to be completed in increments during Sprints, this means that errors or defects get noticed earlier through repetitive quality testing, rather than when the final product or service is near completion. Moreover, important quality-related tasks (e.g., development, testing, and documentation) are completed as part of the same Sprint by the same team—this ensures that quality is inherent in any Done deliverable created as part of a Sprint.
Thus, continuous improvement with repetitive testing optimizes the probability of achieving the expected quality levels in a Scrum project. Constant discussions between the Scrum Core Team and stakeholders (including customers and users) with actual increments of the product being delivered at the end of every Sprint, ensures that the gap between customer expectations from the project and actual deliverables produced is constantly reduced.

Here is a video on how Scrum defines quality: http://www.scrumstudy.com/watch.asp?vid=524

Now, let us look at how quality is linked with scope, business value and other aspects or elements of a project. The scope of a project is the total sum of all the product increments and the work required for developing the final product. Quality is the ability of the deliverables to meet the quality requirements for the product and satisfy customer needs. In Scrum, the scope and quality of the project are captured in the Prioritized Product Backlog, and the scope for each Sprint is determined by refining the large Prioritized Product Backlog Items (PBIs) into a set of small but detailed User Stories that can be planned, developed, and verified within a Sprint.

Quality and business value are closely linked. Therefore, it is critical to understand the quality and scope of a project in order to correctly map the outcomes and benefits the project and its product must achieve in order to deliver business value. To determine the business value of a product, it is important to understand the business need that drives the requirements of the product. Thus, business need determines the product required, and the product, in turn provides the expected business value.
Quality is a complex variable. An increase in scope without increasing time or resources tends to reduce quality. Similarly, a reduction in time or resources without decreasing scope also generally results in a decrease in quality. Scrum believes in maintaining a ʺsustainable paceʺ of work, which helps improve quality over a period of time.

Friday, November 21, 2014

Scrum : Tools and Techniques for Estimating Tasks in a Scrum Project


The Scrum Core Team uses various tools and techniques such as Task Estimation Meetings, Estimation Criteria, Planning Poker, Fist of Five, etc. to estimate the effort required to accomplish each task in the Task List. When estimating tasks, the core team create the Effort Estimated Task List which is a list of tasks associated with the Committed User Stories included in the ensuing Sprint. Now, let us analyze some of the important tools used by the Scrum Core Team to estimate tasks. Here is an introductory video on estimating tasks: http://www.scrumstudy.com/watch.asp?vid=614

The first tool or technique is the Task Estimation Meeting. This meeting enables the Scrum Team to estimate the effort required to complete a task or set of tasks and to estimate the people effort and other resources required to carry out the tasks within a given Sprint. In Task Estimation Meetings, the Scrum Team members use the Task List to estimate the duration and effort for the User Stories to be completed in the Sprint.
One of the key benefits of this technique is that it enables the team to have a shared perspective of the User Stories and requirements so that they can reliably estimate the effort required. The information developed in the Task Estimation Meetings is included in the Effort Estimated Task List and it is used to determine the velocity for the Sprint. In this workshop, the Scrum Team may use various techniques such as decomposition, expert judgment, analogous estimation, and parametric estimation. Task Estimation Meetings are sometimes also referred to as "Sprint Planning Meetings" - such meetings may also be combined with Task Planning Meetings.

Next is Estimation Criteria. The primary objective of using Estimation Criteria is to maintain relative estimation sizes and minimize the need for re-estimation. Estimation Criteria can be expressed in numerous ways, with two common examples being story points and ideal time. For example, an ideal time normally describes the number of hours a Scrum Team member works exclusively on developing the project’s deliverables, without including any time spent on other activities or work that is outside the project. Estimation Criteria make it easier for the Scrum Team to estimate effort and enable them to evaluate and address inefficiencies when necessary.

Planning Poker is another technique that can be used to estimate tasks. Planning Poker, also called Estimation Poker, is an estimation technique which uses consensus to estimate relative sizes of User Stories or the effort required to create them. In Planning Poker, each team member is assigned a deck of cards. Each card is numbered in a sequence and the numbers represent complexity of the problem, in terms of time or effort, as estimated by the team member. The Product Owner chooses a User Story from the Prioritized Product Backlog and presents it to the team. The Scrum Team members assess the User Story and try to understand it better before providing their estimate for developing it. Then, each member picks a card from the deck that represents their estimate for the User Story. If the majority or all team members select the same card then the estimate indicated by that card will be the estimate for that User Story. If there is no consensus, then the team members discuss reasons for selecting different cards or estimates. After this discussion they pick cards again. This sequence continues until all the assumptions are understood, misunderstandings are resolved, and consensus or agreement is reached. Planning Poker advocates greater interaction and enhanced communication among the participants. It facilitates independent thinking by participants, thus avoiding the phenomenon of group think.

Another technique that can be used in this regard is Fist of Five. Fist of Five is a simple and fast mechanism to achieve consensus in a group and drive discussion. After initial discussion on a given proposal or a pending decision, the Scrum Team members are each asked to vote on a scale of 1 to 5 using their fingers. The value in using this technique is not only consensus building but also driving discussion because each team member is asked to explain the reason for their ranking. They are also given the opportunity to express any issues or concerns. Once the team has discussed it, a collective decision will be made. The number of fingers used to vote indicates the level of agreement and desire for discussion:

1.       One finger: I disagree with the group's conclusion and have major concerns.
2.       Two fingers: I disagree with the group's conclusion and would like to discuss some minor issues.
3.       Three fingers: I am not sure and would like to go with the group's consensus conclusion.
4.       Four fingers: I agree with the group's conclusion and would like to discuss some minor issues.
Five fingers: I wholeheartedly agree with the group's conclusion.

Sunday, November 9, 2014

Scrum : Conflict Management Techniques Relevant to Scrum


Organizations applying the Scrum framework encourage an open environment and dialogue among employees. Conflicts among Scrum Team members are generally resolved independently, with little or no involvement from management or others outside the Scrum Team.
Conflict can be healthy when it promotes team discussions and encourages debates, as this usually results in benefits for the project and the respective team members. It is therefore important that the resolution of conflicts be encouraged, promoting an open environment where team members feel welcome to express their opinions and concerns with each other and about the project, and ultimately agree on what is to be delivered and how the work in each Sprint will be performed.
Conflict management techniques are used by team members to manage any conflicts that arise during a Scrum project. Sources of conflict evolve primarily due to schedules, priorities, resources, reporting hierarchy, technical issues, procedures, personality, and costs. Usually there are four approaches to managing conflict in an organization applying Scrum processes:
·         Win-Win
·         Lose-Win
·         Lose-Lose
·         Win-Lose

Win-Win technique is usually best for team members to face problems directly with a cooperative attitude and an open dialogue to work through any disagreements to reach consensus. Organizations implementing Scrum should promote an environment where employees feel comfortable to openly discuss and confront problems or issues and work through them to reach Win-Win outcomes.

Next is Lose-Win. Some team members may at times feel that their contributions are not being recognized or valued by others, or that they are not being treated equally. This may lead them to withdraw from contributing effectively to the project and agree to whatever they are being told to do, even if they are in disagreement. This approach is called Lose-Win. This situation may happen if there are members in the team (including managers) who use an authoritative or directive style of issuing orders and/or do not treat all team members equally. This approach is not a desired conflict management technique for Scrum projects, since active contribution of every member of the team is mandatory for successful completion of each Sprint. The Scrum Master should encourage the involvement of any team members who appear to be withdrawing from conflict situations. For example, it is important for all team members to speak and contribute at each Daily Standup Meeting so that any issues or impediments can be made known and managed effectively.

The next technique is Lose-Lose. In conflict situations, team members may attempt to bargain or search for solutions that bring only a partial degree or temporary measure of satisfaction to the parties in a dispute. This situation could happen in Scrum Teams where team members try to negotiate for suboptimal solutions to a problem. This approach typically involves some “give and take” to satisfy every team member—instead of trying to solve the actual problem. This generally results in an overall Lose-Lose outcome for the individuals involved and consequently the project. The Scrum Team should be careful to ensure that team members do not get into a Lose-Lose mentality. Scrum Daily Standup and other Scrum meetings are conducted to ensure that actual problems get solved through mutual discussions.

Finally, the Win-Lose technique. At times, a Scrum Master or another influential team member may believe he or she is a de facto leader or manager and try to exert their viewpoint at the expense of the viewpoints of others. This conflict management technique is often characterized by competitiveness and typically results in a Win-Lose outcome. This approach is not recommended when working on Scrum projects, because Scrum Teams are by nature self-organized and empowered, with no one person having true authority over another team member. Although the Scrum Team may include persons with different levels of experience and expertise, every member is treated equally and no person has the authority to be the primary decision maker.

Tuesday, October 28, 2014

Scrum : Important Roles in a Scrum Project


It has been proved by surveys that additional certifications such as ITIL, PRINCE2, PMP and Scrum can not only help a professional (IT or non-IT) gain more knowledge regarding success in their projects, but also help an organization in which he/she works in the long run. One of the most similar facts that can be seen from these certifications is that they all emphasize the importance of roles and non-roles in their projects. In this article, the emphasis is placed on roles and non-roles of an organization. In Scrum training or Scrum certification, a lot of time is dedicated to defining and understanding roles and responsibilities for the success of every project.

The roles of Scrum fall into two categories, i.e., core and non-core roes. In Scrum, core roles are defined as the roles that are mandatorily considered necessary for production of the project, they are and should be committed to the specific project and also responsible for success in every Sprint of the project and for the entire project. Non-core roles are those roles which are not mandatory in a Scrum project. The roles may consist of members interested in the project though they might not have any formal role in the team. But they are given permission to interact with the members of team. They may or may not be responsible for the outcome of the project. But in Scrum, it has been clearly specified that these roles should also be considered.

Here is a video on the Scrum Project Roles: http://www.scrumstudy.com/watch.asp?vid=454

Core Roles are further divided into three and they are held responsible for meeting the objectives of the project. Commonly referred to as the SCRUM core team, they are known by the names: Product Owner, Scrum Master and Scrum team. But the important fact to be taken into account is that these roles have or given no authority over other roles. Let us first consider the role of Product Owner. The responsibility of maximization of business value in a project is assigned to this role. It includes articulating requirements of the customer and maintenance of justification of business about the project. In short, Product Owner can be defined best as the Voice of the Customer.

Next is the Scrum Master role. Scrum Master can be best described as the person who ensures that the environment in which the team works is as per the guidelines that are required to develop the product or service successfully. Finally, the Scrum Team is a group of members responsible for understanding the requirements of the business as specified by the Product Owner, who estimates User Stories and creating the project Deliverables.

Wednesday, October 22, 2014

scrum : Information Radiators or Tools in Scrum Projects


One of the main advantages of Scrum is that the whole activity is transparent for all and the information can be viewed directly from information tools such as Scrumboard, where the progress of the team can be made visible. The progress of a team can be planned accurately and tracked by the Scrumboard during each Interval of a Sprint. The Scrumboard consists of four columns for indicating the progress of the proposed tasks in a Sprint; the first one consists of the “To Do” column, i.e., for tasks in the pipeline, the second column consists of a “To Do” column for tasks that have not yet started, the third one for “In Progress” column for the tasks that are in action but not concluded and the final column stands for tasks which have been completed including the successful completing of tests. It has to be noted that in the initial stages of a Sprint, all the tasks for that phase are confined to the “To Do” column and their place changes as the project proceeds to completion.
The Scrum board is usually maintained on a white board or on paper, or as in recent times, where it is managed electronically on a Spreadsheet. Changes in the Scrumboard should be managed by the Scrum team as per the standards of time so that the information is transparent for the stakeholder and other team members to ensure that the project is on the right track as per the guidelines.
Another important tool in this regard is Impediment Log in which all the impediments affecting the project are documented. An Impediment is usually described as an obstacle, hindrance or hurdle which can decrease the productivity and performance of the Scrum team. It is mandatory that they should be identified as soon as possible, solution found in quick time and they should be removed in order for the team to contribute effectively. They can be classified into two types: Internal and External. Internal Impediments can be classified as either improper communication or reduction in performance of workforce whereas External impediments could involve various factors such as requirement of unnecessary documents or issues in software license. An organization can suffer from unwanted cost if it fails in identification or not finding an appropriate solution in dealing with this factor. The Scrum Master is responsible for recording the impediments in the Impediment Log and these issues can be discussed and sorted in Daily Standup Meetings and Sprint Review Meetings.
Sprint Burndown Chart is another key information radiator in Scrum. The Sprint Burndown Chart is a graph that depicts the amount of work remaining in the ongoing Sprint. The initial Sprint Burndown Chart is accompanied by a planned burndown. The Sprint Burndown Chart should be updated at the end of each day as work is completed. This chart shows the progress that has been made by the Scrum Team and also allows for the detection of estimates that may have been incorrect. If the Sprint Burndown Chart shows that the Scrum Team is not on track to finish the tasks in the Sprint on time, the Scrum Master should identify any obstacles or impediments to successful completion and try to remove them. A related chart is a Sprint Burnup Chart. Unlike the Sprint Burndown Chart which shows the amount of work remaining, the Sprint Burnup Chart depicts the work completed as part of the Sprint.
Here is a video on the Sprint Burndown Chart: http://www.scrumstudy.com/watch.asp?vid=615.

Monday, October 20, 2014

Scrum : Lifecycle of a Scrum Project


As with other certifications such as ITIL, PRINCE2 or PMP, SCRUM can also be described as an additional way in which organizations can achieve their goal of providing the best services or products to their customers. A new service which has to be designed or modification of an existing service can be termed as projects by organizations. But these so-called projects can become restrained due to shortage of time, resources, financial cost, and various challenges which can make an organization vulnerable to improper planning, execution, management and succession of projects. Organizations have henceforth formulated different methodologies for proper project management.
Scrum has become one of the most sought-after methodologies to be implemented for success of a project. One of the advantages of Scrum is that it ensures transparency for communication where the conversation becomes easy for collective accountability and consistent progress. Every methodology will have a special feature by which the challenges related to a project can be met. The benefits of Scrum are the usage of self-empowered, well-organized and across-department teams who can divide a project into little work cycles known popularly as Sprints.

Here is a video describing the Scrum methodology: http://www.scrumstudy.com/watch.asp?vid=434


Similar to the beginning of any project, the Scrum cycle also begins via a stakeholder meeting in which the details are explained to the delegate called as “Project Vision.” A Prioritized Product Backlog is then designed and developed by the Product Owner. The Backlog consists of a list of project and business requirements according to their priorities in the formula of user stories. A Sprint is usually begun with a “Sprint Planning Meeting” and during the discussion high priority issues and stories will be included in the sprint. The time-limit of a Sprint will be between one and six weeks and will involve the Scrum team.
The highlights of the meeting will be the short, to-the-point stand-up meetings which will be conducted and the SCRUM team will discuss the daily progress of the project. When the time-limit is concluded, a Sprint review meeting is conducted and the Product Owner and concerned stakeholders will be provided updates and demonstrations regarding the Deliverables. The Product Owner has the option to accept the Deliverables provided they meet the accepted criteria or reject it if they do not meet the concerned guidelines.
The conclusion of the Sprint Cycle is the “Retrospect Sprint Meeting” in which the team suggests ways on improving the processes and their performance in moving forward into the subsequent Sprint. Organizations that have used Scrum in their projects, vouch for its many benefits, some of them, adaptability, transparency, continuous improvement, motivation, faster problem resolution, and innovative environment.

Thursday, October 16, 2014

Scrum : Quality Considerations in Scrum Projects


“Quality is baked in,” we have often heard this statement. But to actually understand what it means in the Agile context, we need to have a QA mind-set. Let’s take an example to understand this. As part of a proposed acquisition, my boss asks me to perform some final due diligence on the development team and its product. We’d already established that the company’s recently launched product is doing well in the market, but I have to make sure we are not about to buy more trouble than benefit. So I spend my time with the development team.

Here is a video on quality considerations in Scrum project: http://www.scrumstudy.com/watch.asp?vid=585

I am looking for problems that might arise from having rushed the product into release. I wonder, “Was the code clean? Were there modules that could only be worked on by one developer? Were there hundreds or thousands of defects waiting to be discovered?” And when I ask about the team’s approach to testing, “Quality is baked in” is the answer I get. Because this rather unusual colloquialism could mean just about anything, I press further. What I find is that this is the company founder’s shorthand for expressing one of the quality principles: Bring quality in your development phase itself, rather than waiting for the testing phase. The idea of building quality into their products is at the heart of how agile teams work. Agile teams work in short iterations in part to ensure that the application remains at a known state of quality. Agile teams work in a cross-functional manner, with everyone working side-by-side in every iteration to improve the quality of the product thorough techniques like automation, refactoring, pair programming, integration etc.
Here a dedicated tester is involved throughout the timeline, continuously testing recently developed codes, and integrating them with the existing codes to conduct a functionality test as well. Smoke testing is also encouraged to improve the quality of the demo to be shown to the clients. Learning how to do these things is difficult, and especially so for testers, whose role changes dramatically in an Agile environment. It is important to look at the questions a tester will have in his/her mind while embarking on an agile project, such as:
·         What are my roles and responsibilities?
·         How do I work more closely with programmers?
·         How much do we automate, and how do we start automating?
Once these questions are answered, a tester will be able to perform his/her role in an Agile environment in a much better way.

Tuesday, October 14, 2014

Scrum : Managing Changes through Prioritized Product Backlog


Managing Changes through Prioritized Product Backlog Grooming A typical Prioritized Product Backlog will contain all User Stories, their time estimates which also includes any revised estimates, and the status of higher priority requirements. Any new or revised User Stories resulting from changes to business requirements, customer requests, external market conditions, and/or lessons learned from previous Sprints are also incorporated.
One of the Product Owner’s key responsibilities is grooming the Prioritized Product Backlog to ensure the prioritized requirements in the Prioritized Product Backlog to be included in the next two to three Sprints are refined into suitable User Stories. It is recommended that the Product Owner should spend a significant amount of the time in each Sprint for Prioritized Product Backlog grooming. The Product Owner is responsible for adding and revising Prioritized Product Backlog Items in response to any changes and is responsible for providing more detailed User Stories that will be used for the next Sprint.

Here is a video on managing change using Prioritized Product Backlog:  http://www.scrumstudy.com/watch.asp?vid=590
Grooming helps ensure that refining of requirements and their User Stories is done well in advance of the Sprint Planning Meeting so that the team has a well-analyzed and clearly defined set of stories that can be easily broken down into tasks and subsequently estimated. Based on lessons learned from the current Sprint, there may be changes to requirements, or there may be reprioritization that can be easily incorporated into subsequent Sprints. Grooming supports and enhances the flexibility of the Scrum model by incorporating the latest business and technical insights into future Sprints.
A Product Backlog Review Meeting (also referred to as a Prioritized Product Backlog Grooming Session) is a formal meeting during the Groom Prioritized Product Backlog process, which helps the Scrum Team review and gain consensus about the Prioritized Product Backlog. However, other than the Prioritized Product Backlog Review Meeting, Prioritized Product Backlog grooming should happen throughout the project and can include situations in which the Product Owner writes new User Stories or reprioritizes User Stories in the existing Prioritized Product Backlog, Scrum Team members or Stakeholders give their suggestions about new User Stories to the Product Owner, and so forth. It is important to note that any item in the Prioritized Product Backlog is always open for re-estimation until the Sprint Backlog is finalized in the Create Sprint Backlog process. After that, changes can continue to be made until immediately prior to the Sprint Planning Meeting, if required.

Friday, October 10, 2014

Scrum : Planning and Estimation in Scrum


Planning and estimating tasks in Scrum involves creation of User Stories, approval and estimation of User Stories, creation and estimation of tasks, and creation of Sprint Backlog. Creation of User Stories involves writing of User Stories and their related User Story Acceptance Criteria. User Stories are usually written by the Product Owner and are designed to ensure that the customer’s requirements are clearly depicted and can be fully understood by all stakeholders. The Product Owner, based on his or her interaction with the stakeholders, business knowledge and expertise, and inputs from the team, develops User Stories that will form the initial Prioritized Product Backlog for the project. The Prioritized Product Backlog represents the total sum of what must be completed for the project. The objective of this exercise is to create elaborated and refined User Stories that can be approved, estimated, and committed to by the Scrum Team. At times, the Product Owner may bring a Business Analyst to assist with writing User Stories. User Story Writing Workshops may be held for creating the User Stories.
Although the Product Owner has the primary responsibility for writing User Stories and often carries out this exercise on his or her own, a User Story Writing Workshop can be held if desired. Approval for User Stories of a Sprint is provided by the Product Owner. Then, the Scrum Master and Scrum Team estimate the effort required to develop the functionality described in each User Story. Finally, the Scrum Team commits to deliver the customer requirements in the form of Approved, Estimated, and Committed User Stories.
The approved, estimated, and committed User Stories are broken down into specific tasks and compiled into a Task List. Often, a Task Planning Meeting is held for this purpose. In Task Planning Meetings, the Scrum Team gets together to plan the work to be done in the Sprint. The team reviews the committed User Stories at the top of the Prioritized Product Backlog. The Product Owner is present during this meeting in case clarification is required related to User Stories in the Prioritized Product Backlog and to help the team make design decisions. To help ensure that the group stays on topic, this meeting should be Time-boxed, with the standard length limited to two hours per week of Sprint duration. This assists in preventing the tendency to stray into discussions that should actually occur in other meetings, like the Release Planning or Sprint Review Meetings. By the end of the meeting, the entire Scrum Team will have fully committed to deliver a subset of User Stories from the Prioritized Product Backlog in the Sprint.

Here is a video on planning and estimation in Scrum: http://www.scrumstudy.com/watch.asp?vid=611
Then the Scrum Core Team, in Task Estimation Meetings, estimate the effort required to accomplish each task in the Task List. Task Estimation Meetings enable the Scrum Team to estimate the effort required to complete a task or set of tasks and to estimate the people effort and other resources required to carry out the tasks within a given Sprint. In Task Estimation Meetings, the Scrum Team members use the Task List to estimate the duration and effort for the User Stories to be completed in the Sprint. One of the key benefits of this technique is that it enables the team to have a shared perspective of the User Stories and requirements so that they can reliably estimate the effort required. The information developed in the Task Estimation Meetings is included in the Effort Estimated Task List and it is used to determine the velocity for the Sprint. In this workshop, the Scrum Team may use various techniques such as decomposition, expert judgment, analogous estimation, and parametric estimation. The result of Task Estimation Meeting is, often, an Effort Estimated Task List.
And finally, the Scrum Core Team holds Sprint Planning Meetings where the group creates a Sprint Backlog containing all tasks to be completed in the Sprint. During Sprint Planning Meetings, the User Stories, which are approved, estimated, and committed during the Approve, Estimate, and Commit User Stories process, are taken up for discussion by the Scrum Team. Each Scrum Team member also uses Effort Estimated Task List to select the tasks they plan to work on in the Sprint, based on their skills and experience. The Scrum Team also creates the Sprint Backlog and Sprint Burndown Chart using the User Stories and the Effort Estimated Task List during the Sprint Planning Meetings.

Thursday, October 9, 2014

Scrum : Value-driven Delivery in Scrum


Business justification in Scrum is based on the concept of Value-driven Delivery. One of the key characteristics of any project is the uncertainty of results or outcomes. It is impossible to guarantee project success at completion, irrespective of the size or complexity of a project. Considering this uncertainty of achieving success, Scrum attempts to start delivering results as early in the project as possible. This early delivery of results, and thereby value, provides an opportunity for reinvestment and proves the worth of the project to interested stakeholders.
Scrum’s adaptability allows the project’s objectives and processes to change if its business justification changes. It is important to note that although the Product Owner is primarily responsible for business justification, other team members contribute significantly.
A project is a collaborative enterprise to either create new products or services or to deliver results as defined in the Project Vision Statement. Projects are usually impacted by constraints of time, cost, scope, quality, people, and organizational capabilities. Usually, the results generated by projects are expected to create some form of business or service value.
Since value is a primary reason for any organization to move forward with a project, Value-driven Delivery must be the main focus. Delivering value is ingrained in the Scrum framework. Scrum facilitates delivery of value very early on in the project and continues to do so throughout the project lifecycle.

Here is a video on value-driven delivery: http://www.scrumstudy.com/watch.asp?vid=520

One of the key characteristics of any project is the uncertainty of results or outcomes. It is impossible to guarantee project success at completion, irrespective of the size or complexity of a project. Considering this uncertainty of achieving success, it is therefore important to start delivering results as early in the project as possible. This early delivery of results, and thereby value, provides an opportunity for reinvestment and proves the worth of the project to interested stakeholders.
In order to provide Value-driven Delivery, it is important to:
1.       Understand what adds value to customers and users and to prioritize the high value requirements on the top of the Prioritized Product Backlog.
2.       Decrease uncertainty and constantly address risks that can potentially decrease value if they materialize. Also work closely with project stakeholders showing them product increments at the end of each Sprint, enabling effective management of changes.
3.       Create Deliverables based on the priorities determined by producing potentially shippable product increments during each Sprint so that customers start realizing value early on in the project.
The concept of Value-driven Delivery in Scrum makes Scrum framework very attractive for business stakeholders and senior management. This concept is very different when compared with traditional project management models where:
1.       Requirements are not prioritized by business value.
2.       Changing requirements after project initiation is difficult and can only be done through a time consuming change management process.
3.       Value is realized only at the end of the project when the final product or service is delivered.

Here is a video on Scrum vs. traditional project management: http://www.scrumstudy.com/watch.asp?vid=523



The following diagram contrasts Value-driven Delivery in Scrum versus Traditional projects.


Tuesday, October 7, 2014

SCRUM : What are Done Criteria?


Done Criteria are a set of rules that are applicable to all User Stories in a given Sprint. General Done Criteria could include any of the following:
·         Reviewed by other team members
·         Completed unit testing of the User Story
·         Completion of quality assurance tests
·         Completion of all documentation related to the User Story
·         All issues are fixed
·         Successful demonstration to stakeholders and/or business representatives
The key difference between Done Criteria and Acceptance Criteria is that while Acceptance Criteria are unique for individual User Stories, Done Criteria are a set of rules that are applicable to all User Stories in a given Sprint. But as with the Acceptance Criteria, all conditions of the Done Criteria must be satisfied for the User Story to be considered Done.

Here is a video on Done Criteria: http://www.scrumstudy.com/watch.asp?vid=594
The Scrum Team should use a checklist of the general Done Criteria to ensure a task is finished and the result meets the Definition of Done (DoD). A clear Definition of Done is critical because it helps remove ambiguity and allows the team to adhere to required quality norms. The definition of Done is typically determined and documented by the Scrum Guidance Body.
Example of Done Criteria: Done Criteria for a project of designing the new variants of a popular sports car at LRA Ltd are:
·         The design is approved by the Technical Excellence division.
·         The prototype passes all wind tunnel tests mandated by the Aerodynamics division.
·         The design is cleared for production by the Intellectual Property division.
·         The design's safety expectations are corroborated by the Safety Division's Design Safety report.
·         The Cost Estimation report for the design is approved by the Finance division.
The required records and data to comply with the project’s documentation requirements can be generated as the team proceeds through Sprints and Releases. The inclusion of activities such as holding review meetings and writing design documents can help ensure compliance with internal and external quality standards. The basic principles of Scrum such as short iterations, incremental building, customer involvement, adaptation to changing requirements, and constantly adjusting scope, time, and cost within the project will still apply.
Toward the end of any iteration, the respective business unit and stakeholders participate in a Sprint Review Meeting in which the product increment is demonstrated to the Product Owner, sponsor, customer, and users. While feedback from all the stakeholders is gathered, only the Product Owner has the power to accept or reject a particular User Story as Done, according to the agreed upon Acceptance Criteria and Done Critieria. Thus, Acceptance Criteria and Done Criteria play a vital role in maintaining quality and need to be clearly understood by the team.

Wednesday, September 17, 2014

Scrum : Developing User Stories in a Scrum Project


In a Scrum project, the responsibility for creating User Stories generally lies with the Product Owner(s). User Stories ensure that the customer requirements are clearly depicted and are understood by all the key internal and external stakeholders including the Scrum Team who deliver the outputs of the project. In Scrum, the User Stories and the associated Acceptance Criteria are generally developed together by the Product Owner.
Before we discuss the process of creating User Stories, let’s understand what User Stories are. User Stories adhere to a specific, predefined structure and are a simple way of documenting the requirements and desired end-user functionality. The requirements are expressed in the form of User Stories which are short, simple, and easy-to-understand statements. A User Story tells you three things about the requirement: who needs the requirement, what is the requirement, and why is the requirement needed. Some User Stories may be too large to be handled within a single Sprint. These large User Stories are often called Epics, and once they come up in the Prioritized Product Backlog and are to be developed in the upcoming Sprint, they are further decomposed into multiple smaller User Stories.
Now, let us understand process of creating User Stories in detail. Following are required to develop User Stories: Scrum Core Team, Prioritized Product Backlog, Done Criteria, and Personas. The tool used to develop the User Stories is User Story Writing Expertise. And along with User Stories, the team will also develop User Story Acceptance Criteria.
Here is a video on how User Stories are created: http://www.scrumstudy.com/watch.asp?vid=612


Although the entire Scrum Core Team needs to be involved in creation of the User Stories, it is the Product Owner who decides the User Stories as he/she creates the project’s initial overall requirements, determines Product Vision, assesses the viability and ensures delivery of the product or service, decides minimum marketable release content and, ultimately, provides Acceptance Criteria for the User Stories to be developed in the ensuing Sprint. However, the Scrum Team can seek clarifications from the Product Owner and also pass on expert opinion on creation of User Stories.
An important influence on the development User Stories is the Prioritized Product Backlog. It is based on three primary factors: value, risk or uncertainty, and dependencies. Other important inputs are Done Criteria and Personas. Done Criteria are a set of rules that are applicable to all User Stories. A clear definition of Done is critical, because it removes ambiguity from requirements and helps the team adhere to mandatory quality norms. A User Story is considered Done when it is demonstrated to and approved by the Product Owner who judges it on the basis of the Done Criteria and the User Story Acceptance Criteria. Personas are highly detailed fictional characters, representative of the majority of users and other stakeholders who may not directly use the end product. Personas are created to identify the needs of the target user base. Creating specific Personas will help the team understand users and their requirements and goals better. And thus help develop appropriate User Stories.
User Story Writing Expertise is the exercise or tool used to develop the User Stories. The Product Owner, based on his/her interaction with the stakeholders, his/her own business knowledge and expertise, and inputs from the team, will develop the User Stories that will form a part of the initial Prioritized Product Backlog for the project. The Prioritized Product Backlog represents the sum total of what must be completed during the project. The objective of this exercise is to create elaborated and refined User Stories that the Scrum Team commit to. Although the Product Owner has the primary responsibility for writing User Stories, and often carries out this exercise on his/her own, a User Story Writing Workshop can be held if desired.
Finally, let’s conclude by discussing how best to present a User Story. The format for presenting a User Story as given in the Scrum Body of Knowledge (SBOK™) is: ‘As a <role/persona>, I should be able to <requirement> so that <benefit>’. An example for this could be ‘As a Database Administrator, I should be able to revert to a selected number of database updates so that the desired version of the database is restored.’ The use of predefined, standard format helps in enhanced communication among the stakeholders and better estimations by the team.

Friday, September 5, 2014

Scrum Sprint : How are Changes to a Sprint Managed in Scrum?


In Scrum, all requirements related to an ongoing Sprint are frozen during the Sprint. No change is introduced until the Sprint ends, unless a change is deemed to be significant enough to stop the Sprint. In the case of an urgent change, the Sprint is terminated and the team meets to plan a new Sprint. This is how Scrum accepts changes without creating the problem of changing release dates.
If there is a Change Request that may have significant impact on a Sprint in progress, the Product Owner, after consultation with relevant stakeholders, decides whether the change can wait until the next Sprint or represents an urgent situation which may require ending the current Sprint and starting a new one. Scrum framework clearly specifies that the scope of a Sprint cannot be changed once the Sprint begins. If the required change is so important that the results of the Sprint would be worthless without it, then the Sprint should be terminated. If not, then the change is incorporated into a later Sprint. This is illustrated by the following diagram:



There is only one exception to this rule about not changing the scope of a Sprint once a Sprint begins. If the Scrum Team determines it has heavily overestimated the effort during the Sprint and has spare capacity to implement additional User Stories, the team can ask the Product Owner which additional User Stories should be included in the current Sprint.

Here is a video on this topic: http://www.scrumstudy.com/watch.asp?vid=591

By locking down the scope of every Sprint, the team is able to efficiently optimize and manage their work and effort. An additional benefit is that the team does not have to worry about managing changes once they start working on a Sprint. This is a big advantage of the Scrum framework as compared with traditional project management. In traditional project management, changes can be requested and approved anytime during the project’s lifecycle. This often creates confusion for project team members, decreases team motivation due to discontinuity, and results in a lack of focus and the team feeling that “nothing ever gets done.” On the other hand, in Scrum projects, changes are not allowed once a Sprint starts. This ensures that in every Sprint, the team completes deliverables and tasks are Done. Furthermore, the business recognizes tangible benefits from potentially shippable Deliverables at the end of each Sprint.

Moreover, since the Product Owner and Stakeholders are aware that changes are not allowed once a Sprint begins and a Sprint lasts between 1 and 6 weeks, they define and prioritize requirements during the appropriate processes of Create Epic(s), Create Prioritized Product Backlog, and Groom Prioritized Product Backlog.



Tuesday, September 2, 2014

Scrum Project Delivery : How Does Scrum Enable Organizations to Achieve Flexibility in Project Delivery?


Scrum helps organizations become more flexible and open to change. However, it is important to understand that although the Scrum framework emphasizes flexibility, it is also important to maintain stability throughout the change process. In the same way that extreme rigidity is ineffective, extreme flexibility is also unproductive. The key is to find the right balance between flexibility and stability because stability is needed in order to get work done. Therefore, Scrum uses iterative delivery and its other characteristics and principles to achieve this balance. Scrum maintains flexibility in that Change Requests can be created and approved at any time during the project; however, they get prioritized when the Prioritized Product Backlog is created or updated. At the same time, Scrum ensures that stability is maintained by keeping the Sprint Backlog fixed and by not allowing interference with the Scrum Team during a Sprint.

In Scrum, all requirements related to an ongoing Sprint are frozen during the Sprint. No change is introduced until the Sprint ends, unless a change is deemed to be significant enough to stop the Sprint. In the case of an urgent change, the Sprint is terminated and the team meets to plan a new Sprint. This is how Scrum accepts changes without creating the problem of changing release dates.

Scrum facilitates flexibility through transparency, inspection, and adaptation to ultimately achieve the most valuable business outcomes. Scrum provides an adaptive mechanism for project management in which a change in requirements can be accommodated without significantly impacting overall project progress. It is necessary to adapt to emerging business realities as part of the development cycle. Flexibility in Scrum is achieved through five key characteristics, which are shown in the ensuing diagram: iterative product development, Time-boxing, cross-functional teams, customer value-based prioritization, and continuous integration.


Scrum also enables achievement of flexibility through time-boxing. Time-boxing refers to setting short periods of time for work to be done. If the work undertaken remains incomplete at the end of the Time-box, it is moved into a subsequent Time-box. Examples of Time-boxing include limiting the Daily Standup Meetings to 15 minutes and setting Sprint durations to be one to six weeks. Time-boxes provide the structure needed for Scrum projects, which have an element of uncertainty, are dynamic in nature, and are prone to frequent changes. Time-boxes aid in gauging the progress of the project and allow the team to easily identify when they may need to modify a process or approach.

Time-boxed Sprints contribute greatly toward meeting deadlines and achieving high levels of productivity. Sprints promote order and consistency in a volatile work environment. They provide a platform to gauge results and obtain feedback in a short span of time. Sprints also allow for frequent assessment of progress and the methods used to manage the project, including effective change management. Errors or problems can be identified early and can be rectified quickly.

By using Time-boxing in Sprints, the team frequently revisits the process of estimating the work to be done, so the projection of time and effort required becomes more accurate with each subsequent Sprint as the project progresses. These iterative cycles also motivate team members to achieve projected targets and incremental goals toward reaching the larger objective.

Here is a video on change management in Scrum: http://www.scrumstudy.com/watch.asp?vid=590

Organizations also achieve flexibility due the fact that Scrum facilitates flexibility through cross-functional and self-organized Teams. Self-organization ensures that Scrum Team members determine on their own, how to do the work of the project without a senior manager micromanaging their tasks.  Having cross-functional and self-organized teams allows the group to adapt and effectively manage the ongoing work and any minor issues or changes without having to obtain support or expertise from members outside the team, and in the process, create deliverables that are ready to be shipped if necessary.