aristotelian software engineering

Tue, May 27, 2008

It might seem strange to link the ancient world in the form of Aristotle, with the modern world of software engineering but Aristotle’s three-fold classification of disciplines applies rather well to the process of engineering a software solution to a problem. But what do I mean by software engineering? Is it different from programming? From what I’ve experienced, read and discussed over the years, software engineers take a keen interest in how the product is perceived by the client. They go out of their way to work with the client, face to face, understanding not only the requirements but also the underlying reasons for those requirements. In that way, they try to put themselves in the clients shoes but are able, at the same time, to bring to bear years of knowledge on the problem and can guide the client in their thinking, to reach what may be a better solution. Programmers, on the other hand, implement specifications. Both, however, fit in with the three-fold classification.

The three disciplines are:

eidos : the idea. Based on what the client comes to us with and based on theoretical knowledge we have already, we can come up with an initial idea of how we can design the system.

techne : the skill. As software engineers we have the skills to implement the system. If not, we spike. We may retreat to the theoretical mode and return to the productive for a sub cycle of development, to confirm what we have found in our return to thinking.

poietike : the making. Armed with the confidence gained from successive retreats to theoretical mode and cycles of productive prototyping, we should now be in a position to implement the design.

Taking ancient wisdom and applying it to modern activities helps us understand the process by which we produce software solutions to problems. We spend a lot of time in productive mode, breaking out now and then to practical but all the while being embedded in the ether of theoretical knowledge. Theoretical is our garden, where we cultivate the seeds that can be scattered on barren ground, making it productive. However, theoretical is also the most contentious as we are seen to be doing not a lot. Sitting there, coffee in hand and scratching our chins, staring into space.

The idea for this ditty came from here.

comments powered by Disqus