Why Agile Project Development?
Traditionally, large projects have been managed by defining all the requirements up front and then seeking to meet those needs. However, anyone who has worked on a long-term project quickly finds that listing all the requirements before getting into the work is challenging if not impossible. As you dig through the details, you sometimes learn that certain features are no longer needed. Much more often, you learn that some functionality was wrong or missing from the original project specifications.
While there are many industries that still aspire to the traditional “waterfall” model described above, in 2001 the Agile Manifesto was written which described a set of principles for a new way to do software development. Instead of focusing on articulating up-front all that the software should do, Agile focused on thin vertical slices of functionality. With Agile project development, the requirements are expected to change over time. The hope is that by planning for that inevitability in how the project is managed, the team can respond to those changes more easily and flexibly.
While there are many advantages to Agile, it is easy to think that by using this methodology you can largely skip scoping at the beginning of the project. In our experience, understanding the value of frequent and focused scoping is part of what helps our projects succeed where others fail. As an example, the first question our customers ask is usually critical to their business, but may be the last question we are able to answer in the project. At Mashey, our development process starts with a list of desired features, and we iteratively revisit our requirements as we learn more about what is the best next step. In addition, we regularly assess our progress against the ultimate goals as and match our deliverables to customer needs.
Here at Mashey, we recognize that oftentimes the first vision of how data analytics can be used by our customers is very different from the final implementation. By using Agile project development principles we build discovery into our process and strive to always deliver the best possible final product to our customers.