Depth-First Development
There are a plethora of methodologies to employ during software development with no shortage of ones with names with “first” or “driven” in them: test-driven development, mobile-first development, API-first development and, hilariously, YOLO-driven development.
Each of these methodologies describes what should be a top priority — one that shapes all other priorities at a certain point in the development process. Test-driven development can be applied at all levels of development (the actual coding part), while API-first development is more of a macro methodology that describes the order in which a development team should address tasks. Each of them as well has their own goal that they’re trying to achieve.
Micro methodologies = how to write software
Macro methodologies = how to order tasks for writing software
I want to discuss a macro development methodology I like to call depth-first development that’s to be used when doing something for the first time that sacrifices moving quickly at the task-level but gains moving quickly in the bigger picture.
Sound like an ultra-specific use case? Maybe, but doing something for the first time is such a common scenario, especially in software startups, especially in the first few years of business.