We employ scrum to the development of all our web site projects (static website as well as dynamic web sites) Scrum is an iterative, incremental framework for project management and software development. Simply put, Scrum is an agile framework for completing complex projects. As opposed to a full process or methodology like the waterfall software process model, it is a framework. So instead of providing complete, detailed descriptions of how everything is to be done on the project, much is left up to the team. This is done because the team will know best how to solve its problem.
How does Scrum work ?
The key features of the Scrum framework are as follows:
- The desired outcomes/features of the project are organized into a dynamic list called a product backlog.
- At the beginning of each sprint, teams perform sprint planning, where they choose items to work on during the sprint, called a sprint backlog .
o A sprint backlog is a negotiated set of items from the product backlog that a team commits to complete during the timebox of a sprint.
o Items in the sprint backlog are broken into detailed tasks for the team members to complete.
o The team works collaboratively to complete the items in the sprint backlog, meeting each day (daily
scrum) to share struggles and progress and update the sprint backlog and burndown chart accordingly.
- At the end of each sprint, the team delivers a potentially shippable increment of work, presented during a
o Potentially shippable means that the increment/deliverable could be released to a customer.
o The product owner makes the decision about when to actually release any functionality or deliverable.
o The team takes the time at the end of every sprint to identify ways to improve both the end product and the
process in future sprints. This ceremony is known as the sprint retrospective.
- The cycle repeats until enough items in the product backlog have been completed, the budget is depleted, or a
Which of these milestones marks the end of the work is entirely specific to the project. No matter which impetus stops work, Scrum ensures that the most valuable work has been completed when the project ends. What are the advantages and disadvantages of Scrum?
Scrum has been used to produce financial products, Internet products, and medical products by ADM and other companies.
More on Scrum
Agile software development is based on the concept of framework in the field of software engineering that helps catalyze the process of system development life cycle. It allows a team of engineers to work harmoniously on the specific features of the software that can be accomplished in a short time frame.
SCRUM involves the implementation of agile software development within a time constraint period where the team is supposed to synergies their skills and expertise to fulfill the requirements of the project within a period of 30 days or more. One of the recognized advantages of SCRUM is that it avoids the team players from digressing from the development of the project. It also helps manage resources and time in the most efficient way, hence optimizing performance and product development. SCRUM projects consist of imperative features that are not considered complete until they have undergone the iterative process of development lifecycle, that is, code analysis, code design, code implementation, software and feature testing and documentation of the feature.
A team working on a SCRUM project comprises of analyst, designers/programmers, software testers and technical documentation specialist. The role of the team is integral to the project as it not only requires team skills but also requires individual team members to be self starters and capable of managing themselves. Without a single team member’s adequate contribution it is impossible to propel the project to its stage of completion. Later in this page we will see how scrum can applied for the design and development of static and dynamic web sites.
Some of the eminent advantages of SCRUM include improved time efficiency and reduced costs. SRCUM implementation allows one to pace out the coding and testing of the project, making it easy for the team to fix errors. Good communication is the key to a successful SCRUM project and hence the exchange of constant feedback among the team members facilitates the completion of the project while making it easier to dynamically cope up with the changes of the project. Essentially SCRUM allows the delivery of the product in a timely manner. Other than that, agile SCRUM is very compatible with other technologies and programming languages. These are the main resons we focus on scrum in the development effort static web sites as well as the development of complex application and ecommerce applications.
On the contrary, it can also cause loop holes in the project if there is no definite end date for the delivery of the project. SCRUM can also hinder the development of the project especially if the tasks are not well defined or are inaccurate causing the project cost to go high. The implementation of SCRUM is beneficial for small scale projects and can adversely affect projects that need to be implemented on a large scale. Moreover a single team member leaving the team can cause the whole project as well as the team to suffer. Last but not the least, quantification and implementation of the project quality management is hard. We build our methodology around your dates and needs and ensure that you web site delivered on time, within budget and with a acceptable quality levels.
A report on Scrum:
Section 1: Abstract:
The focus of agile software development has always been on methods and practices. Agile software development stresses on rapid iterations, small and frequent releases, and evolving requirements facilitated by direct user involvement in the development process. Scrum is an iterative, incremental methodology for project management often used to implement agile software development. This report describes how Scrum is used for management of software development projects and software maintenance teams to improve their processes. The focus of this report is on describing the case studies about introducing, implementing, and using Scrum in different software development companies across the globe on differents types of project (like building a customized web application). The findings indicate that sudden implementation of Scrum is a difficult process because it involves large changes in organizational culture and work practices that may be difficult to adapt to but certainly proves to be an optimal way to introduce an agile method into an organization.
Section 2: Introduction:
Scrum is a team-based process/approach for managing and controlling development work which results in incremental development of the product and thus maximizes productivity. Scrum provides a framework to visualize scope, amalgamate mundane and repetitive development tasks, and enforce process. It can be applied equally well instead of traditional development processes to support all the development activities within an enterprise to increase speed and flexibility. Scrum is an empirical process based framework in which complex products can be developed as it reduces complexity and time to build software with gamut of requirement variability. It is transparent and adaptive planning process.
The main roles in Scrum are:
Section 3: Example 1:
One of the companies among several which follow scrum methodology is Motorola:
The section below describes how Motorola adopts scrum process during software development cycle.
Section 3.1: Project:Multimedia Messaging System application (Features such as postcard, My Favorites, OTA)
Section 4: Example 2:
Another example of a company which follows scrum methodology is IBM:
Software group of IBM comprises of approximately 120 members per software product, with team members spread across different geographical locations, overlapping as well as non overlapping timelines, having different skill sets required for the project. In order to achieve effective communication and efficiency between such cross site teams (teams working at different locations), IBM uses Distributed Scrums:
Section 4.1: Project: IBM Web Sphere- Portal V6.0 project
As a team we have analyzed and found that majority of the companies implement Scrum on a large scale but profound evaluation and more reflective view of Scrum is needed before implementing Scrum because it involves large changes in organizational culture and work practices that may be difficult to adapt to and thus this change might be formidable. Finally, we as a team do believe that Scrum implementation is an optimal way to introduce an agile method into an organization to adapt to the rapid changing requirements. It gives the opportunity to self-organized teams to:
We believe that Scrum places emphasis on people and individual competence and provides an edge to the organization by the increasing productivity and efficiency as the team members gain a more structured work style; in addition, working for less time and having better control of the work they carry out in a Sprint. In short, we believe that Scrum methodology is one of the better agile methodologies for larger projects, geographical distribution, and legacy systems.