Читать книгу Agile Auditing - Raven Catlin - Страница 18

DEFINITIONS OF AGILE

Оглавление

Agile is an approach to project management based on a set of values and principles. [The Agile approach] breaks projects into smaller, incremental deliverables that go through repeated iterations to focus on customers' needs and interests. It promotes adaptive planning, early delivery, frequent inspections, continuous improvement, and flexibility to respond to change (Catlin 2020).

Agile means quick, easy, and nimble. In business, it's a way of thinking, a way of working that is increasingly part of how many of the most successful companies work (Cazaly 2017).

Agile is the ability to move quickly and easily in response to your environment. To be Agile, you must be alert to your situations, and you must be flexible, nimble, and adaptable (Catlin 2014).

Agile is a lightweight software development method that aims to be more efficient than traditional, plan‐driven development models. Agile seeks to do more with less:

 More team‐level decision‐making

 Faster development time

 Faster response to shifting customer demands

 Faster problem solving

 More customer satisfaction

 Smaller teams

 Less expense

 Less wasted effort

 Fewer features in the end product that either don't work or are never used (Mathis 2013)

As these definitions show, Agile is more than a project management tool, more than a mindset, more than an ability to be nimble and responsive, and more than a method to get things done. Table 1.1 contrasts three different views of Agile (LeMay 2018).

To understand Agile, it is helpful to examine the project life cycle and development life cycle. A Guide to the Project Management Body of Knowledge (PMBOK® Guide – Sixth Edition; Project Management Institute 2017) states that “Project life cycles can be predictive or adaptive. Within a project life cycle, there are generally one or more phases that are associated with the development of the product, service or result. These are called a development life cycle … and can be predictive, iterative, incremental, adaptive, or hybrid models.”

TABLE 1.1 Views of Agile

Agile as a Methodology Agile as a Mindset Agile as a Movement
Practices matter more than mindset. Mindset matters more than practices. Mindset and practices are inexorably connected.
The practices and methods of Agile were already determined by others. The principles and values of Agile were already determined by others. I have an active role to play in determining how Agile principles and practices are articulated and applied in my team or organization.
Individuals within teams must collaborate and interact in prescribed and predefined ways. Individuals within teams must independently develop an Agile mindset. Individuals within team must work together toward a shared set of goals and values.

The PMBOK® Guide goes on to explain that:

 The traditional model, otherwise called waterfall, is a predictive life cycle where the project scope, time, and cost are determined in the early phases of the cycle. Any changes to scope are carefully managed. However, Agile is an adaptive life cycle and it may be iterative and incremental.

 “In an iterative life cycle, the project scope is generally determined early in the project life cycle, but time and cost estimates are routinely modified as the project team's understanding of the product increases. Iterations develop the product through a series of repeated cycles, while increments successively add to the functionality of the product.” Iterative means repetitious actions. In Agile, iterations of project designing, planning, executing, testing, inspecting, and improving are repeated until a project is complete. The iterations increase functionality during a project until it is complete. In comparison, the waterfall includes single stages for designing (requirements definition), planning (project planning), testing/execution, and inspecting. In waterfall, the project constraints of scope, time, and cost are estimated at the beginning of a project. Agile frameworks determine and allow for flexibility on scope, time, and cost during an iteration.

 “In an incremental life cycle, the deliverable is produced through a series of iterations that successively add functionality within a predetermined time frame. The deliverable contains the necessary and sufficient capability to be considered complete only after the final iteration.

 “Adaptive life cycles are Agile, iterative, or incremental. The detailed scope is defined and approved before the start of an iteration. Adaptive life cycles are also referred to as Agile or change‐driven life cycles.

 “A hybrid life cycle is a combination of a predictive and an adaptive life cycle. Those elements of the project that are well known or have fixed requirements follow predictive development life cycle, and those elements that are still evolving follow an adaptive development life cycle.”

Project managers must select the right approach, be it traditional, iterative, incremental, adaptive, or hybrid, to manage the project throughout the project's life cycle. The project manager, or the project team in some approaches, must balance the constraints of time, scope/quality, and cost. Constraints are anything that restricts the actions of the project team (Heldman 2005). In projects using some of the Agile frameworks, we restrict the time (i.e., Agile projects should be less than one month), and often restrict the cost, and estimate the scope. The scope is what will be covered or achieved, as agreed with the customer, in a particular project. The scope includes the functions, features, data, content, standards, and so forth that will be provided during the project. In some Agile frameworks, scope is adjusted frequently to fit in the fixed time and cost constraints and teams do not add more time to complete Agile projects. In Agile, all constraints are value‐driven, meaning one starts with the value proposition for Agile projects. Therefore, Agile projects focus only on necessary and enough processes to create the product. Moreover, Agile encourages adapting the project as needed to accomplish desired and changing goals.

Agile is also a mindset reflected in your organization's culture. To do Agile project management, you must begin with the Agile mindset (see Chapter 6, Creating the Agile Mindset). Your culture must support your efforts to execute your projects in an Agile way. We've dedicated an entire chapter to creating the Agile culture (see Chapter 17, Preparing Your Organization for Agile Auditing/Creating the Agile Culture) because the right culture is essential to the success of being and doing Agile. As Denning once stated, the wrong culture can kill any Agile efforts (Denning 2018). Use the following guiding principles as a foundation for the Agile mindset, methodology, and movement:

 Agile means we start with our internal or external customers and continuously consider customer needs. Customer needs change. Sometimes customers don't know what they need until they see what they do not need. An Agile team's role in completing projects is just as crucial as determining customer needs and figuring out how to deliver value. Agile is customer‐centric.

 Agile means we collaborate early and often. We start by identifying customer needs, write our requirements from the customer's view, and determine the work we can complete as a collaborative team. There is constant communication between team members. We do not wait until a specific meeting or time to communicate and collaborate. If you need to work with a Team Member, you let them know immediately. If you need something from a Team Member to complete your work, you tell them as soon as you know you need it, and preferably before you need it to complete your next task. Agile requires collaboration early in every project and frequently throughout the life of the project.

 Agile means we plan for uncertainty. We not only recognize uncertainty exists; we expect it and 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.

Agile Auditing

Подняться наверх