Loading

Scrum Framework


In the present era, developers are empowered with the varieties of approaches/development models, to carry out the process of software development, such as waterfall model, iterative model, etc. However, with the needs of incorporating dynamic & continuously changing and incoming requirements, on frequent basis, the importance and usage of agile software development process, has increased significantly.

Agile methodology of software development, is a dynamic, progressive and an iterative approach, to deliver software product, in a minimal time, and subsequently, implementing incoming and growing requirements, in the software product, which constantly evolves ( through frequent collaborations between the client and the development teams), throughout the development process. Since, the agile development is a much complex process; it needs a proper approach and an established and standard management procedures or methodology, to carry out the development process. This need may be fulfilled by the implementation of Scrum Framework.

What is Scrum Framework?

It is one of the most popular project management framework, involving specific sets of standards and process, for the purpose of agile development of software product. However, it may be used for other development purposes also. Generally, a scrum framework is a subset of an agile process, which may be seen, both as a methodological approach and framework, to manage the complete agile development process.

It enables the project team, to manage the multiple processes, occurring in the agile development, ranging from managing requirements to incorporating them, in an effective and efficient way. Since, the complete picture/ details of a software product, is not available to the development team, this framework, works as an incremental and an iterative approach, and emphasizes on team's potential, to maximize the productivity, so as to fulfil the need of changing requirements, market scenarios and conditions, and adapting updated technologies.

Key Characters

A Scrum framework, generally, involves the participation of 3 essential entities or roles. These are, the Product Owner, the Scrum Master, and the team. Let's see their roles description, along with their responsibilities.

Product Owner

The product owner, may be seen as a representative of a client or the stakeholders or the customers, which concerns with the business process and user requirement, and does not gets involved, in the technical procedures of the development process. He/she acts as an intermediate between the client/stakeholders and the teams, engaged in the development. A product owner, is generally, accountable for the following things:

  • Prioritize the works and emphasizes the testing team, to carry out their execution, in a particular manner.
  • Creates, manages and prioritizes the product backlog, which reflects the complete details of functionalities or features to be added.
  • Delivers frequent updates and status, to the client/stakeholders.
  • Defines and decides the scope, budget, time schedules and each release for a software project.
  • Imparts knowledge and summary of each sprint, to the client/stakeholder.
  • Responsible for the level of quality in a software product, after each iteration.

Scrum Master

The whole process of scrum is managed and controlled by the scrum master. A scrum master, is an expert level of professional, who has in-depth knowledge of the scrum methodology, and is being deployed to coach, regulate and monitor the process. Its basic purpose is to ensure the obstacle free path, for a development team, to carry out the development, without any problematic issues, to achieve software product of maximum quality. He/she is very much different from the product owner or the project/team leader.

Although, a scrum master is responsible to manages and controls the progress of the entire scrum process, he/she is not accountable for assigning roles and responsibilities to the members or the development or any other team. They show their worth, in bridging the gaps between the product owner and the team. Following, are some of the tasks/features, accomplished by a scrum master:

  • Directs, motivates and increases the productivity of the teams, along with the process.
  • It helps in facilitating the product owner driven development, by removing gaps and barriers between the team and the product owner.
  • Keeps watch on the progress and status of the process, on frequent basis.
  • Ensures the smooth, hassle-free, and productive development process.
  • Help a product owner, in achieving its objectives, by providing necessary details, knowledge, update, status and subsequent necessary steps.

Team

A scrum team, consist of 7-9 member, having wide variety of skills and knowledge, in multiple domains and areas. They are responsible for delivery of shippable product, in increments, after each sprint. They carry out the development process in multiple sprints or iterations, including gathering and analysis of requirements, planning, documentation, designing & testing, under the supervision of a scrum master. Generally, this team is not regulated by any authority or by the project management team, rather it is self-organized and self-control, in nature.

Activities

Scrum framework, involves multiple sprints, to deliver software product, on increment basis, with the scope of improving or enhancing the quality of the product, in the next or upcoming sprints. Sprint, may be seen as an iteration, which defines a complete development life cycle. These sprint are of specific and short duration, generally from 1 week to 1 month. The various activities, carried out, in each and every sprint, may be seen as under:

Planning

This stage perceives the planning of a sprint, which includes defining and describing its scope, product backlogs that needs to be considered and implemented for a particular sprint, preparing strategy, and many such thing, working as a resource or inputs for the executing a sprint.

Daily Scrum

As a sprint, may take a time period of 1 week to 1 month, most probably 2 weeks, a team has to perform daily scrum, consisting of following activities:

  • Participation of all team members, with some pre-planned strategy or approach.
  • It should be performed regularly, on its specific schedule and on specified venue, irrespective of any constraint or deficiency.
  • Generally, previous day approach and activity, today's strategy, and various issues, creating hindrances in achieving specified objectives for each sprint, is being considered, in daily's scrum procedure.

Although, team members are worked towards the goal achievement in the scrum, it does not restrict the involvement of any other professional, outside the team. Further, the various issues and obstacles, being faced, throughout the process, is being identified and noted down by the scrum master.

Review and Retrospective

These are the process, carried out, after the completion of each sprint, which may be seen as under:

Review:It consists of reviewing and analysing the amount of work completed and amount of pre-planned work left out, and thereafter reporting only completed work, to the client or the stakeholders.

Retrospective:Considers previously executed sprints, to identify specific improvement actions for the next or upcoming sprint.

Artifacts

Scrum framework encompasses the usage of multiple number of artifacts, such as

Product backlog: Consists of all types of requirements, functionalities and features that needs to be implemented, in the scrum process.
Sprint Backlog: It comprises of functionalities, features and other aspects(Product back), which needs to implemented in the next sprint.
Product Increment: What Product backlog, i.e. functionalities and features has been addressed and implemented till date, during previous executed sprints, and including the completion of current sprint, may be seen in the Product Increment artifact.
Sprint burn-down chart: It reflects the status and progress of a sprint backlog, on a daily basis, i.e. how much work has been executed and left, as mentioned in the sprint backlog.