1

What Exactly Is Agile?

This chapter provides a detailed overview of the meaning of the word “agile” and its relevance to project management. Agility has become an increasingly popular method used to develop products across multiple domains; however, it is envisioned that a clearer understanding of the term can be attained when it is compared to traditional project management concepts.

Agile project management is an approach that is used to design and deliver software. To be exact, the agile approach delivers the software that has the greatest value to the customer. To be agile merely means to be quick. The definition of the word is rather easy to understand; however, quick is a comparative term used to describe the “degree of comparison between similar adjectives” (i.e., good or better). In other words, the word “quick” is appraised by comparing it to other adjectives with similar meaning with an end result that has the potential to be highly subjective. The assessment of the word “quick” is relative and is based on individualized perceptions. The best way to describe “quick” as it pertains to agile project management is “quicker than traditional project management methods.” Agility refers to the capability to think and reach conclusions quickly. Traditional project management methods include those that are defined in A Guide to the Project Management Body of Knowledge (PMBOK® Guide), Fifth Edition.* PMI describes traditional project management as “being accomplished through the application and integration of the 47 logically grouped project management processes which are then categorized into five Process Groups (i.e., Initiating, Planning, Executing, Monitoring & Controlling, and Closing).” The project management methodology described in the PMBOK® Guide is based on a process-oriented approach whereas the agile approach is based on values and principles. We now discuss specific high-level reasons why agility has increased in popularity in recent years.

AGILE IS FASTER

Mathematically speaking, it is apparent that traditional project management is not as quick as the agile method with its 47 grouped processes and 5 process groups. In the case of agile, there are 4 values; 12 agile principles; and the Declaration of Interdependence (DOI) for Agile Project Management and its additional principles that tie together “people, projects, and value.”* A fact-based determination has just been made from the comparative assessment of the word “quick” as it pertains to the agile description. It has been successfully and objectively determined exactly what “how quick” means based on the number of processes that fall under agile and traditional project management methods, respectively. The lesson to be learned from the assessment is that whenever there is a project that needs to be done quickly, more than likely the agile approach would be best. There are, of course, other factors to take into consideration when deciding on agile or traditional project management. For example, one factor is project size. Additional factors for selecting an agile project are discussed in Chapter 15.

AGILE CHANGES ARE INHERENT

When discussing agility, it is relevant to discuss change. That’s a word that hardly needs a dictionary lookup. Let’s examine the facts: technology always changes; software requirements change and in fact not much in society is constant. The world that we live in is very dynamic. Getting back to software, any information technology software professional will agree that making changes within a traditional software development project at the wrong time can be quite costly. In fact, the costs of software changes later in the life cycle are exponentially greater than changes made early on. For example, changes in requirements during the planning phase hardly cost anything; however, once the software code is in production, those changes can be very expensive. Traditional project management is all about plans and planning whereas agility is about adapting and very little or no planning at all. Plans always change because there are a multitude of unknowns in the traditional project management approach. Agile project management adjusts direction on the fly and welcomes change at any time in the project. Keep in mind that we are not referring to just any type of change. We are speaking about those changes that enhance a customer’s competitive advantage. It takes time and money to replan and modify project documentation in the traditional project management environment. This would not be the case on the agile project.

AGILE IS VALUE-FOCUSED

The goal of an agile project is to deliver high-value software to the customer as early and as often as possible. To be more specific, we are speaking of business value, which is a driver of agile methods. A project is undertaken by a business so that it increases value in some form, whether it is for increased profits, adherence to government regulations, or for public safety purposes. When making the attempt to move a business in the right direction, choices that need to be made are ones that add the “greatest value” for the business. Thus the agile framework focuses its activities and direction on adding, increasing, or enhancing value for the end user which in turn positively affects the business and its desired goals. One may ask at this point, “How do we evaluate value?” Businesses operate to increase profits. There are objective financial methods that calculate “value.” These techniques are used prior to the acceptance of a new project to validate that a project is worthwhile to undertake. Because of the fact that agile projects are “value-driven,” results show up early on the project in comparison to traditional project management where it can take considerably longer to see positive results for the business. Why would this be the case? Traditional projects typically evaluate results after the project is completed whereas an agile project uses iterations of working software to measure its levels of progress.

AGILE IS RISK-FOCUSED

Traditional project risk management is very process- and event-driven. In contrast, agile project management risk is controlled through its frequent iterations. As the software proceeds through its iterations, it is easy to detect the point where a risk is encountered. Iterations are tested prior to the introduction of new features and risks can be addressed more quickly as opposed to waiting until all of the code has been completed as in the case of traditional project management. In the case of high-risk user stories, these items are undertaken before less riskier items. Features are added to the code based on the priority level. The higher the priority is, the higher the value and the sooner the feature will be included in the product.

AGILE METHODS SUPPORT THE DELIVERY OF HIGH-QUALITY PRODUCTS

Agile methods support concepts such as continuous integration and sustainable pace as the basis to ensure that a quality product is delivered. In order to provide consistent value and high quality, the product is continuously developed, tested, and integrated with functionality from the backlog. Maintaining a sustainable pace ensures that there is a healthy balance between work and home life. This leads to consistent accuracy, stability, and quality in the delivery of the product. The development team is required to develop the functionality that has the highest priority from the customer’s perspective. The benefit of this approach is that the team has the appropriate amount of time to focus on the quality of the required functionality before anything else.

AGILE MANIFESTO

Agile is all about working code and the procedures used to develop systems quickly. In 2001, several experts got together and decided that they wanted to create a better and faster way to develop code. As a result of this collaboration, the Agile Manifesto was created. The Agile Manifesto is simply a public declaration of intentions. This means that all of the principles, beliefs, and guidelines have been put forth within the Manifesto for Software Development. Keep in mind that agility is not limited to information technology software development. Individuals who work in innovative industries (e.g., engineering), those who transfer information to others (i.e., teaching), and those whose jobs require that they make changes to technology tend to realize the greatest benefits from agility.

TRADITIONAL PROJECT MANAGEMENT

Traditional project management techniques are sufficient for the known aspects of a project but agile methods are better for the unknown and here’s why. In order to spend less money on a project, it is necessary to deal in reality. The reality is that up-front planning is often estimated based on prior experience with a similar project. This technique works reasonably well, however, it can be costly at times. According to PMI, a project is a temporary endeavor undertaken to create a unique product, service, or result.* Each project has its own uniqueness from other projects. With the agile approach, it is easier and cheaper to adapt to and welcome changes rather than planning the project up front and experiencing a multitude of costly changes through the project. It is well understood that there will always be changes on projects. It is inevitable. See Table 1.1 for a comparison of agile versus traditional project management.

TABLE 1.1
Agile Project Management versus Traditional Project Management

Agile Project Management

Traditional Project Managementa

Less risk

Increased risk

More visibility

Less visibility

Increased business value

Reduced business value

More adaptability

Less adaptability

Faster software delivery

Slower software delivery

Reduced costs

Increased costs

a This is based on the traditional waterfall development model. The waterfall method is sequential where one phase of the life cycle has to be completed before the next phase is started. In contrast, agile methods are iterative and incremental.

MOVING TO AGILE

Many organizations are ready to make the move toward using agile methods. This would require a strategic plan that understands that the transformation is both a social and methodological process. The move to agile methods requires a change in organizational culture because there are many challenges and changes to overcome during the process. Agile methods were created as an alternative to traditional software development methods with promises to deliver software faster, with better quality and higher customer gratification. In order to realize the agile values and principles of the Agile Manifesto (see Chapter 2, “Agile Concepts”), organizations would require across-the-board modifications to their existing software development strategy. A well-developed strategy is required so that any complications and problems encountered are quickly resolved. This way, the amount of implementation time and effort is minimized.

CHAPTER SUMMARY

We will now summarize our discussion on agility and clarify a few known misconceptions.

• The agile approach is not for every project. Chapter 15 goes into greater detail for the reasons behind this statement.

• The agile approach is not better than traditional project management. It is an alternative project management approach.

• Agile methods can increase business profits because they focus more on the portions of the product or service that is the most valuable to the customer. This results in increased business value.

• Agile methods are quicker than traditional project management methods because they are based on values and principles rather than processes and process groups which take longer to execute.

• Agile methods are more adaptive and support change in a less costly fashion than traditional project management.

We are now ready to discuss agile project management in greater detail beginning with Chapter 2. With the agile approach, the project management role is actually shared among three roles: the servant leader, the customer, and the development team. In traditional project management, the project manager’s role is usually a demanding balancing act between the project’s triple constraints of cost, scope, and schedule.* The benefits of agile are fewer surprises, lower costs, and a more quickly delivered product.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset