Agile data warehouse development has been all the rage for some time now. But what does it really mean and how does it differ from the Waterfall approach traditionally used for many large-scale development projects? We’ve put together this diagram to compare Agile (green) with Waterfall (red).
What is Agile data warehouse design and development?
Agile data warehouse design and development involves applying Agile techniques to information management problems, and it’s currently hot because previously Agile has been much more heavily used in big transactional software development projects. So it’s the combination of the domain and the techniques that are relatively new, not one or the other.
What characterises Agile?
The main points are highlighted in gree in the diagram. Agile projects tend to be characterised by having the project team in the same physical location as the business customers (in particular the product owner) that they are delivering for. Team members can have distinct roles at a point in time, but in order to be able to handle workloads as the required skills change the roles of the team members may flex over time. Because the project team is physically and mentally so close to their business customers, they have the context to help them intuitively understand what is required and little documentation is needed during the development process itself. This whole approach therefore relies on a high level of trust between team members that each is competent and will not let their colleagues down.
In the next posting we’ll look at why we’re trying to perfect “Distributed Agile”.