Subscribe by Email


Showing posts with label Sprint. Show all posts
Showing posts with label Sprint. Show all posts

Saturday, June 9, 2012

What is a Scrum Framework?


Many a times you might have heard, “scrum is a framework rather than a full methodology or process”! Why scrum is said to be a framework and not a process? 
This article explains the scrum framework in detail and answer the above mentioned question to the best of my understanding.

Scrum Overview


- Scrum is an iterative as well as incremental process and has its foundation laid up on the principles of the agile software development. 
- The agile foundation of the scrum helps it to focus up on keeping the code as simple as possible, testing the code quite often and delivering the working releases of the software system or application as soon as possible when they are ready. 
- The goal of the scrum lies in the philosophy of building a small client approved release as the team continues to develop the project rather than delivering one whole large completed software system or application with many undesired aspects at the end of the development process. 

What is a Scrum Framework?


- The scrum frame work is developed with the help of 3 core roles out of which first one is the “development team”. 
- When the scrum process is implemented for the development of a project, the development team is supposed to answer the following three questions:

  1. What they had accomplished since the last scrum?
  2. What they will do before the beginning of the next scrum?
  3. Did they encounter any stumbling blocks or hindrances?
- After the answers to these three questions are obtained, the sprint burn down chart is updated. 
- Next comes the role of the “product owner”, the person who holds the vision for the software project. 
- He/ she hold the responsibility for defining the software product and preparing a product backlog based up on the user requirements. 
- This product backlog is constituted of the user requirements listed in the order of their priority of the business values. 
- The product owner has the authority to accept or reject the work that has been done and change the priority of the features that are to be implemented in a sprint. 
- The scrum master has to supervise all these processes and remove impediments if any. 

Benefits of Scrum Framework


- The scrum framework works well with a team that has abilities like that of self organizing and cross functionality. 
- The frame work allows the development team to do everything to achieve the sprint goals but staying within the boundaries of the scrum principles. 
- For the frame work to be properly implemented it is necessary that the sprint burn down chart should be high with the updates on a regular basis i.e., daily after the sprint review meeting. 
- The scrum frame work demands commitment to the sprint goals and the results are demonstrated to the product owner at the end of every sprint.

There are certain artifacts associated with the scrum framework which have been defined as follows:

  1. Product backlog: Ordered log the user requirements based on the priority level of the business values. Created by product owner.
  2. Sprint backlog: Created by the development team. Log of the tasks that are to be accomplished during the sprints. Obtained from the user stories.
  3. Increment: Sum of all backlog items completed in the current sprint + backlog items completed in the previous sprints.
  4. Sprint burn down chart: This chart provides the project stats.
From all the above discussion it won’t be wrong to conclude that scrum forms a type of “inspect and adapt” frame work.  Scrum is a quite easy to understand consisting off just 4 ceremonies, 3 core roles and 4 artifacts. 


Wednesday, June 6, 2012

Differentiate between Capability Maturity Model (CMM) and Scrum?


In the year of 2002, when both the CMM (capability maturity model) and agile software development models were on the list of the highest demanded software development methodologies, the CMM model and agile processes were considered to be to pretty much same.
But, later in the same year two of the software engineers Jain and Turner argued that these two software development models or processes have much difference between them if investigated in detail.
This article discusses about the differences between the cmm model and agile methods. There is no fixed or appropriate way to develop a software system or application but at different stages a different methodology is to be adopted. 

Coming to the scrum, it is a pre defined development life cycle based entirely up on the agile principles. The CMM on the other hand comprises of many practices that can be adopted by a team so as to improve its overall performance. The CMM model pays more attention to the areas that require change and project management. 
Another aspect of the CMM is focussed up on the following three aspects:
1.      Engineering skills
2.      Organizational learning
3.      Advanced project management

Differences between Capability Maturity Model and Scrum



Difference #1:
- In CMM, it is required that an understanding is developed with the requirement
providers  based upon the definition of the requirements.
- In Scrum, there are reviews of the requirements listed in the product back log with
development team and product owner.

Difference #2:
- In CMM, commitment to the requirements is demanded from all those involved in    
the project. 
- In Scrum practice, the commitment is needed in the sprint planning and release 
planning.

Difference #3:
- In CMM, practice any changes to be made are directly carried out on the
requirements.
- In Scrum practice, the changes are recorded in the product back log and are worked 
up on in the later sprints.

Difference #4:
- In CMM, it involves the identification of the inconsistencies among the work 
products and the requirements.
- In Scrum practice, the inconsistencies are identified during the sprint planning and
release planning sessions.

Difference #5:
- CMM develops a top level work breakdown structure for the proper estimation of the  
project scope. 
- In scrum, the standard tasks combined with the specific project tasks define the 
scope of the project.

Difference #6:
- In CMM, the attributes of the work products and tasks are maintained kept for the 
maintenance of the estimates.
- In scrum, this task is done with the help of story points.

Difference #7:
- In CMM, the whole project budget and schedule is prepared in CMM.
- In scrum, a project is broken down in to several sprints and for every sprint there is a 
separate schedule and back log.

Difference #8:
- The main estimates that are carried out in CMM are of the resources required to 
perform the development tasks. 
- On the other side, the scrum maintains the estimates of the sprint back log, release 
plan and assignments.

Difference #9:
- In CMM a plan of involvement is prepared for all the stakeholders separately during 
the planning process.
- In Scrum, there are predefined core and ancillary roles that saves a lot of time.

Difference #10:
- In CMM, at the end of the day the project plan is re-conciliated to check out the 
available resources.
- In scrum, there is sprint planning meetings and daily scrum meetings to do this task.

Difference #11:
- The project development in CMM is tracked by monitoring the actual values of the 
project parameters against the already prepared project plan. 
- On the other hand the scrum is aided by the sprint burn down charts for the same 
purpose. 






Tuesday, June 5, 2012

What are different processes involved in scrum development?


We have been witnessing the milestones achieved in the field of software engineering with the help of the scrum development process regarding the development of the agile projects. There is no doubt regarding the efficiency of the scrum development process in the terms of agility. 
It supports all the principles as stated by the agile manifesto for all the development methodologies and processes falling under the category of the agile software development processes. 
Initially the scrum approach to development was considered to be a holistic but eventually in by the year of 1995 it achieved its present form and was officially termed as the “SCRUM”. 

Scrum Development Cycle


The scrum methodology consists of various stages and processes that we are going to discuss in this article. The scrum development cycle is constituted of the below mentioned processes:
  1. Creation of the product back log
  2. Creation of the sprint back log
  3. Sprint
  4. Delivery of a shippable working increment of the software system or application.
- The product back log can be thought of as an ordered list of the requirements and specifications of the software product or the system that is to be developed and its creation is the responsibility of the product owner. 
- The product owner orders some product back log items and these items only are mentioned in the product back log.
- The product owner may order these product back log items based on any one of the following criteria:
  1. Risk
  2. Business value
  3. Date needed
  4. Dependencies and so on.

What is Product Back Log?


- The product back log is a list that is open to every one and all are free to edit it but, for any kind of changes and ordering the items, only the product owner is only held responsible. 
- Apart from the requirements, the rough estimates of the development efforts and business values are found in the product back log. 
- All these values appear in the back log but in the form of some story points developed by the means of some rounded Fibonacci sequence.
- With the help of these estimates the product owner is able to gauge the time line and influence the ordering of the back log items. 
- Contrary to all this, the efforts required for completing each back log item is estimated by the development team. 



What is Sprint Back Log?

- It can be thought of as a list of work or tasks that must be addressed by the development team in the sprint that is to follow. 
- The sprint back log is prepared by obtaining some selective features and stories form the product back log until the sprint includes enough tasks to be accomplished. 
- But while adding the tasks the velocity of the previous sprints should be taken care of by the development team. 
- The stories or the features are broken down in to smaller tasks that up on estimation would not exceed 16 hours of efforts by the development team. 
- This reduces the burden on the development team and helps them understand what is to be done. 
- Rather than assigning the tasks on the sprint back log, they are just signed up by the development team as required for the following sprint and according to the priority and skills of the development team. 
- The working increment that is delivered at the end of the sprint is the sum of all the product back log items that have been completed during that particular sprint and all the other sprints preceding it. 
- It is necessary that the increment is delivered in a working condition and is usable.


Who all are involved in scrum development? What are their roles?


Scrum development process is one of the very famous agile software development processes which is nowadays gaining much popularity with the developers and the programmers. Since its advent it has been proved very effective when it comes to the matters regarding the management of the software system and products development. So many people and professionals are involved with the scrum development process and importance of each of them is so inevitable. 

In this article we will be discussing about all the people involved in the scrum development process. So let us see who all are involved in the scrum development process.

Categories in Scrum


- The people involved in the scrum development process have been divided in to two categories according to the importance of their participation in the development process. -
- Those two categories are namely:
  1. The core roles and
  2. The ancillary roles
- All the roles falling under the above mentioned two categories are pre defined and have their own unique part to play in the development process. 

Core roles in Scrum


- The core roles in the scrum development process are those who are strongly committed to the development of the software project.
- These roles are only responsible for the primary production of the software product. 
               a) The scrum master
                   b) The product owner
                   c) The Development Team

The Scrum Master


- As the name of the role itself suggests, the scrum master is said to be the in charge of the whole scrum development process.
- It ensures that all the processes are being implemented properly and at the right place thus removing the impediments. 
- He/ she also hold the responsibility for the protection of the development team from disruption and other factors that can falter the spirit of the development team. 
- The impediments are removed to the ability of the team by virtue of which it delivers the goals or deliverable of a sprint or iteration.
- Though all the processes in the scrum development are facilitated by the scrum master he/ she is not to be mistaken for the team leader. 
- It is a kind of role that acts as a buffer i.e., resists the development team from all the influencing distractions and disruptions. 
- He/ she always make it a point to ensure that the scrum processes are put in to right use. 
- The scrum master acts as a police thus enforcing the rules. 
- Overall, the scrum master is responsible for maintaining the focus of the development team on the tasks that are at hand and protect the team from any wrong factors. 
- In most of the cases the role of the scrum master has been characterized as “servant- leader” to represent the dual perspectives of the role.

The Product Owner


- This sub category involves all the stake holders and the business people involved in the development process and production process indirectly. 
- One person known as the product represents the voice of all these people. 
- The product owner holds the responsibility for telling the requirements and demands of the customers and the business people to the development team so that the desired values are delivered to the business.

The Development Team


- The values desired by the business are delivered by none other then the development team. - At the end of each sprint, the deliverable obtained is nothing but a shipped product increment. 
- A typical development team may consist of at the most 10 members who possess skills like self organizing and cross functionality.

Ancillary Roles in Scrum


The ancillary roles consist of the following roles:
  1. Stake holders and
  2. The managers. 


Monday, June 4, 2012

What is scrum methodology?


When it comes to the agile software development practices, the “scrum” is what that comes to our ears! The scrum development methodology is not new to us, it is something that we have been witnessing over the years in the field of the software engineering. 

This article has been dedicated to the scrum methodology! Scrum is a very vast topic to be discussed in detail in an article of short length! Here in this article we have tried to give you a glimpse of what is scrum methodology actually. 

Evolution of Scrum Methodology


- Scrum being an agile software development is supposed to follow a methodology based up on the iterative and incremental model of development. 
- Over the years the scrum development methodology has made the development and management of the software products and projects. 
- The birth of the software development was seen as an approach towards the commercial production of the software products thus making a remarkable improvement in the flexibility and speed. 
- The cross functionality and self organized teams are considered to be the best ones to perform the scrum development. 
- Initially the scrum development methodology was known as the rugby or the holistic approach to development. 
- The rugby approach was first replaced with the name scrum methodology in the year of 1995 when the a paper describing this methodology was presented in the “business object design and implementation work shop” by the Schwaber and Sutherland. 
- This workshop was conducted as a part of the OOPSLA ’95. Scrum consists of some of predefined roles and methods that regulate the whole development process. 

Roles in Scrum Development


The pre defined roles in the scrum development have been categorized in to two categories as we have discussed below:
  1. The Scrum Master: As the role itself suggests this person is responsible for taking the charge of the whole development process.
  2. The Product Owner: This role is also self justifying but does not refers to a single person, rather it includes all those people who are to be benefitted by the software product on the terms on which it has been agreed up on.
  3. The development team: The scrum development team is one that has the characteristics like cross functionality and self organizing.

Terminology used in Scrum Methodology


Now we shall discuss some terminology of the scrum methodology:

1. Sprint: Like so many cells together form a tissue, similarly many iterations or sprints together make up the sprint development cycle. Like all the other software development processes the sprints or the iterations in the scrum process are time boxed. And also like what happens in all the other agile software development processes, here also a sprint planning meeting is conducted before the starting of the sprint. The features that have to be incorporated in to the software system in a particular sprint are obtained from the product back log.

2. Story time: This is the time spent by the whole team grooming the back logs. The existing block usage efforts and points are estimated during this time thus chalking out  a whole new acceptance criteria for the individual stories. 

3. Daily Scrum: This is a sort of a project meeting that takes during the sprint and is also known as the daily stand up. Certain guidelines are must to be followed in this meeting:
(i)   Meeting should start at the exact time.
(ii) The participation of the core roles is mandatory.
(iii)Meeting should not exceed 15 minutes.
(iv)Meeting should take place at a fixed place every time. 
(v)  Each member must answer the below mentioned 3 questions:
(a)  What have you done?
(b)  What do you plan to do today?
(c)  Do you see any stumbling blocks?


What is meant by Scrum? What are principles of scrum?


You must have heard about the scrum being a very popular and good agile software development process. In this article we shall be discussing about the scrum and the principles it follows in short. 
"The scrum under the context of the agile development has been defined as an iterative and incremental method that follows agile principles and rules for the management of the software products and projects and applications".

Stages through a Scrum Process


Before we discuss more about the scrum methodology let us see what all are the various stages that are followed through a scrum process:
  1. Product back log items
  2. Sprint back log
  3. Sprint (from a few weeks to months)
  4. Working increment of the software

Roles involved in Scrum Methodology


- The scrum methodology was developed as an approach that would support commercial product development with increased speed and flexibility.
- Earlier, the scrum methodology was known as the rugby approach. 
- The scrum follows a set of methods and involves some predefined roles. 
- First we shall mention the predefined roles involved in the scrum:
  1. The development Team: The scrum development team has been recognized as a self organizing and cross functional team that is responsible for the actual analysis, implementation, design and testing etc.
  2. The Product Owner: In the scrum development the customer is said to be the rightful owner of the software product. But, in some cases this role may represent all the business people and the stake holders.
  3. The Scrum Master: As the role itself suggests, the scrum master is responsible for:
 (i)   ensuring that the scrum discipline is maintained throughout the process,
(ii)  protecting the development team against the disruption,
(iii) removing the impediments and so on.

- Unlike the other agile software development methodologies, the scrum iterations have got a name which is “sprint”. 
- Many sprints or iterations together make up a complete scrum cycle. 
- The above mentioned three roles are known as the core roles of the scrum development.
- There are certain other roles that are called the ancillary roles and have been mentioned below:
  1. Managers: They are held responsible for the management of the development environment.
  2. Stake holders: It includes the customers and the vendors also. Stake holders include all the people for whom the project is developed. They have direct involvement in the development of the software project.
- The above mentioned ancillary roles have got no formal role in the development process as to say. 

Over the years the scrum has been effectively put in use for the development and management of the software projects that have to be developed according to the agile principles. 
The scrum has also been a centre for most of the controversy because of its proposed conventional ideas about the traditional project management practices. 

What are certain artifacts associated with scrum?


- Scrum practices come in to play when it becomes difficult to move ahead with the other development methodologies. 
- The scrum has come to represent an overall new approach radical in nature for the planning and management of the projects. 
- It has brought the operation properties and the certainties and the decision making authority all at the same level. 
- Following the principles of the agile manifesto, for the scrum development also daily scrum meetings are held known as the daily stand ups. 
- There are certain artifacts associated with the scrum development as mentioned below:
  1. Sprint burn down chart: This chart represents the progress made in a particular sprint against the length of the sprint.
  2. Product back log: This log consists of the high level requirements that have been prioritized by the customer.
  3. Sprint back log: This log consists of the tasks that have been prioritized by the development team and have to be completed in that particular sprint. 


Facebook activity