In 1986, Ikujiro Nonaka & Hirotaka Takeuchi, two academics who observed companies such as Toyota, defined 3️⃣ categories of companies:
𝚃𝚢𝚙𝚎 𝙰 companies, such as NASA 🚀, which divide work into well-defined phases and do not move on to the next phase until the previous one has been completed.
𝚃𝚢𝚙𝚎 𝙱 companies, where the phases overlap slightly, based on the observation that it is conceivable, for example, to start the architecture when 80% of the specifications have been completed.
𝚃𝚢𝚙𝚎 𝙲 companies where everything is done at the same time, like in a rugby scrum.
The term 𝐚𝐠𝐢𝐥𝐞 appeared in the English-speaking business world in the early 1990s. In 1991, James Martin based his vision on the continuous evolution of computer techniques and proposed a 𝑚𝑒𝑡ℎ𝑜𝑑 for rapid application development. ✍
💡 If you don’t know who is James Martin:
James Martin is an English consultant and author in information technology. He is known for his work on information technology engineering.
Subsequently, in 2001, a manifesto for Agile Software Development was written in the United States by 1️⃣7️⃣ software development experts. 🔎 Each of these experts had already developed new methods that were lighter than traditional methods inspired by civil engineering. ⚙🛠
If agile methods did not appear thanks to this manifesto, it does however officially refer to these methods under the term 𝐚𝐠𝐢𝐥𝐞.🤓
The 4️⃣ values of the agile manifesto have been broken down into 1️⃣2️⃣ principles in order to provide operational support to teams wishing to follow them. 💪
The 4 values are:
👉 𝐈𝐭𝐞𝐫𝐚𝐭𝐢𝐯𝐞: Delivers a full system at the very beginning and then changes the functionality of each subsystem with each new release. 🔁
👉 𝐈𝐧𝐜𝐫𝐞𝐦𝐞𝐧𝐭𝐚𝐥: The system as specified in the requirements is partitioned into small subsystems by functionality. New functionality is added with each new release. 🔃
👉 𝐒𝐞𝐥𝐟-𝐨𝐫𝐠𝐚𝐧𝐢𝐳𝐢𝐧𝐠: The team has the autonomy to organize itself to best complete the work items. 📰
👉 𝐄𝐦𝐞𝐫𝐠𝐞𝐧𝐭: Technology and requirements are “allowed” to emerge through the product development cycle. 📈
Agile is currently an umbrella concept encompassing many methods. 📜 Agile methods will not out rule traditional methods because diverse processes for software engineering are still needed. ☝️