Clever Turtles

Clever Turtles - Icon Clever Turtles - Title
"Science is interesting; if you don't
agree, you can fuck off."

.sponsor

Creative Development

First off, I apologize, because the text below is clustered. I have a lot of thoughts in my mind and I’m still trying to sort through it. It’s all a mesh. If anything, just watch the video below.

These days I’ve been more enlightened than usual about the company I work for and the processes that drive it. I’ve always been a sucker for software development, but as I continue to develop I realize more and more that it’s not the computer or software that drives me. Instead, I am driven by the process its self, the process of defining models and how they interact with each other. But these models and their processes cannot be defined by one person alone. Instead, it has to be developed and implemented by teams of flexible independent persons. And as much as I enjoy my time with the company and employees, I find myself continually bothered by the lack of creative development within it. I am not here to define creative development. On a personal level, I am not any form of authority who could define such things for the business world. I have neither the experience nor schooling to responsibly do so. I do, however, intend to describe what I mean by creative development and what it means to me.

Whether you like it nor not, all development is creative. When people think of software development, notions of bits and digits come to mind, pure logic in the form of algorithms, variables, and functions. But in my eyes this is a small part. Algorithms are refactored on a constant basis creating faster, better ways to execute a process. But before that algorithm can be refactored it must be designed. And before design, that same algorithm had to have existed as an idea. And finally for that idea to exist a system of creativity had to have been implemented. Which brings me to my point of all software development starts off as a creative process. The evidence of this is shown when you log into your banking software online. If development were purely technical, the usefulness of features would be completely absent to the customer. Existing functions would again be faster, better, but none of the new features that assist the end user would have been developed.

Creativity is the future of development cycles. New methodologies for software development, such as Agile, are turning more and more to the model of brainstorming teams. In the old days of software development, before any work was done a spec was compiled. Pages upon pages of paperwork defining what would eventually be nothing like the finished product. As any developer knows, defining these specs typically fails to foresee complications and methods that simply just do not work. More importantly these specs are typically are no created by develops, such as business analysts or project managers. Newer methodologies describe the process as small components developed into a larger picture. These components are loosely coupled so the event of a component not working properly or being ill designed does not break other areas of the project. What these methodologies are trending towards are the team operations implemented at creative power houses like Pixar. Breaking projects in to components is not where this ends. The creative juices of teams must be allowed to flow. Specifically, each team has to be free to operate independently without micro-management of a higher authority. The daily decisions of the team’s development must solely reside on the lead.

If the team is micromanaged, they will not be able to produce a quality product. Every project my team works on is typically the brainchild of a stakeholder, which is to be expected. What is not expected however is that stakeholders, having no creative insight or experience about development are asked to describe requirements and specific details for projects. Shoving a conference room full of members whom have more authority than the development team leads to a crap product. The only thing that will come out of this type of meeting is a bunch of hype in the wrong direction as the stakeholders gasconade about, while intimidating the development team from making assertions. Essentially it stops the creative process, effectively stopping the production of a quality product. In his interview, Ed Catmull (president of Pixar) makes reference to the old saying “It’s better to ask for forgiveness than permission.” This proverb is simply defined by Wiktionary as “The value of acting promptly and making a mistake requiring forgiveness is greater than value of delaying to get permission” and I couldn’t agree more. Unfortunately, my company is in a position worst than the one I just described. Where on a weekly basis, my team lead must describe and defend specific projects and their details to our VP and CEO. During these meetings he is badgered beyond intimidation in a conference room with the other team leads in the company, creating a “make an example of” situation. In this situation, not only is a project pushed to minimalist requirements, but other team leads become intimidated as well to push a project outside of its minimalist scope to produce a quality product. Again this greatly reflects the creative environment for say an art studio. If you bully the artists, they cannot produce.

If you can’t stand the heat, get out of the kitchen. The idea of independent teams, components, focused around the decisions of a lead puts a lot of responsibility on that lead. Unfortunately, this does not always workout. Eventually a team will be found to not be functional or compatible due to the lead in charge. At that time, the lead themselves must be refactored, as in moved or removed. As Ed Catmull describes in his interview below, sometimes it becomes personal and you just have to let them go. One of my biggest complaints about military operations was the lack of privatized competition. You see this frequently through articles addressing the issue of non-competition contracts awarded to companies, essentially creating publicly funded private companies, or essentially a fake market where jobs are given to employees with no intent to ever remove said employee if productivity were to decrease. While giving the team more freedom to operate increases productivity, it will create situations where people will have to be let go or demoted because they do not fit or maintain the position.

As a developer I am able to be analytical of my situation. To me software development, creativity, business models and processes are the same; all intertwined in a mesh as I try to weave the proper structure from it. On a daily basis I see the restriction of micro-management. It has gotten to the point where I cannot even make suggestions for improvement because someone is too afraid to ask the business for the resources to make those changes. Luckily, in the work environment I am anything but timid, so as upper-management is drilling down, I am continue to drill upwards. I just feel bad for the guy stuck in the middle.

This great video was posted with some greate quotes on Scott Berkun's blog:
http://www.scottberkun.com/blog/2010/inside-pixars-leadership/

Trackback URL for this post:

http://www.cleverturtles.com/trackback/402

Post new comment

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.