Scrum in System Application Development.


Scrum is an agile framework for completing complex projects. Scrum originally was formalized for software development projects; however, it works well for any complex innovative scope of work. The possibilities are endless.
Scrum framework is designed for projects where it is difficult to look ahead. It provides a frame work with which these activities (product backlog, sprint backlog, features or product) will be executed. Figure 3 shows the scrum framework. Scrum, like other agile methods, begins with a high-level scope definition and rough time and cost estimate for a system development. Scrum does not use any conventional project management tools such as Gantt charts or network diagrams. Instead it relies heavily on daily scrums, and active involvement of the product owner to manage workflow. Short developmental cycles and continuous testing manage risk.

 

Scrum Framework

Fig.3 Scrum FrameWork showing different activities.

 


The development of an application system in scrum, an agile methodology, begins with a high-level scope definition and rough estimate of time and cost for the project.  The reason behind this is that since a requirement evolves overtime, detailed upfront planning will be waste to time. Instead of using work breakdown structure (WBS) to specify the deliverables, scrum uses product features as deliverables. The features are pieces of the product that provides functionality to the customer. In the case of application software for banking operation, a feature may be a bank customer being able to change her PIN. Features are organized by their perceived highest value. The project team deals with the highest, feasible priority features first. Priorities are re-evaluated after each iteration. In scrum methodology, Iterations are called sprint and should last for no more than four weeks. The main purpose of each scrum is to produce fully functional features. This forces the team to deal with rough decisions early in order to create a workable demo.

Detailed features are created according to four distinct phases. These phases are analysis, design, build, and test. Each feature is thought of as a sub project. The first stage examines and reviews the functional requirements that will be needed to complete the feature. Once the requirements are defined, the teams commits to the feature. The second phase is the development of a design that meets the requirements of the features. The third phase is to build the feature so that it is functional. Lastly the feature is tested and documented. Once each sprint is over, features are demonstrated and refined until the final features is accepted and documented in the sprint backlog.

There are three key roles that coordinate the scrum process. They are the product owner, development team, and the scrum master. They all play very important roles in scrum meeting necessary for each sprint completion. There are roles are discuss in more details below.

The product owner acts on behalf of the customers to represent their interests. The owner is responsible to ensure that the development team focuses their efforts on developing a product that will fulfill the business goal and objective. Since the product owner represents the customer, a list of product features is established and prioritized the product backlog. The product owner negotiates sprint goals and backlog items with the development team. The product owner has the options to change features at the end of each sprint if the customers desire to do so.


Next