Friday, September 13, 2019

An overview of scrum methodology

An overview of scrum methodology Software development organizations have become more interested in agile methodologies, whose focus is client collaboration, individual value, and adaptation to change. Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. Scrum makes clear the relative efficacy of your product management and development practices so that you can improve. The Scrum framework consists of Scrum Teams and their associated roles, events, artifacts, and rules. Each component within the framework serves a specific purpose and is essential to Scrum’s success and usage. What is the scrum? Scrum is a framework for managing work with an emphasis on software development. It is designed for teams of three to nine developers who break their work into actions that can be completed within time-boxed iterations, called sprints (typically two-weeks) and track progress and re-plan in 15-minute stand-up meetings called daily scrums. Approaches to coordinating the work of multiple scrum teams in larger organizations include Large-Scale Scrum, Scaled Agile Framework (SAFe) and Scrum of Scrums, among others. Scrum values:- Scrum is a feedback-driven empirical approach which is, like all empirical process control, underpinned by the three pillars of transparency, inspection, and adaptation. All work within the Scrum framework should be visible to those responsible for the outcome: the process, the workflow, progress, etc. In order to make these things visible, scrum teams need to frequently inspect the product being developed and how well the team is working. With frequent inspection, the team can spot when their work deviates outside of acceptable limits and adapt their process or the product under development.[18] These three pillars require trust and openness in the team, which the following five values of Scrum enable:[14] Commitment: Team members individually commit to achieving their team goals, each and every sprint. Courage: Team members know they have the courage to work through conflict and challenges together so that they can do the right thing. Focus: Team members focus exclusively on their team goals and the sprint backlog; there should be no work done other than through their backlog. Openness: Team members and their stakeholders agree to be transparent about their work and any challenges they face. Respect: Team members respect each other to be technically capable and to work with good intent. Scrum roles:- The three roles defined in scrum are the ScrumMaster,the product owner, and the Team (which consists of Team members). The people who fulfill these roles work together closely, on a daily basis, to ensure the smooth flow of information and the quick resolution of issues. ScrumMaster The ScrumMaster (sometimes written â€Å"Scrum Master,† although the official term has no space after â€Å"Scrum†) is the keeper of the process. The ScrumMaster is responsible for making the process run smoothly, for removing obstacles that impact productivity, and for organizing and facilitating the critical meetings. The ScrumMasters responsibilities include Removing the barriers between the Development Team and the Product Owner so that the Product Owner directly drives development. Teach the Product Owner how to maximize return on investment (ROI), and meet his/her objectives through Scrum. Improve the lives of the development Team by facilitating creativity and empowerment. Improve the productivity of the development Team in any way possible. Improve the engineering practices and tools so that each increment of functionality is potentially shippable. Keep information about the Team’s progress up to date and visible to all parties. In practical terms, the ScrumMaster needs to understand Scrum well enough to train and mentor the other roles and educate and assist other stakeholders who are involved in the process. The ScrumMaster should maintain a constant awareness of the status of the project (its progress to date) relative to the expected progress, investigate and facilitate resolution of any roadblocks that hold back progress, and generally be flexible enough to identify and deal with any issues that arise, in any way that is required. The ScrumMaster must protect the Team from disturbance from other people by acting as the interface between the two. The ScrumMaster does not assign tasks to Team members, a task assignment is a Team responsibility. The ScrumMaster’s general approach towards the Team is to encourage and facilitate their decision-making and problem-solving capabilities so that they can work with increasing efficiency and the decreasing need for supervision. The goal is to have a team tha t is not only empowered to make important decisions but does so well and routinely. Product Owner The Product Owner is the keeper of the requirements. The Product Owner provides the â€Å"single source of truth† for the Team regarding requirements and their planned order of implementation. In practice, the Product Owner is the interface between the business, the customers, and their product related needs on one side, and the Team on the other. The Product Owner buffers the Team from the feature and bug-fix requests that come from many sources and is the single point of contact for all questions about product requirements. Product Owner works closely with the team to define the user-facing and technical requirements, to document the requirements as needed, and to determine the order of their implementation. Product Owner maintains the Product Backlog (which is the repository for all of this information), keeping it up to date and at the level of detail and quality, the Team requires. The Product Owner also sets the schedule for releasing completed work to customers and make s the final call as to whether implementations have the features and quality required for release. Team The Team is a self-organizing and cross-functional group of people who do the hands-on work of developing and testing the product. Since the Team is responsible for producing the product, it must also have the authority to make decisions about how to perform the work. The Team is therefore self-organizing: Team members decide how to break work into tasks, and how to allocate tasks to individuals, throughout the Sprint. The Team size should be kept in the range from five to nine people, if possible. (A larger number make communication difficult, while a smaller number leads to low productivity and fragility.) Note: A very similar term, â€Å"Scrum Team,† refers to the Team plus the ScrumMaster and Product Owner. Scrum pros:- Scrum can help teams complete project deliverables quickly and efficiently: Scrum ensures effective use of time and money Large projects are divided into easily manageable sprints Developments are coded and tested during the sprint review Works well for fast-moving development projects The team gets clear visibility through scrum meetings Scrum, being agile, adopts feedback from customers and stakeholders Short sprints enable changes based on feedback a lot more easily The individual effort of each team member is visible during daily scrum meetings Scrum cons:-Nothing is perfect, and the Scrum methodology is no exception. In some cases, Scrum is combined with other project management techniques that can help resolve some of these drawbacks: Scrum often leads to scope creep, due to the lack of a definite end-date The chances of project failure are high if individuals arent very committed or cooperative Adopting the Scrum framework in large teams is challenging The framework can be successful only with experienced team members Daily meetings sometimes frustrate team members If any team member leaves in the middle of a project, it can have a huge negative impact on the project Quality is hard to implement until the team goes through the aggressive testing process Scrum process:- Needless to say, proper planning and smart decision making can help you get past these disadvantages with the Scrum methodology. For example, in larger teams, each member needs to have defined roles and responsibilities with definite goals, so that there is no compromise on quality and no excuse for failure. This will keep the team focused to project goals. Plus, the ScrumMaster needs to guide the team effectively to avoid pitfalls and ensure 100% project success.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.