I read a quote the other day that reminded me, once again, of the fact that many people consider developing applications to be a science and not an art form. A science that can be easily taught and understood. After all, it’s taught within the Faculty of Science and is called Computer Science, right?
In contrast to the champions of scientific management at the beginning of the last century, design thinkers know that there is no “one best way” to move through the process.
Tim Brown wrote that in his book Change by Design. His idea about “design thinking” is that we blend the idea of what people want, with what is technically possible, creating something that worthwhile and enjoyable. It’s also about trying to figure out what the problem is in the first place. There is no set steps that you need to follow as it is more of an exploratory process.
When I went to University, just after computers had been invented, I took a course on logic. I hated this course. You’d think I’d like it, but I hated it. I would get the correct answer, but I never got full marks for the questions because I did not solve it the way the professor wanted it solved. If he expected five lines to solve the problem he would assign each line a value of 0.2. I usually got 0.2 or 0.4 instead of 1 for the score because I never solved it his way. Was his way correct? Yes, but so was mine. And that’s why the quote from Tim Brown hit home for me. There are multiple routes to the answer with none of them being “the best”. (Disclaimer, I failed the course.)
I had a boss with Accenture who thought of people as simply resources – plug and play – and that anyone could be taught anything. It was at this time that Accenture had a University near Chicago where they gave people three weeks of intense training and at the end, they were Accenture developers. I worked with a guy at Accenture who was a Bachelor of Commerce graduate who took the three-week course. He “passed”, but he was … not good … at building applications. He lacked the aptitude. He lacked the imagination to take the requirements and create something meaningful. (He was subsequently promoted. Don’t ask.)
Writing applications, writing beautiful applications, is more than just science, more than just following directions. It requires an element of art, not a full-blown artistic tour de force, but enough artistry to understand that there are multiple paths to the goal. It requires enough artistry to understand what people want and need and what is technically possible. To be a good developer, you need design thinking.