The transformation in the world of work that we are living had a beginning. Obviously, it wasn’t incubated in the innovation department of any company. Nor was it in the project management office (PMO). It all started with the agile software development movement.
What is Agile?
Agile corresponds to a set of values, principles and practices that are aligned with the Agile Manifesto for Software Development, signed in 2001 in Utah. Seventeen developers participated, and although they were testing different approaches and frameworks, they some underlying principles.
Agile methodologies in general advocate adaptive planning, self-organized and multidisciplinary teams, continuous improvement and evolutionary development. But if we look at how software development normally occurs, we will see the opposite of this.
The Manifesto is composed of 4 sentences and 12 principles. Here we will analyze the 4 initial sentences to better understand it.
These sentences are arranged in the format X over Y, in order to clarify trade-offs. It doesn’t mean that Y is totally irrelevant, but only that X should be considered first.
Individuals and interactions over processes and tools
Agile values the interactions among individuals that are part of a software project, being the quality of those relationships and the intrinsic motivation of people considered essential.
Agilists believe that excessive focus on processes and tools leads to dehumanization of work, which decreases the quality of interactions. As the work of software development teams is complex and requires creativity, these aspects can’t be sacrificed.
Very prescriptive work processes also hamper the team’s capacity for adaptation.
Working software over comprehensive documentation
Once an Agile Coach told me that he put the entire prelude of Star Wars Episode V into a requirements document. He worked for the Washington State Department of Technology. Five years have passed and no one has ever said anything. Important observation: his name was registered in the document.
Large corporations have become experts in writing extensive requirements documents, detailing in depth how the software should work. Too bad that all this documentation serves no purpose at all.
Agile puts this practice in check, highlighting in the Manifesto that working software (the final product) is what really matters. If you need to write documentation, try to do this as little as possible.
Customer collaboration over contract negotiation
A common practice in the corporate world is to hold your client in a big contract that specifies scope, time, and cost. You detail the entire project beforehand (assuming this is possible) and wait to deliver the software after 1 year. Then your customer is required to pay the bill.
The problem is that in a year, maybe this product won’t be valuable anymore. The market has changed. The socio-political scenario as well. New laws have made the product unfeasible. After all, the world is VUCA.
The Manifesto challenges this practice by putting collaboration with the customer first. Be sure to make a contract. But opt for more flexible approaches where you deliver the product in an incremental and evolutionary way, adapting to the changes that come, as well as really caring in generating a competitive advantage for your customer.
Responding to changes over following a plan
Traditional project management is based on a great assumption that isn’t true (and perhaps never was): that we can accurately predict and plan a project as complex as a software project over a long horizon of time (months, years) .
And the Project Management Professionals (PMI) will reinforce: If your plan failed, it’s because it was poorly made! Plan more!
Excessive focus on planning causes changes to be avoided, as modification to the plan generate a lot of rework. You need to create new documentation. The diagrams need to be adapted. The schedule, the test plan, the risk management … The list is great.
Agile teams embrace change, opting for smaller planning and development cycles, typically 15 days or less. More time is spent on activities that generate value directly (software development) and direct interactions with the customer.
What are the existing agile methodologies?
To be Agile, you don’t need to follow any existing methodology. However, some initial guides help a lot, especially if you’re just getting started. Here is a summary of the two most widely used: Scrum and Kanban.
Scrum is a framework for product development created by Ken Schwaber and Jeff Sutherland. The Scrum Guide defines some roles, artifacts, and events that make up the method.
In Scrum, a software project is broken down into Sprints, which are cycles of 1 to 4 weeks in which all (from planning to delivery) development activities are executed. The result of each Sprint is an increment of the product, that is, a functional slice of software that the customer can use.
Scrum is especially interesting for teams that devote exclusive attention to the development of a complex product. If you need to balance between supporting and existing product and developing a new one, Kanban is usually more appropriate.
Kanban is a method for managing work where a set of cards is put into circulation in a system that balances demand and delivery capacity.
These cards represent work units that usually deliver some value to the end customer. To facilitate the understanding, we can consider these units as functional features of a software project.
The workflow is mapped, where different steps are represented by columns, as in the image below:
In addition to the defined steps, a Kanban system has work in progress limits (WIP) that determine the maximum amount of work that can be kept running or waiting at some stage in the process.
Kanban strives to reduce waste and shorten feedback cycles. The ultimate goal is to deliver working software to the customer in the shortest possible time and with a certain predictability.
The agile software development movement was essential to the emergence of many other social technologies and practices of the future of work that we write a lot here at Target Teal’s blog. The manifesto provides the basis for later movements, such as Management 3.0, The Lean Startup, the Responsive Manifesto and Holacracy.