Wednesday, December 13, 2006

Crunch Time

In software development, there can be a lot of crunch time, i.e. late nights spent working on code and getting the software working.

Having crunch time at times is necessary in work at times, but in most cases 80%, it is unnecessary. It can be a sign of dedication and passion but I think in most times it is a sign of bad time management.

To take an analogy of from school. Most of the students that are working furiously the night before a deadline are not motivated because they are passionate and dedicated. It's because they left it till the last minute to do their assignments! 80% of these students are doing it because they didn't pay attention during tutorials or lectures, didn't do their homework, didn't set sub goals and smaller milestones.

A lot of last minute crunch time is because people took their time in preproduction and planning, working out their "perfect plan", "gathering requirements". A lot of this planning is sometimes indecision or vacillation or delayed because of foot-dragging on other people's part. Why? Because there's "plenty of time".

This is not to say that you shouldn't do crunch time. To continue with the student analogy. A good student always does his homework and stays on the ball. However during exam time, there is also a time to brush up on and stay fresh on topics and to forgo some TV.

Crunch time could be maybe 1-2 days before launch to polish things up. In the end, it's about leadership. Troops morale fall. As Sun Tzu said in "Art of War", a long prolonged battle is a sign of bad leadership.

To relate to another fact, 300,000 surgical deaths happen yearly in the United States are actually preventable! A lot of crunch time is actually preventable.


The thing about life is that it must be lived.
Game design is about living life. A good game designer needs to spend time learning all about life to soak in life all around him. Games are an extension to the experience of living life, it distils certain aspects of excitement, intrigue, puzzle solving, reward experience into tight feedback loops. Like movies, it is "life with the boring bits edited out."
A good game designer learns about life, he watches movies, he wonders in awe of the sky and God's beautiful creation, the design of plants, animals, the patterns of nature. He learns about human nature and the beauty and also the fragility of the human heart and soul. Like an artist, or writer, he is a student of life and life must be lived to be experienced.

No comments: