Monday, 8 December 2014

Stakeholders in Scrum

Stakeholders in Scrum

The term stakeholder creates a lot of confusion in Scrum. Usually the term is confused with the responsibilities of a Product Owner. Let us now clear all the confusion around it.
Best definition of stakeholders is that they have legitimate interest in the project and another important point to be noted is that stakeholders are not always product owners but product owners are always stakeholders.

Product owners help define the backlog the Scrum team and also help in prioritizing the work units of the Scrum Team and continually communicate the progress to the stakeholders.

Stakeholders are the purpose for which a Product or service is created in the first place. Stakeholders are the people who have certain necessities, wants and desires; thus in business terms they have certain requirements which needs to be fulfilled. It is the responsibility of the Scrum Team to fulfil the requirements of the Stakeholders and satisfy them. Usually stakeholders do not have clear understanding of what they need and even if they do they keep changing their minds very often. Usually figuring out the actual needs of a stakeholder is achieved through a lot of meetings with the stakeholders and also after a lot of trial and error.

The stakeholders are very vital to the success of the Scrum team as they keep reviewing the team’s products and progress and keep providing continual feedback. There could be many people, who have genuineinterest in the Product, but not everyone should be taken in to account as Stakeholders – some are purelyengrossed bystanders. Clear identification of the stakeholders who have requirements is as important as determining the exact market segment you need to target for your products.
So, now we get another important question. Who or what qualities make a good stakeholder in Scrum?

Good stakeholders are those who provide constant and constructive feedback to the Scrum team and help in improving the product. One big challenge is to manage other stakeholders who don’t support or just become part of the scene. Good teams need strong leadership that can facilitate positive discussion and create better services or products.

Hence to be successful in a Scrum project understanding the needs and requirements of the stakeholders plays a very critical part and most of the times make or break the project.

Wednesday, 3 December 2014

Key to Adopting Scrum

Key to Adopting Scrum 


One of the most common adopted agile approaches in industry today is SCRUM, more so for agile software development.  In order to adopt the approach, core principles of SCRUM have to be implemented.  Various organizations have implemented agile approach including SCRUM.
Ten keys that help a company identify changes that have to be implemented for SCRUM to meet its needs.

1.   Assess its Suitability
SCRUM is an incremental method which enables a higher level workflow at the team level.  Agile software development has SCRUM as one of the approaches. Scrum at its core has sprints, daily meetings and the product backlog maintains work items. Scrum Master, product owner and the development team are the three roles in SCRUM. Also for the product and process it includes continuous enhancement feedback loops. However scrum is not a good fit for organizational and product software development
The primary key for SCRUM adaptation is to determine the methodology is ideal for the project or various other projects in the company.

2.   Adhere to Core Principles.
The most critical part of SCRUM is to understand the core principals and adopt them. The major cause for failure of a project is not adhering to the core principals of SCRUM.
The outcome of this varies from project cancellation to building the system from scratch.  This leads to the project being delayed, to the over budget and various other issues which affects the user needs.

3.   Tailoring needs for SCRUM adoption.
Playing by the book SCRUM can be a good fit for few projects; few companies tailor the methodology to meet their needs.  However it’s important to play by the book at initial stages of the project so that the fundamentals are understood & approach adopted. Also it’s absolutely necessary to stick to the core SCRUM principles.




4.   SCRUM Roles
Scrum master, Product owner, and development team are the three major roles for SCRUM. When adopting SCRUM for a project it’s important to understand the implications of implementing these roles.
Scrum Master- one who facilitates the scrum process and the team also ensures that the process is being followed, enable cooperation between team members, help in decision making. 
Also he has to take care of outside interference and remove barriers.
Product owner- He defines the features of a product, or organizes the features of a product according to the business value. He works closely with the development team.
Development Team- Determines the set of work that needs to be completed. After completion of each sprint, a demo of the product is shown to the product owner.

5.   Collaboration.
For SCRUM to be successfully adopted there has to be an emergence of a self empowered team. In order to make sure this is done a team must be made up of indivuials from all disciplines required to define, build, validate, and prepare the software for release.  

6.   A balanced perspective.
During the adoption of SCRUM, it’s important to determine the long term visibility for a team in direction of the project.  The long term visibility into the expected functionality of the project is provided in the product backlog in most of the cases. In order to promote a constant understanding of the project a near, mid and long term goal has to be adopted.

7.   The Essentials.
A supporting essential infrastructure is required for a high quality product to be delivered. As a team plans to work to finish each Sprint, they have to maintain the required infrastructure and practices for product development
 This includes a solid build and a test frame work, creating and automatically executing unit tests, validating ongoing daily or continuous builds and developing the guidelines that need to be followed by the team
This reduces risk, validates the quality of the product and also enhances the productivity of the team. 
The maintenance of an essential infrastructure should start from the first Sprint and continue for the duration of product development.
8.   Supervise the Architecture.
The principle of SCRUM is that the requirements, planning and design emerge throughout the project.  However without supervising the project a company can end up with two undesirable results.
One a team can over engineer in a particular Sprint building up an infrastructure and system that’s never required,
Two a team can spend very little time designing a Sprint and later realise the fundamentals are too weak to support the objective of the project. 
It’s essential that while adopting scrum a company has to ensure that couple of indivuials from the team guide the architecture of the product as it is developed.
  1. Multiple aspects of a product.
While adopting scrum one common mistake that a company usually commits is, designing a product solely based on the end user value they provide.  This doesn’t provide a complete perspective of all the work necessary to release a product that will meet the end user’s requirements and comply with all the company constraints.
To make sure the product does both the below three aspects are recommended.
  1. The customer value has to be defined.  This should include the functionality, non functionality requirements such as how scalable, robust and fast it has to be.
  2.  The technical value of building a new infrastructure for software development has to be defined.
  3. The business value for the entire product development has to be defined.
  1. In the end, purpose of adopting Scrum.
When a company is thinking about deploying a customized version of Scrum, the methodology will not meet the requirements in the first Sprint of the project.  It’s necessary that the company deploys short Sprints in the starting of the project and learn from the experience and make necessary changes where ever required.

Few common areas that need to be refined during adoption of scrum is
  1. Change in the definition of done once the Sprint is over.
  2. Modifications in how a team works during the Sprint
  3. The team composition has to change
  4. Scrum Methodology supported by additional software development. Processes and practices.
  5. Constant refinements to balance between change and long term visibility.







Tuesday, 2 December 2014

The benefits of the Daily Scrum

The benefits of the Daily Scrum


Daily Scrum” is a meeting held each day of a sprint, followed by organisations who have adopted Scrum.  These meetings are usually held in the same location and at the same time each day. Daily Scrum meetings are mostly conducted in the morning so that it helps in establishing the context for the day’s work.However  when you are working in a globally distributed organisation , it can done  during a common time agreed team members Daily Scrum meeting is always time-boxed to 15 minutes to keep the discussion brief and important.

The team meets every day for a swift status update.This meeting is considered to be one of the most renowned part of scrum framework. Listed below are few benefits of having daily scrum meeting:

§  Let’s the team to be in sync on how things are going
§  Allows for corrections in the sprint.
§  Building trust between team members
§  Encouraging personal planning
§  High visibility of progress
§  Self-organization in team
It is mandatory for all team members to attend the daily scrum meetings. The product owner and Scrum Master are expected to attend and participate in these meetings.  The Scrum Master is required to only capture the issues recognized in a daily Scrum, and not to discuss or resolve them in the meeting. This meeting is considered to be a “work-centric” feedback circle that team members use to communicate and evaluate progress, identify impediments.
The daily scrum is not intended as management reporting mechanism or status report.  Practising daily scrum highlights commitment and liability in the team.  These meetings are run by the team, for the team.  These meetings help the team to be focused on the goal and also help in self–organisation and collaboration. The time spent in these meetings can be considered as time well spent when the final output of the project is realised.
The daily scrum meetings don’t necessarily mean to be used for problem solving or to resolve issues.The daily scrum meeting is not used as a problem-solving or issue resolution meeting.
In this meeting everyone tries to answer the three questions
  •                         What did team member do yesterday?
  •                         What is planned to be done today? 
·                                  What are the issues have you faced so far?
These meetings help the team to realise what each person has done yesterday and what has been planned to accomplish today. The Everyday Scrum assists to improve the individual’s commitment within the team. It creates a self-organized team with positive team ambiance.

Monday, 1 December 2014

Quality in Scrum


Quality control refers to the execution of the planned quality activities by the ScrumTeam in the process of creating deliverables that are potentially shippable. It also includes learning from each set of completed activities in order to achieve continuous improvement. Within the cross-functional team, it is important to have the skills necessary to perform quality control activities. During the Sprint Retrospect Meeting, team members discuss lessons learned. These lessons act as inputs into continuous improvement and contribute to the improvement of ongoing quality control.

Quality is required not only in products, but also in processes. Quality assurance refers to the evaluation of processes and standards that govern quality management in a project to ensure that they continue to be relevant. Quality assurance activities are carried out as part of the work. In fact, quality assurance is a significant factor of the definition of the done. The deliverable isn’t complete if appropriate quality assurance has not been conducted. Often, quality assurance is demonstrated during the Sprint Review Meeting.

ProductOwners for respective projects, programs and portfolios can monitor and evaluate quality assurance activities to ensure each team continues to agree and comply with the quality standards that have been set. End-to-end quality assurance may be addressed during final testing of the product, a Release, or a Sprint. A comparison of the number of issues encountered versus the number of User Stories completed can be done. The product components that have defects can be incorporated as Prioritized Product Backlog Items (PBIs), which can be worked upon by either the team or by one person at certain times during the Sprint, depending on the number of defects.

At times, the Scrum Guidance Body can define the process and documents that can be referred to by the Scrum Teams when doing their projects to ensure that uniform quality norms are followed by all projects within the company.