Computer Science

Agile Scrum

Agile Scrum is a project management framework that emphasizes flexibility, collaboration, and iterative development. It involves breaking down work into small, manageable tasks and organizing them into short, time-boxed iterations called sprints. Scrum teams work closely together, regularly reviewing progress and adapting to changes, which allows for quick responses to evolving requirements and customer feedback.

Written by Perlego with AI-assistance

9 Key excerpts on "Agile Scrum"

  • Agile Project Management For Dummies
    • Mark C. Layton, Steven J. Ostermiller, Dean J. Kynaston(Authors)
    • 2020(Publication Date)
    • For Dummies
      (Publisher)
    The Agile Manifesto and the agile principles on their own wouldn’t be enough to launch you into agile product development, eager as you might be to do so. The reason is that principles and practices are different. The approaches described in this book, however, provide you with the necessary practices to be successful.
    Agile is a descriptive term for a number of techniques and methods that have the following similarities:
    • Demonstrating valuable and potentially shippable functionality in short iterations called iterative development
    • Emphasis on simplicity, transparency, and situation-specific strategies
    • Cross-functional, self-organizing teams
    • Working functionality as the measure of progress
    • Responsiveness to changing requirements
    Synonyms of the word agile — including resilient, flexible, nimble, adaptive, lightweight, and responsive — give additional insights into what it means to be agile.
    Similarly, throughout this book, we reference agile teams. Agile teams, which include scrum teams (scrum being the most popular agile framework), are teams who adhere to the agile values and principles to become more resilient, flexible, nimble, adaptive, lightweight, and responsive in meeting their customer’s needs.
    Agile product development is an empirical approach. In other words, you do something in practice and adjust your approach based on experience rather than theory. With regards to product development, an empirical approach is braced by the following pillars:
    • Unfettered transparency: Everyone involved in the process understands and can contribute to the development of the process.
    • Frequent inspection: The inspector must inspect the product regularly and possess the skills to identify variances from acceptance criteria.
    • Immediate adaptation: The development team must be able to adjust quickly to minimize further product deviations.
    A host of approaches have agile characteristics. Three, however, are commonly used: lean product development, scrum, and extreme programming (XP). These three approaches work perfectly together and share many common elements, although they use different terminology or have a slightly different focus. Broadly, lean and scrum focus on structure. Extreme programming does that, too, but is more specific about development practices, focusing more on technical design, coding, testing, and integration. (From an approach called extreme programming,
  • Encyclopedia of Software Engineering Three-Volume Set (Print)
    Agile Software Development Scott W. Ambler
    Chief Methodologist, Agile Development, IBM Rational Software, Toronto, Ontario, Canada
    Abstract
    Agile software development is an evolutionary, highly collaborative, quality-focused approach to software development where potentially shippable working software is produced on a regular basis. Agile software development processes include Scrum, Extreme Programming (XP), Open Unified Process (OpenUP), and Agile Data (AD), to name a few. Agile approaches are being applied to web applications, mobile applications, fat-client applications, business intelligence (BI) systems, and even mainframe applications. They are being applied by a range of organizations, including but not limited to e-commerce companies, financial companies, manufacturers, retailers, and government agencies. Agile approaches can be scaled for large teams, geographically distributed teams, regulatory situations, complex domains, complex technologies, and to address enterprise issues.
    INTRODUCTION
    Agile software development is an evolutionary, highly collaborative, quality-focused approach to software development where potentially shippable working software is produced on a regular basis. Agile software development processes include Scrum, Extreme Programming (XP), Open Unified Process (OpenUP), and Agile Data (AD), to name a few. Agile approaches are being applied to web applications, mobile applications, fat-client applications, business intelligence (BI) systems, and even mainframe applications. They are being applied by a range of organizations, including but not limited to e-commerce companies, financial companies, manufacturers, retailers, and government agencies.
  • Project Management Best Practices: Achieving Global Excellence
    • Harold Kerzner(Author)
    • 2018(Publication Date)
    • Wiley
      (Publisher)
    The eleventh agile principle reads: “The best architectures, requirements, and designs emerge from self-organizing teams.” The concept of self-organizing teams is key here. Over time, this concept has been clarified: the teams should be both empowered and cross-functional. The teams are empowered because they are closest and best equipped to quickly make the needed decisions, and they are cross-functional because all skills needed to design, build, and test stories should be included on the team. This minimizes dependencies on other teams and maximizes the chance that a story or requirement will be completed, integrated, and tested end to end before the end of the sprint or iteration. Empowered and cross-functional teams are best equipped to ensure that each story meet the DoD. It should be noted that architecting or designing solutions in a world where requirements often emerge just in time is a difficult problem to solve. This is especially true as the systems become more and more complex. However, taking the story-level view of the design simplifies things, though this is done at the expense of a systemic and systematic view of the entire emerging solution. To address this problem, concepts like tightly aligned but loosely coupled systems or emergent versus intentional design, agile modeling with its automated testing, continuous integration, and continuous delivery, can help.
    12. Team Regularly Reflects on Improving and Makes Necessary Adjustments
    The twelfth agile principle reads: “At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.” One of the key pillars of agile is that of continuous improvement. It implies that the teams know best, though possibly with the help of an agile coach, how to work better and faster. As such, following each iteration or sprint, the team and project stakeholders should gather and have the courage to objectively look at their latest slice of work. You will see much more about this in the sprint retrospective in Section 18.2.

    18.2 INTRODUCTION TO SCRUM3

    Overview of Scrum

    Scrum is probably the best-known agile framework. Though it started out being used for software development, many of its principles are now applied well beyond IT, to more general purposes, such as developing product or services.
    At its core, Scrum is a framework to collaboratively develop and deliver products of the highest possible value. The following six aspects best describe it (see Figure 18–10 ).
    Figure 18–10
    The six components that are the essence of Scrum.
    1. Lightweight.
  • Scrum For Dummies
    eBook - ePub
    • Mark C. Layton, David Morrow(Authors)
    • 2018(Publication Date)
    • For Dummies
      (Publisher)
    If the inspection shows inaccuracies and/or inefficiencies — that is, if the feature doesn’t work right — an adaptation needs to be made. The adaptation should be made as soon as possible and before moving to the next actionable item on the to-do list. In other words, when you move on, you know that everything behind you is functioning properly.
    Scrum allows inspections and adaptations to be accomplished immediately at the team and project levels in the form of reviews, retrospectives, and the daily scrum (see Chapters 6 and 7 ).

    One Agile Manifesto

    Scrum is a framework, not a by-the-numbers methodology. You still need to think and make choices. Part of the scrum framework’s benefit is that it allows you to make the decisions that are best for you, based on the reality in which you find yourself.
    In 2001, 17 software and project experts agreed on four main values for their programming methodologies. These values are known as the Agile Manifesto:
    We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over following a plan
    That is, while there is value in the items on the right, we value the items on the left more.
    Agile Manifesto © 2001: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas
    Even though the Agile Manifesto and principles were written by and for software experts, the values remain valid for whatever scrum project you embark upon. The Global Positioning System (GPS), for example, was designed by and for the military, but that it doesn’t mean that you can’t benefit from it when you drive to a new part of town.
    For more information on the Agile Manifesto and its founders, visit http://agilemanifesto.org .

    Twelve Agile Principles

    The Agile Manifesto’s founders also agreed on 12 Agile Principles. Within your scrum project, you can use these principles to check that your framework is true to agile goals:
  • The Agile Developer's Handbook
    At the end of this chapter, your team should have completed its first Sprint. You'll understand that to be successful, managing the delivery of a software product has to become a team sport and not just the responsibility of one person (the person we used to call the project manager). You'll also gain a clear idea of how visible workspaces will help you achieve that. We'll also describe several ways that you can measure the team's progress during the Sprint to help keep them focused and purposeful.
    Passage contains an image

    Why Scrum is an excellent place to start

    Scrum is a lightweight framework that provides the necessary mechanisms to get your team's mindset focused on the essential aspects of Agile software delivery. If you were to compare learning how to use Agile to learning to ride a bike, then Scrum could be seen as the training wheels that get us moving forward.
    That's not to say that Scrum is over-simplistic; as the saying goes, it's easy to learn but will take a lifetime to master. So while Scrum provides enough of a framework to get us started, it will also set us on the path to developing an Agile mindset.
    So, Scrum is a perfect place for an Agile team to start its journey. It is by far the most popular framework amongst fledgling Agile teams. This chapter aims to introduce the Scrum framework in a way that will help you to successfully transition a new-to-Agile team to this way of working.
    Passage contains an image

    Iterations and iteration length

    Scrum is an iterative, incremental delivery process. Each iteration, or Sprint, as they are known in Scrum, lasts between a minimum of 1 week and a maximum of 4 weeks, with the preference being for as short as possible. Shorter iteration lengths are what give our team its agility, as we get feedback at the end of each iteration; the sooner we get feedback, the faster we can adapt our approach.
    If your team is new to working iteratively, there's no denying that it will feel odd at first. Based on experience, my recommendation is that your team picks an iteration length that feels slightly shorter than comfortable. Taking this approach will give your team an opportunity to improve their process so that it fits the iterative style, and challenges them to change up their thinking.
    What this means is, if you think 4 weeks is comfortable in which to deliver a working increment, choose 2-week iterations. If you believe that 2 weeks would be more than comfortable, opt for 1-week iterations.
  • Agile Practices for Waterfall Projects
    eBook - ePub

    Agile Practices for Waterfall Projects

    Shifting Processes for Competitive Advantage

    adaptability . It addresses the reality that it is difficult to capture and freeze the project details at the beginning, so it is structured to support and implement change throughout the life cycle. Since there is constant feedback, change is cheap in terms of time, non-wasted materials and resources, and emotional responses from the team.
    Developed by Ken Schwaber and Jeff Sutherland independently in the early 1990s, their jointly presented paper describing the Scrum methodology in 1995 was its first public unveiling. Scrum is a very specific process. However, it has a lot in common with the other Agile information you have already learned. Scrum also shares many similarities with other little agile approaches. To continue our comparison between Agile/Scrum and Waterfall/traditional practices, as project managers we all know the constant pull between the triple constraints, a framework for balancing competing demands. You may also hear it referred to as the “Iron Triangle.” The idea is that in a perfect world, all three corners of the triangle (time, cost, and scope) balance and create a framework in which the project team can deliver quality (the center of the triangle). When all of the parameters of the triangle are in harmony, the shape remains consistent. However, if you adjust one side (for example, try to reduce cost), you will be forced to adjust the other sides, too, altering the time it takes to complete the work, and scope, which is the amount of work you do.
    A familiar plan-driven approach to the work of projects (Waterfall ) fixes the scope upfront and then adjusts the schedule (time) and the budget (cost) in order to achieve the scope promised. The thing to realize about traditional planning is that it is done early in the process and, over time, it becomes less and less accurate (see Figure 17.1
  • PMI-ACP Project Management Institute Agile Certified Practitioner Exam Study Guide
    • J. Ashley Hunt(Author)
    • 2018(Publication Date)
    • Sybex
      (Publisher)
    In a lot of project management methodologies, the big focus is on the quality and the scope of the result. In Scrum and other Agile methodologies, however, the team is also looking at how the last sprint went with regards to people, relationships, and team interactions as well as processes, tools, and performance results. Once that occurs and the team has identified these items and placed them in a semblance of an order, identifying the major ones that went well and those that went not so well, it is easier to work through solutions. They have checked these items themselves for potential improvements, so it’s time to put together a plan to improve the way the Scrum team does its work. It is important to note that this is a very open and honest meeting. The team is transparent about their feelings on what went well, what did not go well, and what changes they would like to see made. By the end of the sprint retrospective, the Scrum team will have identified improvements that it will implement in the next sprint.
     Scrum Events
    Scrum events are an important part of the Scrum framework and are timeboxed for maximum effectiveness.
    In Figure 2.2 you will see a very simple version of Scrum events, including the length of time for each event.
    FIGURE 2.2
    Scrum Events
     The following are great guiding principles to get you into the mindset of Scrum:
    • A Team of between seven to nine members does the work.
    • Team is cross functional.
    • Team owns its process.
    • Product owner provides the work requests.
    • Product owner determines priority.
    • Scrum Master provides support and coaching for the whole team.
    • Scrum Master observes and helps the whole team adjust.
    • Scrum Master guides the team.
    • Daily Scrum reveals any adjustments needed.
    • Work is done in short bursts of fewer than 30 days each (sprints).
    • Work starts and stops with planning and review.
    • Review demos the product.
    • Retrospective allows for improvements to be identified and implemented.
    As you can see, the Scrum framework has a well-rounded approach to time boxing or scheduling, transparent communication, and interactions. A large focus of the team is that it is self-managed and self-directed, and an Agile project manager/Scrum Master keeps the sprint running smoothly while promoting the reasons for it and the vision of the result. Finally, a product owner determines what is valuable to the customer today and helps the team see the vision by constantly communicating that value.
    As you will come to see, there are many other Agile methodologies. Beginning with Scrum, however, really lets you see that as you move forward, practicing agility is represented in all methodologies and you can turn around and start using some of the best practices immediately. Scrum is easy to explain and difficult to implement, but the more organizations begin to embrace or improve upon Agile best practices, the better they will be.
  • The Wiley Handbook of Human Computer Interaction Set
    • Kent Norman, Jurek Kirakowski(Authors)
    • 2017(Publication Date)
    • Wiley-Blackwell
      (Publisher)
    The idea is not to spend long periods of time to complete a feature entirely but rather to present a customer with the simplest thing that could possibly work or a minimum viable feature. The customer will be able to request changes, enhancements and extensions to features on a regular basis, which means that the development team must plan to iterate over the design and code multiple times until a feature is complete. However, each iteration will provide a vertical slice through a system—from the user interface down to back‐end components. High‐bandwidth communication: face‐to‐face communication is preferred by agile teams because it gives all people involved in a project the opportunity to answer questions and resolve miscommunications quickly. A customer representative or product owner is appointed by the customer specifically to be available to answer questions from the development team and ensure that the product is aligned with the customer’s needs. Short feedback loops: by meeting frequently with customers, and frequently delivering functional code for immediate use, issues with the product are discovered sooner. This is especially important for features that require major changes to the design or architecture of a system. Ideally, an agile project should strive to make use of continuous delivery and immediately release completed features to real customers throughout development. When things go wrong, failing fast helps towards speedy recovery. Focus on quality: on an agile project, the only measure of progress is working code, for the simple reason that nothing else has any direct value to customers. Continuous integration, test‐driven development, pair programming, and other quality‐assurance techniques are crucial to prevent nonworking code from being released to customers
  • Agile Testing Foundations
    eBook - ePub

    Agile Testing Foundations

    An ISTQB Foundation Level Agile Tester guide

    • Rex Black, Marie Walsh, Gerry Coleman, Bertrand Cornanguer, Istvan Forgacs, Kari Kakkonen, Jan Sabak, Rex Black(Authors)
    • 2017(Publication Date)
    User Stories Applied: For Agile software development . Addison-Wesley Professional, Boston MA, USA.
    Cohn, M. (2009) Succeeding with Agile: Software development using Scrum . Addison-Wesley Professional, Boston, MA, USA.
    Martin, R. C. (2002) Agile Software Development: Principles, patterns and practices . Pearson, Harlow, UK.
    Rubin, K. S. (2012) Essential Scrum: A practical guide to the most popular Agile process . Addison-Wesley Professional, Upper Saddle River, NJ, USA.

    WEBSITES

    www.agilealliance.org www.scrumalliance.org www.mountaingoatsoftware.com
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.