Friday, July 17, 2020

SCRUM

SCRUM SCRUM is an informal product development methodology, used to guide the product from design to completion. The process advances incrementally, and is often iterative. The guidelines that define the process are very basic and product development occurs in small pieces. Each completed piece is built upon by the next stage. The process remains flexible, since an important principle is the understanding that the customer requirements are fluid and ever changing. This means that a stage completed may need to be revisited occasionally and repeatedly.This process challenges the traditional product development approach, which is usually sequential in nature with requirements locked down in the initial goal setting stages. Instead, the aim is address new and unpredictable challenges throughout the process and allow the development team to efficiently deliver deadlines and respond to new challenges. © Shutterstock.com | SakaidasanIn this article, we look at 1) SCRUM values, 2) history of  SCRUM, 3)  how  SCRUM works, 4) major roles, 5) advantages of  SCRUM, 6) disadvantages of  SCRUM, 7) benefits of  SCRUM, and 8) challenges with  SCRUM.SCRUM  VALUESSCRUM is one of the Agile software development methodologies which are all based on the same principles as mentioned already. The Agile Movement has revolutionized modern software development and engineering through its values principles, champions and philosophies. SCRUM remains the most widely recognized and used of these methodologies and the Agile principles directly govern it. These are:Individuals and Interactions over Processes and ToolsThough necessary, processes and tools will be useless if the team does not have a strong relationship of trust and communications. It is the team’s responsibility to identify challenges and resolve them as well as to work closely with other teams within the organization to work on issues bey ond immediate team control.Working Software over Comprehensive DocumentationFor SCRUM to be successful, there needs to be a functional working result at the end of each incremental step. Though necessary design, analysis and testing needs to be properly documented, it is critical for the product to be ready to feed into the next stage of development.Customer Collaboration over Contract NegotiationIt is vital to involve the customer as part of the solution and the team and not view them as just a means to financial reward. The SCRUM product owner needs to act as a bridge between the team and the customer and create a strong collaborative environment.Response to Change over Following a PlanAll necessary information regarding the product and progress is available for the entire team to view and work on. Any problems that are creating a backlog or are emerging need to be discussed openly and worked on immediately. This is a vital element to the success of the process.These core Agile pr inciples then develop further into the core SCRUM Values, which are:Focus â€" The team focuses on only the key issues at one time and works towards delivering timely resultsCourage â€" Support, collaboration and teamwork allows the team to courageously take on greater challengesOpenness â€" The open and supportive environment allows discussion and sharing of concerns, allowing issues to be resolved quickly and efficientlyCommitment â€" The collaborative way of work allows team members to feel in control of their own areas and strengthens their commitment to the goalRespect â€" Shared successes and joint failures encourage mutual respect and an appreciation of each other.HISTORY OF SCRUMThe first definition of SCRUM came from Hirotaka Takeuchi and Ikujiro Nonaka in 1986. They described it as means to increase speed and flexibility in commercial product development. They used the terms holistic or rugby approach to describe it. In the game of rugby, scrum is used to describe the proce ss where the game begins again after a small violation of the rules. The methodology was first employed by Ken Schwaber at his company (Advanced Development Methods) in the 1990s. Eventually the term was standardized when Jeff Sutherland, John Scumniotales and Jeff McKenna worked on it at Easel Corporation. Schwaber and Sutherland worked together to combine their papers and experiences into the body of knowledge that is SCRUM.The Scrum Alliance and Scrum.org were formed to provide certifications and work on the methodology to improve quality and effectiveness.HOW SCRUM WORKSThe Scrum framework is an orderly and organized set of basic principles which allow the team to focus on core product development without being bogged down with non-essential tasks and activities.PhasesThe Scrum process can be broken down into three major phases.1. PlanningAt this point, work is done on basic project planning and rudimentary design decisions.2. Sprint CycleThe basic unit in the Scrum process is t he sprint. A sprint is one iteration of a specific duration. With basic planning complete, work begins on product development through an iterative cycle of generally three or four weeks. Sprint cycles are a repetitive process, and continue till the development process concludes. A basic principle of the Scrum process dictates that the product demonstrated at the end of each sprint be in complete working condition.The Sprint cycle may involve a number of meetings to ensure collaboration and encourage communication. These are:Sprint Planning Meeting â€" Here, the team decides the work to be done in a particular sprint cycle. The work to be completed is identified and the process for getting it done is identified and communicated. This meeting should not last more than 8 hours.Daily Scrum Meeting â€" These are conducted every day to encourage communication and ensure that everyone is on the same page. Specific rules govern this meeting such as team preparedness, punctuality, fixed meet ing location and time and fixed meeting duration.Sprint Review Meeting â€" In this meeting, results of the current sprint cycle are demonstrated along with a review of the process. Any work left incomplete is also discussed. If changes need to be made to any process step, then those are discussed and incorporated. This meeting also has a time limitSprint Retrospective â€" In this meeting, the concluded sprint is discussed among the team members with an aim to work on continuous process improvement. Best practices may be noted as well as areas of improvement.  3. ClosureOnce all required sprint cycles are concluded, the project itself is brought to a closure and the product prepared for release.MAJOR ROLESThe Scrum team consists of three core roles and may also include several supporting roles. Scrum only defines core roles however, as these are the individuals dedicated to the process and tasked with actually producing the product being developed.Product OwnerThe product owner is th e individual closest to the business end of the project. They are responsible for creating a bridge between the development team and all relevant stakeholders and have the responsibility of satisfying all relevant parties.This complicated task is achieved by managing the flow of work and identifying what areas and items need to be worked on in a particular sprint. This information is contained in a product backlog, which the product owner will maintain and communicate to the team to ensure clear understanding of priorities and roles.Since Scrum is centered on a close knit team, everyone has the responsibility to be productive and ask relevant questions to ensure the best possible outcome. Despite this support, this is a unique role and needs to be taken on by one nominated individual.A major responsibility of the product owner is to create a clear channel of communication. Expectations and priorities need to be conveyed from the stakeholders to the team and back from the team to the stakeholders. They will be responsible for demonstrations to stakeholders, announcement of important releases, progress reports on team status and milestones, updates to stakeholders on the process, and negotiations regarding priority shifts, funding and timelines.The product owner needs to be empathetic and should be able to speak the language of different stakeholders, given differing roles, backgrounds and levels of understanding.Development TeamThe development team is cross functional and made up of a variety of backgrounds and skill sets. The team may consist of between 3 to 9 people and these are the people who perform the actual development work on the product. This ranges from initial analysis to design, technical communications and testing among various other roles.The development team needs to be self-organized and dedicated to the project full time. The team has the task to deliver on each sprint cycle goal as planned and agreed upon. A list of tasks is drawn up and the team assesses how much can be completed in one cycle and what method will be used to reach this development goal.Scrum MasterThe final core role is that of a Scrum Master, who is a member tasked with supporting and helping team members follow processes. This person needs to be well versed in the Scrum methodology and terminology and should be able to impart this knowledge to others.The Scrum Master may also have the responsibility to remove roadblocks from the team’s path. These may be external to the team or any issues within the team. Despite this onus, he needs to foster a sense of self sufficiency within the team that allows them to address any issues and resolve them.Interestingly, this is not a traditional team leader role but more of a buffer between the team and distracting external influences. This buffer system helps ensure that a pure scrum framework remains in place, is understood by all and works smoothly to achieve each sprint goal.ADVANTAGES OF SCRUMThere are many a dvantages of the Scrum methodology. Some of these are:If the nature of the product allows, each sprint cycle results in a complete product that may be ready to market. This may help a company operating in a competitive industry to reduce time to marketThe sprint review requires product demonstrations and review at the end of each sprint cycle. This is a built in step by step testing mechanism and may allow for changes in scope or nature of the product development.Project requirements remain open to change and any new information or requests can be added along the way, ensuring a relevant and updated end product.DISADVANTAGES OF SCRUMAs with all frameworks, there are points to be wary of as well. These include:Planning and organization of the project may become a challenge if the initial goals provided are unclear or lack direction.If the end date is also flexible, there may be a tendency to prolong the development process beyond an optimum point with constant new design demands. Thi s may also cause problems with defined timelines and resource allocations.New requirements and uncertainty may create an intense project cycle with tight deadlines and high levels of stress.The requirement for frequent meetings with set guidelines require resources and time.The scrum team needs to be mature and dedicated and willing to look at their work critically. The team should also be strong communicators and foster trust within the team.BENEFITS OF SCRUM FORThe Scrum process holds a variety of benefits for each unique stakeholder. Some of these are:CustomersAs a customer, the responsive nature of the team may be a highly valued function. Instead of long processes and requests to change initial requirements, changes may be welcomed and quickly incorporated. Additionally, product life cycles are reduced with each cycle offering a somewhat complete product that is tested and demonstrated.VendorsThis process may allow vendors to invest in only highly specific materials and reduce overhead costs as well as time to market. This will result in more satisfied customers and higher retention rates and advocacyDevelopment TeamsSince all tasks are clear and directed, unproductive work is eliminated and there is more time to dedicate to work that makes a difference and is valued by all stakeholders. Product ManagersThese managers are generally the product owners in a Scrum framework and are able to ensure a satisfied customer since the process is aligned for customer needs and requirements. There is ample opportunity to prioritize and deliver true value. Project ManagersProject managers who may take on the role of Scrum Master have the benefit of simpler and more realistic planning and tracking of the project. They are exposed to task level progress and this awareness makes all the difference in successful and timely project monitoring. This in turn allows issues to be identified and addressed efficiently. CHALLENGES WITH SCRUMScrum requires close collaboration and c onstant communication within the team. It also attempts to address certain basic challenges of a more traditional development process. Some of these challenges are:Emergent RequirementsMost traditional approaches to product development set goals and note requirements at the very initial stages of the process with little room for adjustment. However, the requirements of any project generally remain fluid and can often change drastically during the course of the development process.Time, Cost, and Quality EstimatesTraditionally, timelines and resource requirements for a project are estimated at the beginning of the process. It is then decided how much can be achieved within these requirements. Or, based on requirements, time and resources may be loosely estimated often proving too optimistic or more than needed. This is often an inaccurate prediction.Incorrect Progress ReportingWith inaccurate estimates on all major aspects of the project, the development team may be faced with the di fficult situation of reporting incorrect levels of process or constantly battle with the management on progress.Though it is often used in a software development context, Scrum has actually been used successfully by various companies in a number of different fields showing its transferability and adaptability as an important product development concept. The basic nature of the governing principles is one reason for this variety of use and allows Scrum to be used both on its own and as guiding methodology for other product development methods.Intro to SCRUM in under 10 Minutes The Scrum framework offers a unique point of view in product development processes. Whether used independently or as an accompaniment to other methodologies, it can offer tremendous benefits and advantages. Though simple and basic, the scrum framework should be understood and implemented completely to ensure that maximum utility is devised for the product development.