Agile Auditing. Raven Catlin

Чтение книги онлайн.

Читать онлайн книгу Agile Auditing - Raven Catlin страница 15

Agile Auditing - Raven Catlin

Скачать книгу

plan for it. We are equipped with the tools and knowledge needed to address ambiguity in processes and in customer needs. We are prepared for the unexpected because we planned for it. Agile is being prepared for change.

      Let's continue our understanding of Agile with a little history lesson. Agile was created for software development projects by 17 software practitioners. Collectively, these practitioners are referred to as the Agile Alliance. These 17 individuals met in Snowbird, Utah, in February 2001 to “uncover better ways of developing software.” The 17 software practitioners created the Agile Manifesto, which states (Beck et al. 2001):

      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.

      The four Agile Manifesto values set the basis for 12 principles as follows (Agile Alliance 2001):

      1 Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

      2 Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

      3 Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.

      4 Business people and developers must work together daily throughout the project.

      5 Build projects around motivated individuals. Give them the environment and support they need and trust them to get the job done.

      6 The most efficient and effective method of conveying information to and within a development team is face‐to‐face conversation.

      7 Working software is the primary measure of progress.

      8 Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

      9 Continuous attention to technical excellence and good design enhances agility.

      10 Simplicity – the art of maximizing the amount of work not done – is essential.

      11 The best architectures, requirements, and designs emerge from self‐managing teams.

      12 At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

      The values and principles discussed earlier in this chapter are essential ingredients of the Agile mindset and set the foundation of Agile frameworks.

      Source:Illustration by Carmen Catlin.

       Scrum (1986, Takeuchi and Nonaka [concept]; 1995, Schwaber and Sutherland)

       Extreme Programing (XP) (1996, Beck)

       Kanban (1953, Toyota)

       Rational Unified Process (RUP) (1987, Jacobson [concept]; 1996, Kruchten/IBM)

       Crystal (1996, Cockburn)

       Dynamic Systems Development Methodology (1995, DSDM Consortium)

       Feature Driven Development (FDD) (1997, De Luca)

       Rapid application development (1991, Martin)

       Adaptive software development (1974, Edmonds [concept]; 1995, Highsmith and Bayer)

       Scrum is a timebound Agile method where each task or activity is limited by a specified duration. Scrum is the most popular framework; we discuss it in more detail later in this chapter.

       XP focuses on developing high‐quality software in a short period of time based on customer participation, rapid feedback, and subsequent planning and testing. It leverages four values: courage, simplicity, feedback, and communication.

       Kanban focuses on productivity and flow when there are no “features” released to a customer. It works well for small teams and is typically used in manufacturing processes. Kanban is not time‐sensitive.

       Crystal is a collection of Agile methodologies and recognizes that any project may need a unique set of practices. It focuses on early and regular product delivery by increasing user participation and eliminating bureaucracy, while reinforcing the need for communication, teamwork, and simplicity.

       DSDM emphasizes business needs, active user participants, team empowerment, and constant delivery. Requirements are determined early in the project and refined as the project progresses.

      In many projects, including those using Agile methods, effective communication often determines the success of the project. Each Agile method reinforces the importance of communication and most include more frequent meetings, such as daily meetings for Agile teams to coordinate activities. The daily meeting is a unique element of Agile project management for delivering results faster, correcting errors sooner, inspecting the project often, and overcoming obstacles before the obstacles become bottlenecks.

Скачать книгу