Software Engineering – Week the Eleventh
Small projects are fun. They’re good for illustrating most concepts, design tactics and technologies. But this week I learned a lesson that could only be taught through a large project: division of labor.
A skilled carpenter can make a lot of things: carts, chairs, tables and even houses. This is how it was in small towns before trade became cheap–an artisan would take some time to stretch his skill-set to match the need of the particular situation presented to him. After that, he would have both the commission and the knowledge. On a small scale this works, just as on a small scale learning a concept for an assignment works. However, when the town grows, or the assignment grows, the craftsman, or student’s ability starts to stretch. They simply can’t afford the time both to learn and to keep abreast of the demand. With this up-scaling the landscape of the crafting world changes fundamentally. Artisans transform into factories filled with specialists. Renaissance-man programmers become gurus. And the world becomes much more complicated. This is the story of IDB2: the programming project that took the concept of division of labor to the next level.
Our team started by dividing the website into two parts: front-end and back-end. This division was made for the first part of the project and simply carried through. Within these two teams were a number of people. Each would grow to have a distinct role in the development process: Rose Simmons, models and backend infrastructure; Kevin Wade, test and API verification; Aaron Brame: twitter bootstrapping; Zach Bowman, front-end development; Dory Glauberman: database consulting and documentation czar; and finally me: API and models guy. This is not to say there was no overlap–we did a lot of think-tanking, but each person became specifically skilled. Having never had a team form quite like this for a previous school project, some interesting things started to become evident about the divided structure. Firstly, nobody really stepped on anyone else’s toes–everyone had their domain and stayed in it. And secondly, the quality of the work remained high even amid the temporal pressures of the assignment. Things just worked.
This assignment taught me that specialization is perhaps the most important part of today’s society. Amid the cries of romantics claiming that division of labor is raping the pastoral ideal of the craftsman, many can agree that they’d rather have a specialist if they can obtain one.
4/6/2014