What is the development theory that Steve Jobs used to develop the Apple II computer? Do you think that when Thomas Edison invented and mass-produced the light bulb, and many other inventions, he was thinking about what project development model to apply? What model was on the mind of Henry Ford when he revolutionized the automotive industry (besides the model T)?
If you have great visionary leaders who have a good understanding of the market, and talented people who master the state-of-the-art technology, with a bit of luck, you can develop a best-in-class product, and disrupt the market, without the need for any management/development theory. Following your success, people (not as smart as your people) will try to extract lessons from your good practices, theorize them, and sell them to other companies as remedies to their problems. Good practices will always help to improve the outcome, but will never fix the problem of narrow-minded leadership and unmotivated people.
This sets the ground for the sequel.
The development of a product/software comprises the following key activities:
Software development is a tough process. It starts off by identifying and understanding what the user/client needs, and ends by deploying a solution that may, or may not, satisfy the user. During this journey, a group of Homo sapiens work together, organize teams, conceive plans, define tasks, rules and tools. They spend time and effort specifying, designing, programming, testing, documenting, bug fixing, etc. and hoping that they will deliver on time.
Some of those sapiens groups outperform their peers, and manage to provide high quality solutions on time. Other groups fail to deliver any solution, and waste their effort, time and resources in vain. Successful software developers (at least some of them) decided to help the others with their skills, by teaching them how they are doing Software development. This is why, on February 11th – 13th, 2001, at The Lodge at Snowbird ski resort in the Wasatch mountains of Utah, USA, seventeen Homo sapiens met to talk, ski, relax, and try to find common ground—and of course, to eat. What emerged was the Agile Software Development Manifesto.
Agile is a Software development mindset that embraces change. It is neither a process nor a model, but rather a set of values and principles. It is a flexible approach for Software development, that helps organizations to adapt fast to the market change.
Processes and documentation are important, but not the main concern in Agile mindset.