Showing posts with label development methodology. Show all posts
Showing posts with label development methodology. 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.

Friday 28 March 2014

How Do Velocity And Story Points Correlate During Sprint Estimation



How is “velocity” understood in scrum?
The term “velocity” is used to describe the pace, or the rate at which the development team members carry out, and deliver work during sprint activity when scrum methodology is implemented in a project. It is a simple, but power technique to generate a reasonably reliable estimate about what the team is capable of doing, and the rate at which it can deliver completed user stories at the end of the sprint. It is important to know that the stories developed should be totally “complete” and “shippable” to be considered for the estimation. User stories accepted as “done” are included for the velocity calculation in scrum.

Why it is necessary to estimate velocity
Scrum includes a lot of planning, and setting up of goals when it is to be implemented. The product owner prepares a product backlog, which contains the list of user stories or the requirements needed to manufacture the product. Once the list is prepared, the person is required to give an estimation to the investors and stakeholders as to how long the product will take to develop, and when it can be availed for selling purposes. This is when an issue comes in – how can a proper estimate be given regarding the product development? 

In case of traditional development methodologies such as Waterfall, the estimate is generally given by calculating the working hours based upon the productivity delivered by individual team members. In case of scrum this is not possible, since the focus is upon the team as a whole. Individual effort does not count in scrum. It is what the team delivers as a whole unit which is more important. Moreover, team members possess varying levels of expertise. An experienced developer might complete a task in two hours, while a novice or an amateur might complete the same task in eight hours. It further adds on to the complexity of creating a trustworthy estimate.

What are story points in scrum?
To overcome this problem, points known as “story points” are allotted to each user story based upon its level of difficulty. Simple and easy stories carry fewer points while difficult ones carry a higher weightage. A story point is an arbitrary number value assigned to a story to indicate the complexity associated with the functionality linked with the development. In simple words the story point conveys how complex and difficult the particular requirement is. The story point can be an integer, however it can also be fractional depending upon the manner in which the complexity is determined for a particular requirement. For example, an experienced programmer might find a particular task easy, and assign five points to a story. A novice developer might find the task difficult and assign ten points to it. So the user story can be associated with two values depending upon who develops the story – five and ten. This is in contradiction, since the story point should be a unique number. It cannot assume two values. In such scenarios, the scrum master assigns a mean value of the two numbers i.e.


Story points
Experienced programmer
10
Novice programmer
5
Mean value
[(10 + 5) / 2] (two programmers) = 7.5
      
The story point value for the above example would be 7.5.

How are story points and velocity related?
Once the product backlog is created, the product owner is liable to provide an estimation regarding the project completion. The person starts assigning story points to the user stories contained within the backlog. He or she may also request help or advice from the scrum master as and when required while assigning the points. Once all the stories are linked up with appropriate story points, all the points are added up to form a grand total. This total provides an idea how big or large the entire project is. For example, a project may include user stories which may total three hundred points. It becomes possible to create an estimate once a grand total is available.

Product backlog story points
300 points
Total number of points which can be successfully developed by the entire team during the sprint (Assume or suppose)
30 points / sprint
Therefore, total sprints required to process the product backlog
300 / 30 = 10 sprints
One sprint lasts for
2 weeks
Therefore, 10 sprints can extend for
2 weeks x 10 sprints = 20 weeks

The entire project can be estimated to be completed in 20 weeks time. 

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