In software, it starts with “user requirements” finding out what people want to do with the software. Then I work out what data has to flow through the system to make it work: the “data model”. Next, I need to choose an “architecture”: an arrangement of computers and code that can handle those data. Sometimes I need to make temporary, small systems to try out architectures and find the best one.
When I have the requirements, a data model and an architecture, I can start writing “production code” – the computer code that will be in the final software. And when I have code, I have to test it.
Most software projects are about 40% finding out what to do, 20% building the system and 40% testing and fixing up.
That means that the creative bit is quite well spread out in all the other work. And often, the best thing to do is not to *create* but to *copy* a solution from another project that worked. But when I do get to create something new, and it works, it feels great!
Comments