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

Friday 4 April 2014

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

The scrum framework
The usage of the word “Scrum” is inspired by a Rugby game technique where individual team members form a group, and collaborate to fulfill a common objective – sprinting with the ball in hand, and covering a certain distance to “achieve” a touchdown. The concept used in scrum methodology is quite similar to the “scrum” used in Rugby. Just as Rugby players huddle together and make efforts to gain the possession of the ball so they can undertake the sprint to achieve a touchdown, in scrum, the individual team members too work in unison, and collaborate to develop a shippable product in short bursts of developmental activity known as “sprints”. Sprints are typically short and target oriented in nature, just as they are in Rugby. Generally, a scrum development team may consist of six to seven members working together under a common roof, or in certain cases, they may be located in different geographic locations. 
 
Initially, the main purpose of the scrum framework was to develop and manage software-based projects. However, over the years the pioneers who originally designed the framework put in efforts so the methodology could evolve to suit non-IT or software based projects. However, implementing scrum for non-IT based projects, and the fulfillment of project goals requires specialized training, the same case as in software-based projects. It is very important to understand that scrum is a concept – a methodology – and it needs to be enforced or implemented in a well-planned and organized manner for it to be effective.
 
The scrum team is headed by a product owner who represents the stakeholders and their interests while executing the project, and is accompanied by a scrum master who oversees that scrum is properly implanted at all times while the project is underway. The scrum development team carries out the project development in short bursts of iterations known as “sprints”. The development team is typically composed of trained professionals, who have specialized in a variety of IT disciplines. They can be software developers or programmers, software engineers, Q/A specialists, and individuals who have specialized in other branches belonging to the IT segment.
 
Advantages of scrum 
Scrum framework offers many advantages not found in traditional waterfall development methodologies:
 
Responding to the market changes  
Perhaps one of the major factors which often affect, and which may also result into an abnormal termination of an ongoing project is the changes occurring in the market while the project development is underway. Quite often, a project may start successfully and proceed as per plan, but a subsequent release of more effective and functional product may render the current object obsolete and useless. This has happened many a times in the IT market, and many IT companies have suffered heavy losses, and even closed down prematurely. With scrum, it becomes easy to incorporate the changes occurring in the market. New changes can be easily introduced in the project life cycle, and existing development can be modified or “upgraded” to become more effectual and meaningful. In all, scrum helps to incorporate the changes occurring in the market related conditions as and when they occur in an easy and effective manner.
 
Increasing the ROI  
Generally, when development is undertaken to manufacture a particular product, it is usually found that approximately 60% of the features associated with the product are rarely, or never really used. However, their development is still carried out simply because they “are there” and were planned to be developed when the project was incepted. A lot of time, efforts, and cost are involved in developing the features and functionalities linked with a product. If the functionality is not really useful, the efforts and cost involved in developing the feature is wasted since it may not have a business value attached to it. Scrum makes it possible to identify such features, and curtail their development, which makes it very convenient for the management to save money and human resources. In scrum, the business value associated with the features is easily identifiable, and their development can be regulated in a much better way as compared to other development methodologies. The investment returns are substantially increased if scrum is used.
 
Continuously improvising upon the project development process 
Scrum supports continuous improvement in each project related aspect while the development activity is carried out. The framework is specially designed to identify problematic issues and resolve them as and when they occur. A built in “mechanism” constantly helps to monitor what is currently going on, and which of the issues are holding the organization back in delivering the desired outputs. This is an inherent feature of scrum. 
 
Increasing the quality of the products developed 
In practice, over 50% of the total IT budget is spent on maintenance activities once the product is developed and launched into the market. This happens because the quality of the product, or those of the features offered by the product, is very low or not as per acceptable standards. IT companies tend to compromise upon the quality just to meet the project completion deadline, and this often results into a release of a product that is not properly developed, or which does not fulfill the acceptance criteria for it to be successful in the market. The scrum process emphasizes upon a completely shippable product at the end of the sprint, and the product should be bug free. The most important aspect is that the product should totally satisfy the acceptance criteria before it can be considered as “developed”. Scrum helps to increase the quality standards of the features associated with the product.
 
Maintaining a sustained working pace 
Each activity in scrum is time boxed. It is very important to complete the activity in the time allotted for it. Right from conducting and holding the meetings, to the development work carried out by the team members during the sprint, every activity should occur in a sustained manner, and at a sustained pace. 
 

Subscribe to the permanent free version of the Quickscrum project management tool to get an idea about how the tool works and what it has to offer.

Wednesday 2 April 2014

Sprint Review Meetings In Scrum – Objectives, Who Participates, And Why

The main purpose of a sprint review meeting is to:
  • Exhibit the development carried out by the team
  • Get a proper feedback about the work completed until date
  • Collaborate for a smoother functioning of the project
The reviews form a part of the inspecting and adapting process, which is one of the major advantages of scrum. Scrum methodology advocates self-learning. The scrum process supports several processes which help the team members to undertake self-correction activities, and adjudge where the project is heading. The sprint review meeting is conducted after a particular sprint is completed.
 
Sprint review meeting
Sprint reviews are informal in nature, and primarily held to display the work, in the form of user stories and development tasks, carried out by the team members during the sprint activity. The completed work is demonstrated to the stakeholders. The individuals who have invested funds into the project need to know about the status of the project and how much work has been done, so they can make proper plans to market the product. The review aims to update the stakeholders so they can get an idea regarding the quality and the quantity of development carried out in the project. It aids in increasing the user participation. The stakeholders can accept the work, or reject it in case they are not satisfied with it. They can also reject the work if the user stories fail to adhere to the acceptance criterions specified when the product items are created in the product backlog. 

The product owner represents the stakeholders’ interests. He or she remains present during the meeting and decides about the work. The stakeholders can attend the review meeting, but they are supposed to function as passive attendees, and not speak or volunteer opinions during the meeting.

Objectives of the review
  • Present the user stories completed during the sprint to the product owner
  • Have the user stories and tasks accepted as “Done”
  • Rejected and/or incomplete tasks should be transferred back to the product backlog
 
Who attends?
The product owner, team members, scrum master, and the stakeholders (only if interested – not mandatory)

Time boxed to
1 hour per week of the sprint duration/length decided (I.e. for a 2 week sprint, the meeting should be time boxed to 2 hours, for a 4 week sprint it should be 4 hours, and so on)
 
Roles played by the scrum team members while scrum is being implemented
Several individuals attend sprint review meetings, each having his or her particular interest in the project. The roles of the individuals attending the meeting are explained as follows:
 
Product Owner
The product owner accepts the ownership of the project as far as scrum is concerned, and acts as a “true” owner on behalf of the stakeholders. He or she takes up all the responsibilities, as well as the accountability of the overall team, and represent the entire project to the stakeholders. The person:
  • Presents the product increment activities
  • Provides an insight into the state of the ongoing scrum project
  • Generate a burn down chart displaying the work completed till date
  • Successfully and effectively deliver the views and opinions of the stakeholders to the team members

Scrum Master
The main, and the only important role of the scrum master while the project is underway, is to:
  • Facilitate the working
  • Act as a representative of the development team
He or she ensures that scum is properly implemented at all times, in the proper manner, and should make sure that the team members are collaborating while they work. Another role of the scrum master is to resolve difficulties and remove impediments as and when they arise.   
 
Scrum Team
The entire project is developed by the scrum development team. It is important to know the main difference between the scrum team and the scrum development team – the scrum team comprises of every member associated and involved with the project, while the development team consists only of those individuals who are directly associated with the development of the user stories and the tasks which constitute the product. Their responsibilities include:
  • Carrying out the development of user stories and tasks
  • Sharing ideas and concepts
  • Help each other out when a particular problem is faced by a team member during the sprint
  • Collaborate to get the most out of scrum 
 
Company Executives/Stakeholders
The stakeholders own the project. They benefit if the project is successfully completed, and suffer a loss in the event it fails to do so. The objective of the stakeholders is to:
  • Invest funds into the project
  • Appoint scrum leaders to execute the project
  • Monitor the development activity
  • Instruct the product owner to add more requirements or user stories if needed to complete the project
  • Eventually sell the product to make a profit

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

Tuesday 1 April 2014

Means Of Communications For Collocated And Distributed Teams While Implementing Scrum

The scrum development team
The scrum team is the heart of any scrum based project. The development team is directly responsible for manufacturing the functionality linked with the particular project. The development activity is carried out by the team members during the iteration or the sprinting activity, which generally lasts for up to two weeks. It is very important for the team members to “jell” with each other, and collaborate, because it is a prerequisite while implementing scrum. The physical location of the team members plays a very important part while the sprint is carried out. In most cases, the entire development activity, and the sprint too, is carried out in a single location, or the same place – under the same roof. However, with the advent of off-shoring and using scrum for complex and extended product development, it may become necessary for the team members to remain located in different geographical locations owing to various reasons.
 
Advantages of having a collocated team
For healthy scrum implementation, high level, and frequent communications are essential between the team members as well as the scrum master while the project is underway. It is generally preferred that the team members are collocated. Collocation means all the team members share a common development location, and even similar infrastructure, during the sprint. There are several advantages of being collocated:
  • Questions can get answered quickly and easily
  • Problems can be fixed “on the spot” with minimal wastage of time
  • Less friction is created in the interactions of the team members
  • Trust is availed and rendered much quickly

Means of communications for collocated and distributed teams participating in the sprint 
It is important to communicate in an effective manner to improve collaboration. Several types of tools and methods can be used to improve the collaboration amongst team members.

Collocated teams
- Teams working in and sharing the same office.
  Since the team members are located in the same premises the preferred methods of communications can be:
   o Face-to-face
   o Messaging utilities
   o Internal chat tools
- Discussions can also be facilitated using:
   o Meeting rooms
   o Scrum boards
   o Wall displays
   o Shared tables
 

Distributed teams
- Teams placed in different geographic locations.
  Some of the tools recommended for communication purposes are:
   o Video conferencing tools and hardware/software
   o Instant messaging utilities
   o Chatting utilities
   o Social media tools
   o Shared screens
   o Remote access facilities
   o Specialized scrum software which emulate the functionality offered by traditional scrum boards
 

The daily scrum meetings cannot be conducted in a traditional matter since all the team members cannot remain present in the same place owing to geographical distances. In such cases, remotely located team members should participate in the meeting using electronic and online facilities. It is important to set up a fixed meeting time so everyone included in the sprint can participate easily.
 
Find out more, and download our free QuickScrum tool which can help you in implementing scrum in an effective and profitable way!

Monday 31 March 2014

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



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

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

Some of the reasons, which may induce the product owner to terminate the ongoing sprint, can be:

  • The stakeholders or the company management changes its priority regarding the product development
  • Market trends and/or changes make the current product development redundant or obsolete
  • A major technology change may introduce newer ways and methods of working
  • A better technical solution may offer a quicker and a more cost effective way of meeting the product development  
  • The management or the stakeholders may experience a financial crisis, or may not be able to financially support the development work
  • The launch of a new or better product may render the current development work superfluous and unnecessary
Find out more, and subscribe to the permanently free "limited users" QuickScrum tool which
can help you in implementing scrum framework in your projects! 

Tuesday 25 March 2014

The True Explanation Of How Scrum Iterations Or Sprints Can Help To Support And Incorporate Dynamic Changing Environments



Scrum and iterative development
Scrum framework actively supports project development in the form of iterations, known popularly as “iterative development” in technical jargon. Scrum supports iterative development in the form of sprints. The feature helps to control the return over investment or the “ROI” in a much better manner, and helps the stakeholders to decide and prioritize the development activity as well as production processes. Scrum is all about incorporating dynamic changes during project development, and promotes the primary goal of delivering maximum business value within a limited or minimum time scale. It is possible to achieve dynamic development processes by properly implementing scrum and controlling the sprint activity in an efficient manner.

Importance of sprint activity, or iterations, in catering to constantly changing project environments
Projects can be complex. They can also be subjected to ongoing market trends and changing user- associated requirements. While developing very big or complex projects, it can be difficult to assign fixed goals or objectives. Development takes time. More than often, the functionalities or facilities linked up with a particular project may become obsolete or redundant over time. This can create problems with the development activity if the organization is following traditional waterfall or linear development methodologies. It becomes very difficult to incorporate the changes in such methods since the entire project has to be initiated right from the beginning – from scratch. This result is a significant loss of working hours and productivity. 

This is where scrum comes in. Scrum framework supports changes occurring in the project environment in a dynamic manner. It is also possible to consistently evaluate the development related requirements, and make amendments in the project development plan in an instant, without any significant loss of time or resources. Moreover, it is much easier to identify redundancy levels and put a curb on nonproductive developmental activities – simply because the sprint process incorporates dynamic updates within the product backlog as and when required. The product owner can update, remove, and add user stories or requirements in the product backlog, and the same can be taken up for development purposes in the sprint backlog. This is the main essence of scrum, and the primary reason why scrum is so popular as a development methodology.

How can you dynamically incorporate changes into your ongoing project or production plan?
Scrum planning and implementation starts with the creation of the product backlog – the list of requirements needed to develop the project in totality. In a typical project, the end product is segregated into its basic constituent parts. The list containing each of the constituent parts forms the product backlog. The constituent parts are known as user stories in scrum. Therefore, the product backlog is created out of user stories, or in other words, the list required to create the product is the product backlog while each constituent part is the user story. The product owner represents the interests of the stakeholders, and is therefore responsible for creating the product backlog.

During the implementation process, the product owner determines the priority of the importance of user stories and transfers them to the sprint backlog for development purpose. Team members take up user stories on the basis of their levels of expertise and start developing them during the sprint. After the end of each sprint, user stories are checked for acceptance levels. If they are found to be acceptable i.e. “shippable” they are accepted as “Done” and removed from the sprint backlog. In case the development remains unfinished, the incomplete user stories still go back to the product backlog, where the product owner reevaluates their importance and priority, and eventually decides whether to send the incomplete stories back to the sprint backlog for further development, or to mark them as redundant and do away with them. This is how scrum helps to check undue wastage of development time and resources, since the requirement is evaluated every time the sprint cycle ends. If the particular development is found to be non-productive, they are simply taken away from the sprint backlog.

On the other hand, if the owners or the stakeholders feel a new functionality or facility might increase the market value of the ongoing project, the new set of requirements can be easily added as user stories in the product backlog, and the product owner can simply include them in the sprint backlog for development purposes.  This is how scrum can dynamically incorporate changes in an ongoing project.

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

Monday 24 March 2014

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



Scrum framework and sprint
Scrum development is fundamentally about adapting to changes occurring during the product development cycle. Scrum levies a lot of significance to transparency, distribution of work, and incorporating changes even “late during the development stage”. Each individual associated with the implementation and working of the scrum framework is assigned a specific role. The person is strongly advised to perform within the boundaries specified by the role he or she is supposed to play, and not transgress the area of work under any circumstances. 

In scrum, the product owner too has a specific role to play, and is responsible for creating and maintaining the product backlog. The product owner has the final word while working out the list of requirements needed to develop the product – the user stories – which form the backbone of any product backlog. Each user story is further divided into individual tasks, which are taken up by the team members. These tasks are developed during the sprint activity. 

A sprint activity or simply the “sprint” is nothing but a “burst” of development activity undertaken by the team members, which generally lasts from two to four weeks as decided by the product owner. At the end of the sprint, a meeting is carried out which analyses how much development work has taken place, or how many user stories are successfully completed by the team members. So in many ways the sprint functions as the main essence, or the “heart” of the scrum process. Sprint plays an integral part in the scrum framework.

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

Some of the reasons, which may induce the product owner to terminate the ongoing sprint, can be:
  • The stakeholders or the company management changes its priority regarding the product development
  • Market trends and/or changes make the current product development redundant or obsolete
  • A major technology change may introduce newer ways and methods of working
  • A better technical solution may offer a quicker and a more cost effective way of meeting the product development  
  • The management or the stakeholders may experience a financial crisis, or may not be able to financially support the development work
  • The launch of a new or better product may render the current development work superfluous and unnecessary
Find out more, and subscribe to the permanently free "limited users" QuickScrum tool which can help you in implementing scrum framework in your projects!