II.

What does Agile mean?

Modern Agile was outlined in the 2001 Manifesto by a group of IT professionals who decided to draft a summary of the values and principles related to modern software development. The summary was named the Manifesto for Agile Software Development. While the original manifesto deals only with the development of computer software, it can be applied more generally to almost all work, as we'll do in this course.

Definition

Agile

Agile means the ability to respond to change in order to achieve the best possible outcome for the customer.

The manifesto contains four values and twelve principles. The values are used to describe how an agile organization works. The four fundamental values of Agile are as follows:

  1. We value individuals and interactions over processes and tools.

  2. We value working products over comprehensive documentation.

  3. We value customer collaboration over contract negotiation.

  4. We value responding to change over following a plan.

The message of the first value—“we value individuals and interactions over processes and tools”—is not that processes and tools are meaningless. What is essential is that employees are treated fairly and equally instead of thinking about them as mere resources. In agile organizations, the quality of interaction is constantly reviewed and improved. Agile organizations also seek to create real teams, not just working groups. We'll return to the concept of a real team later.

According to the second value, attention should be shifted from internal reports and documentation to the purpose of the organization, which is usually to generate value for customers, stakeholders, or citizens. With regard to an individual project, this could mean that progress is assessed not by reading the project manager’s progress reports, but by monitoring how close the work is to value creation and to the realization of the organization’s purpose.

The third value underlines the nature of cooperation. This principle can be applied both within an organization and for cooperation between different organizations. The old-fashioned way of agreeing about a product development project is to define it as accurately as possible and to record contractual penalties or other sanctions if delivery is delayed or not as specified. A more agile way would be to negotiate on how to create a better framework for success through cooperation. An example of cooperation within an organization could be the marketing department’s order for a new IT system for an upcoming campaign from the IT department. Rather than negotiating content and terms, a more agile implementation would be to plan the cooperation between departments to ensure the best outcome.

The fourth value message is that the end result of agility is the ability to learn and adapt. An organization can hardly be considered agile if its activities are based on slavish adherence to the plans. During a development process, new information is obtained constantly, and adapting accordingly to achieve the desired goal is considered more valuable than the plans. All activities are built around this principle.

Learn more

Twelve Principles of the Agile Manifesto

In the list below, the principles of the original manifesto have been predigested to suit any kind of information work. In this list, we use the word “product” to refer to the output that an organization provides. It can be a service, a product, or any final output of a project. By customer, we mean the person or party that receives the product.

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

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

  3. We deliver working products frequently, from a couple of weeks to a couple of months, with a preference for the shorter timescale.

  4. Stakeholders and product developers must work together daily throughout the project.

  5. We build projects around motivated individuals. We give them the environment and support they need, and we trust them to get the job done.

  6. The most efficient and effective method of conveying information is face-to-face conversation.

  7. A functional product is the primary measure of progress.

  8. Agile processes promote sustainable working methods. The project owners, developers, and stakeholders should be able to maintain a constant pace indefinitely.

  9. Continuous attention to quality and good design enhances agility.

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

  11. The best solutions, requirements, and designs emerge from self-organizing teams.

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

The frameworks behind Agile

The authors of the Agile Manifesto represented a variety of agile software development methods such as Scrum, Extreme Programming (XP), Feature-Driven Development (FDD), and Crystal Clear. However, despite the different names, these schools’ philosophies were similar.

New methods that fully or partially implement the manifesto’s values and principles have been developed since the Agile Manifesto. Such methods include, for example, DevOps and various Kanban implementations.

The advantage of using the agile methods mentioned above is that they are recognized internationally, and customers or employees may have previous experience with the chosen method. Recurring routines of well-known agile methods help to adopt new thinking. Without routines, any change is easily forgotten. The methods mentioned above are not part of this course, but you can easily find more information about them and various training courses online.

Strict execution of a single agile method without understanding agile thinking doesn't necessarily make you agile. In this course, we'll explore the ways of thinking and working underpinning different agile methods to help you identify what different agile methods aim to achieve. Our goal is to create a comprehensive understanding of Agile, why it's useful, and what it can achieve. You can then choose how to apply Agile in your work and what agile methods you want to use.

Agile is based on Systems Thinking. A system may be more than the sum of its parts. Changing one part of a system may affect other parts or the whole system. For learning or growing systems, it's particularly important to constantly adapt to the changing environment.

The SARS-CoV-2 virus is an example of a growing system that has become increasingly effective. Learning continuously and adapting to the environment is vital to the SARS-CoV-2 system. For us, this learning and adaptation is evident in the emergence of new variants of the virus. The same principle of regular learning and adaptation is followed in Agile methods with the objective to find the most functional, effective, and useful solutions to problems.

The Japanese Lean philosophy has strongly influenced the idea of Agile. From 1948 to 1975, the Japanese car manufacturer Toyota developed a revolutionary management model, now known as The Toyota Way, and a production and process development model known as the Toyota Production System. The new model was based on sociotechnical systems thinking, and the car factory and its staff were thought to be a system in which its two elements affect each other.

Respect for staff and regular development of each employee and device were highlighted as important principles of the new operating model. Toyota’s operating model was found effective and gradually became more common in the Japanese industry. In 1988, John Krafcik named this Japanese manufacturing model Lean Manufacturing. This extremely extensive concept is now referred to as Lean.

Although the roots of Lean are in the Japanese automotive industry, lean principles have also been included in agile software development methods. Perhaps the best-known concept of Lean is waste. Waste means any work or other expense that doesn't bring value to customers. Waste, such as unnecessary work stages and costs, should be eliminated to speed up, facilitate and improve the efficiency of operations.



Next section
III. Agile compared to traditional approaches