The Development Process
A friend of mine jokes that developing software is like constructing a house: the first step is to build the roof. His point is that nobody thinks you’re crazy if you start implementing the user interface before you’ve thought through the design, organized your tools, and built a foundation.

Figure 6-1. Saving a workbook as a template or add-in
The purpose of having a development process is to avoid that upside-down approach. Following a process helps you:
Detect problems as early as possible
Create reproducible results
Know when you’re done
Much has been written on the development process; I won’t try to cover all the approaches or explain their differences here. Instead, I’ll give you some practical tips specifically oriented toward working with Excel.
In my experience, the best advice is to use a test-driven approach and to get feedback as early as possible by following these general steps:
Determine requirements.
Create an initial design.
Implement features and unit tests.
Integrate features and test their interaction.
Test on target platforms.
Document the software and create training materials for users.
Deploy the software.
Archive what was deployed and get ready for the next version.
Each of these steps includes an implicit “Gather feedback and revise” step before proceeding to the next. How you gather and manage feedback must be tailored to your situation—your ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access