Showing posts with label scrum methodology. Show all posts
Showing posts with label scrum methodology. Show all posts

Friday, 18 April 2014

How Scrum Can Help To Reduce Risks In Projects – Risk Mitigation In Scrum

Every project in scrum, irrespective of its size and scale, is subjected to certain risks. The risks may be minor in nature, in which case they could be easily solved. Alternatively, they could be of larger magnitude, and would really tax the experience levels of the scrum master as well as the product owner to resolve them. Catering to risks is one of the main reasons why managements and “C” level executives opt for scrum methodology. Actually most people interpret risks in a negative way. It is interesting to know that risks can be negative as well as positive in nature, depending upon the outcome they result in. Risks, which result in a positive manner, are termed as “opportunities” while those that negatively affect the project are known as “threats”. In a simple language, a risk can be understood as a particular situation, unknown about what kind of result it will deliver when it is conceived, and which can result into an advantageous situation, or it could adversely affect the project working as well as the result the particular project is fundamentally supposed to deliver. Risk management is an inherent part of scrum methodology.
 
Minimizing risks (threats) using scrum methodology
While positive risks, or opportunities, are inadvertently welcomed, it is the risks, which create a negative effect in the ongoing project, or threats, which are of concern to scrum enforcers. Scrum helps to minimize risks in several ways:
 
1. Flexibility exhibited by scrum reduces business-environment-related risks 
Unlike traditional development methodologies, scrum is highly flexible, and possesses the capability to add or modify the project related requirements at any time during the project life cycle. It helps the management to respond in a positive manner to threats as and when they arise. The management can easily cater to unforeseen circumstances when they arise. It is very easy to remove the user stories from the product backlog and replace them with new ones. The product owner can add new stories whenever required as per the wishes of the stakeholders. Moreover, if a particular set of requirements becomes obsolete or useless in terms of its functionality, it can be removed from the product backlog, and its development can be curtailed. This is not possible in a Waterfall method.
 
2. Constant and regular feedback reduce expectations-related risks
The entire project development is carried out in sprints. Each sprint is preceded by a daily scrum meeting. Scrum provides plenty of opportunities to avail feedback regarding exactly how much development has been successfully completed until date, and how much of it is still pending. The scrum board reflects the changes as and when they occur in real time, so the management is always kept informed about which user stories are currently being processed for development. Stakeholders can verify the work delivered at the end of the sprint, and if they are not satisfied, they hold the right to reject it. The investors are never caught off guard owing to miscommunication. They can always check up the development status and act accordingly.
 
3. Team ownership helps to reduce estimation related risks
The team creates proper and effective estimates making use of prior development related experience. Sprint retrospectives help to identify potential pitfalls likely to occur again in the future while sprint planning helps to include proper user stories for time bound and acceptable development. Team ownership helps to reduce estimation related risks. 
 
4. Increased transparency reduces non-detection risks
Scrum advocates transparency. Everything and each activity carried out by the scrum team is made public as soon as possible. As a result, any risk, if it arises, is detected early by the concerned person, and the person is supposed to take up further course of action to remove the risk. Risks are detected and communicated early, and this leads to better risk handling as well as risk mitigation.
 
5. Iterative development reduces investment-related risks  
The delivery value is continuously presented when scrum is implemented. The basic advantage of scrum is that functionality is delivered in stages after the sprint is completed, which generally takes from 2 weeks to 1 month depending upon how long the sprint lasts. This is not possible in case of waterfall methods since the results are derived in the final stage of the product development cycle. It then becomes too late to respond to the development, and to introduce new changes because the entire project is completed by that time. Scrum helps to reduce investment related risks.
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

Features Of An Ideal And Effective Product Backlog In Scrum Methodology

What is a product backlog in scrum?
In scrum methodology, a product backlog consists of an ordered list, which includes everything needed to develop a complete product, right from its inception. The list items in the backlog typically include the features, functionality, user requirements, etc. associated with the product to be developed.   In certain cases, the backlog may include additional features or functionality, which may be needed to complete an unfinished product or to develop and advanced version of an existing product. At its very core, a product backlog generally includes a list of product related requirements, of all kinds, and is managed by an individual who has a proper understanding of what needs to be developed and in what manner, as well as the ability to comprehend all client’s requirements.    
 
What are the ideal characteristics of a product backlog?
An ideal product backlog should have certain characteristics which can help it to become effective and easily implementable.
 
Clearly visible to every person
Agile and scrum principles stress a lot upon transparency and collaboration. For effective scrum product management, the backlog should be easily accessible, and made available to each scrum member associated with the project. Each member should be able to apprise himself or herself about what is going on, and what is being planned. The basic objective of making the product backlog visible to everyone is to avoid undue surprises and to prevent disruptive behavior amongst team members. 
 
Should be unique, ordered, and centralized
To avoid confusion or misunderstandings regarding the project development, it is very important for the product backlog to be unique and located in a central place which is accessible to everyone. Maintaining several versions and updates of the product backlog can often lead to confusion amongst the team members and the product owner as to which version should be followed or implemented. Having a single version helps to remove this confusion from occurring. The list should also be ordered as per the priorities set up by the product owner. It is important to develop those user stories first which are more important and carry more value. The backlog should be centrally located so that each member can easily access it independently, without having to depend upon a particular person who can make it accessible to others. It is important to do this to avoid information hiding and power games from being initiated. Scrum lays stress upon information sharing and preventing any single person from assuming total authority.
 
Dynamic and real-time update support
A product backlog is a “live” element within scrum methodology, and should possess the ability to reflect the most recent changes and updates occurring in the development of user stories during the Scrum sprint process. The main objective of scrum is to increase the involvement of client and team members, so that the development can be carried out in a dynamic manner, with everyone involved knowing about the most recent project status i.e. what development has taken place till date, how much of the product backlog is still pending, and which team member is involved with a particular development task. Ideally, the product backlog should display the most recent status, and have the capability to quickly incorporate the changes taking place in live environment.  
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

Monday, 14 April 2014

3 Serious Pitfalls Which Every Scrum Master Should Avoid – Implement Scrum Successfully

The scrum master holds a very high position and an important one too, while executing projects using scrum methodology. The main role of the scrum master is to ensure that the development team effectively employs scrum during the sprint activity. If scrum is properly implemented, each member of the team remains busy with the tasks allotted, or taken up, by him or her. It is not required for the member to seek guidance from the scrum master as to what should be done next, or what task need to be carried out. The main objective of the sprint planning meeting held before the commencement of the sprint is to ensure that proper and enough tasks are taken up by each team member. 

However, at times due to various reasons, which ought to be avoided at all costs, the scrum master knowingly or unknowingly transgresses his or her responsibilities, and extends the primary role of the scrum master. This can lead to undesirable results and ineffectual implementation of scrum methodology. It can also lead to increased development costs and bloated overheads – something every business owner tries to avoid at all costs. So how does a scrum master know that he or she is making a mistake? How does the person find out whether he or she is transgressing the responsibilities associated with being a scrum master?    
 
The three main mistakes of a scrum master
It is not an easy task to become a scrum master. If the person is new at the job, or lacks enough knowledge or experience as a scrum master, it can be very easy to fall back upon doing what project managers know best – behave and function as traditional managers. It can be very easy to fall into this trap, and many scrum masters often fail to avoid this pitfall during the early stages of their career. A scrum master is not supposed to behave as a typical project manager. Scrum methodology does not support or subscribe to it. 

Certain indications can help you identify and avoid the pitfalls:   
 
1. Start assigning tasks to team members
During the sprint process, if scrum is implemented properly, each team member has enough tasks on hand to last the entire sprint duration. The very purpose of holding a sprint planning meeting before starting with the sprint is to ensure that proper and enough tasks are taken up by each team member, and each task is allotted a predetermined time during which it is to be completed. So when scrum methodology is enforced in a proper manner, team members generally do not run out of tasks, and are not required to ask for new tasks when the sprint is currently underway.
 
Pitfall
As a scrum master, if any team member runs out of tasks and approaches you for new tasks before the current sprint is over, you might be inclined to allocate new tasks to the person. This is a pitfall, and should be avoided. It means that the sprint planning meeting was not done in the correct manner.

 
Solution
Care should be taken to select proper user stories into the sprint backlog, from the product backlog, and each team member told to take up enough tasks to last the entire sprint. The time allotted to the development of the task should be properly decided and set up in a manner such that excessive time is not linked with a particular task. The exact amount of time should be allotted to the tasks, and the tasks should be added up so that they span the entire sprint duration.

 
2. Taking decisions for the development team
It is highly common for team members to discuss about work and problems occurring during the sprint activity. Very often, the members depend upon each other’s help and guidance to solve problems occurring during the development process. It can be very tempting for the scrum master to “volunteer suggestions” which can solve the problem, or provide a solution which can eliminate the issue.
 
Pitfall
The scrum master actively involves in the discussion by prompting the team members to explain the problem, and subsequently offers an alternative which solves the issue on hand. Team members accept the verdict and start implementing the solution within their development activity owing to a higher degree of problem solving experience held by the individual. This is also a pitfall, and ought to be avoided.

 
Solution
The scrum master is a passive participant as far as sprinting is concerned. He or she is supposed to observe the team members and ascertain whether they are following scrum methodology, and instruct them to follow proper techniques in the event they are making a mistake. Care should be taken to select proper team members who are experienced and well conversant with the development process. Typically, the team should consist of members who are thorough professionals and capable to providing correct results in a time bound manner. The team should be selected well in advance before the sprint commences and the product backlog is created. The product owner and the scrum master should carefully pick the team members once the product backlog is created. The user stories can give an idea about the complexity of the development to be carried out, and what levels or expertise are ideally required.

 
3. Function as an intermediary or a “go between” between the product owner and the team
Scrum methodology is a highly organized development process, and each member is assigned specific tasks to complete the process. One of the main criterion involved with scrum is not to cross or transgress one’s are of work or authority. Each individual involved with the methodology is advised to work within the scope and time frame decided beforehand. However, during the sprint, team members can face problems, or may need specific feedback regarding the acceptance criteria and the level of functionality to be incorporated. For this, it may be required to communicate with the product owner who has all the details.
 
Pitfall
The scrum master comes to know about a particular issue and starts asking team members about the problem. The person than contact the product owner on behalf of the team member for possible solutions or feedback. This is a pitfall. The scrum master is not a project manager. He or she is not supposed to communicate anything with the product owner regarding developmental issues and problems.

 
Solution
Proper channels should be set up and the product owner notified about the issue well in time when the particular problem occurs. The product owner is responsible for addressing the issues and not the scrum master. Moreover, the team members should be instructed to immediately notify the product owner when required, and not waste undue time in discussing alternative solutions amongst themselves.

 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

Friday, 11 April 2014

How Product Owners Can Increase Their ROI And Boost Up Sales

Many discussions and talks have been carried out regarding the actual role of a product owner i.e. what makes the ideal product owner. Several suggestions have been put forward explaining the role of the product owner – both ideal ones and practical ones. However, the debate is far from over since client requirements often keep on changing, and there is always a confusion whether a client can assume the role of a product owner, and if so, would it be contradictory to scrum methodology? Actually, it would be more meaningful to consider what type of activities should be undertaken by the product owner, rather than follow the ideal role of being one. As far as real life scenarios are concerned, it is the client who is the most well versed person as regards the developmental requirements and what kinds of functionalities ought to be incorporated in the user stories.
 
Know more about the Product Owner’s role at Quickscrum!
 
Suggested activities for a product owner
For the client and the product owner, it is very important to be familiar with the scrum methodology and its techniques. It is also important to know about the advantages of scrum, and what it has to offer over traditional development methods before tapping the full potential of it. The activities can ideally include:
  • Remain present and contribute information as well as knowledge during sprint reviews, sprint planning, and retrospective meetings
  • Order and create the product backlog based upon the importance of user stories and ROI
  • Be easily available to team members, and provide appropriate feedback whenever they face difficulties or issues during development
  • Thoroughly understand the product backlog items, and define the acceptance criteria for the tasks.   
  • Define a sprint goal for each sprint
  • Not try to influence the mindsets of team members with regards the complexity involved with the development activity, rather encourage them to be productive and “open to problems”
  • Respect and adhere to the sprint goal
 
How product owners can make their work easy and more productive
It is very important to correctly define and manage the product backlog items to implement scrum in the perfect manner, and benefit from the advantages offered by the methodology. In addition, the user stories need to be properly stated and identified within the system, and individual tasks taken up by the team members. QuickScrum helps to define product backlog items with a lot of ease and flexibility, and what’s more, the items can be effortlessly rearranged as per choice using dynamic drag-and-drop features. You can save a lot of valuable time and efforts while allotting tasks to individual team members, and check out the project status using highly informative and useful reporting capabilities included within the scrum management tool. QuickScrum supports a host of useful and dynamic features specially developed for product owners, scrum masters, and businesses using scrum methodology to increase their productivity. It’s worth knowing more about this flexible and powerful scrum management tool, and the plethora of time saving and productivity-increasing features specially developed for you.
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

The Origin And Key Principles Of Scrum

Origin of scrum
The terminology "Scrum" was initially introduced by Takeuchi and Nonaka in 1986, in a study paper published in the Harvard Business Review. The paper explained that projects should ideally use small, cross functional teams having complete autonomy in whatever they do, and the teams were supposed to deliver a completely finished and shippable product at the end of the development cycle. In case the product cannot be completed at the end of the development cycle, it could be further extended in the form of another “sprint”. Each development cycle is known as a “sprint”, and typically lasts for two weeks to four weeks. This particular development methodology leads to highly reduced turnaround times, and increased productivity. 

The main advantage of the methodology is that it delivers a completely shippable product at the end of the development cycle, and the development activity takes very little time. This can lead to increased ROI and reduced overheads since redundant requirements or development activities can be curtailed well in time, and replaced by newer and far more important ones in their place. The word “Scrum” is actually derived from the scrum used in rugby football in which the game is restarted again with new or fresh objectives after it undergoes a minor infraction. The game is “reset” to run again with more effective and meaningful objectives after it experiences a setback. That is exactly what happens while using Scrum methodology. Development is carried out in short sprints, at the end of which the results are evaluated, and if required the sprint is extended with the same or newer aims and objectives.  

About scrum 
Even though the concept of scrum is relatively new, it is not the greatest developmental method, or even the most popular framework used in product development cycles. However, the methodology has many positive things to offer in terms of rapid development, higher productivity, and reduced overheads. The main reason why the scrum methodology is so popular is because it is relatively simple to follow and implement, produces quicker results, and is highly scalable – all the factors which can lead to a successful and profitable product development cycle. 

The scrum methodology also empowers the team to dynamically proceed with the development activities, but with added autonomy comes added responsibilities. Each team member is responsible for his or her work, and has to put in the best efforts to provide a completed and shippable product at the end of the product development cycle. It challenges the tradition hierarchical or “waterfall” methods in which the entire development occurs in stages, and it is almost impossible to reverse the stages. One is forced to start from the beginning. Scrum strives to remove this impediment which is so often experienced by development teams. Scrum is dynamic and constantly evolving. It changes rapidly to accept the changes occurring in the product cycle. Even when the objectives or requirements are changed, scrum can adapt to the changes instantly and go ahead with the newer objectives. Very little time is wasted. 

One of the biggest advantages of scrum is that it increases the product owner’s involvement during the development phase. The client, who can also be the product owner, remains apprised to the current project status, and has the option to curtail certain activities which may not be so productive or fruitful in the end. This can lead to reduced overheads. The main issue with scrum methodology is that it needs to be implemented in a proper manner to be successful. 
 
Key principles of scrum 
A key principle supported by scrum is that it takes into consideration the fact that during the implementation of a particular project, customers can change their mindsets about what they really want or require (known as “requirements churn” in scrum methodology). Traditional developmental methodologies cannot support such unprecedented changes pertaining to the product requirements, but scrum can incorporate the changes within its working, and still deliver positive results at the end of the product cycle. You don’t have to start afresh with scrum. Moreover, scrum methodology employs an empirical approach. It accepts that certain problems cannot be properly understood, nor can they be properly defined, but still need to be catered to. It concentrates upon maximizing the team’s capability in delivering a quick solution for a particular development related requirement, and the ability of the team members to respond quickly and efficiently to the changing development requirements and client requests.
 
Working concepts used in scrum:
Ziv's law  
Specifications cannot be fully or totally understood
 
Humphrey's law  
The user does not know what is required or exactly needed until after a system initiates its production activity. The person may be unable to correctly identify the primary objective even in the subsequent development phases.
 
Wegner's lemma   
An interactive or a dynamic system cannot be fully specified, neither can it be fully tested for its correctness.
 
Langdon's lemma 
The software development activity accelerates, and starts evolving more rapidly as it approaches the chaotic regions.
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

An Overview Regarding Scrum Methodology

An introduction to Scrum methodology
For majority of the software developers, Agile scrum methodology does not require any prior introduction. It is widely known that Agile is a comparatively new addition in the field of project management, and was primarily developed to overcome the drawbacks offered by traditional developmental methodologies such as the Waterfall method, which included a linear approach while executing projects. Typically, traditional methods support a top-to-bottom approach of segregating the entire project into main development activities, and tackling them one after another in a sequential method. The Scrum methodology offers a more flexible and dynamic approach of splitting up the entire project into individually executable project parts known as “Sprints”. Each sprint is processed or developed by many team members, who put in efforts to develop an entirely finished and shippable product at the end of the particular sprint. 

The main advantage of the Scrum methodology is that it increases the interaction between the “Product owner” and the team members. Increased client participation (or the Product Owner) leads to enhanced development experience, an advantage that is uniquely offered by Scrum and not other development methodologies. Another advantage offered by Scrum is the highly reduced turnaround time. Each sprint may typically last from one to four weeks, at the end of which a shippable product is delivered. The client is made aware about the development carried out at the end of the sprint by the team members. In many cases, the client can assume the role of the product owner and brief the scrum master regarding the development required. Typically, the sprints are numbered from zero, and proceed as “Sprint 1”, “Sprint 2”, etc. The client can determine the cost effectiveness of each sprint.
 
How the Scrum method works
The Scrum methodology involves three types of roles:
 
Product Owner
In Scrum methodology, the product owner is the most important entity, since the person is responsible for the entire project undertaken and executed by the team. The product owner also represents the client’s interests, and is responsible for providing the vision as well as the idea regarding the product development and life cycle. The person has the authority to decide how the project should proceed, and when the sprints should be terminated if required. It is the product owner who faces the music if the project goes haywire, or fails to complete in time. In many ways, the person acts as a liaison between the product development team and the client, and is required to strike the correct balance between the client interests and demands, and what the development team is capable of offering. The product owner is also responsible for providing all the answers for everything connected with the project.
 
Scrum Master
The main role of a scrum master is to ensure that the sprints carried by the team members properly follow the scrum methodology. The scrum master does not manage the team directly or indirectly. Rather, the person helps the team to remain productive, and removes any impediments occurring during the development process and while carrying out the sprint activity. The scrum master also ensures that the status and completion status are made available to the product owner as and when required.  Another important role of the scrum master is to advise the product owner regarding how to maximize the ROI for the client.
 
Team Members
The fundamental “unit” of the Scrum methodology, the team members combine to form a “sprint” team. Each team member is responsible for carrying out the work and contributes to the sprinting process. Therefore, each sprint consists of some sort of contribution and involvement by the team member. Generally, the teams contain up to seven members. Each team member specialises in a particular discipline of work, or a specialty. Typically, a team may consist of software engineers, programmers, architects, QA experts, analysts, UI designers, and testers. The team members unanimously decide how the particular sprint should be completed. They have the autonomy to decide upon the process employed in the sprint, but are responsible to satisfy the sprint related requirements in totality.
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!