Tuesday, April 30, 2013

Are we under too much stress?

Five people in the Software Group have recently (in the last three months) had to get repairs for damaged teeth. I am one of those people. We've had to get crowns because a tooth broke or cracked. That's five people in a group of fifteen. Does that seem like a lot to you? It does to me. And I think I know the reason.

We are all under a lot of stress. We're under pressure to not only get our work done but to get our work done quickly. We not only have to get our work done quickly but we have to think ahead and plan the work we do so that we don't make things harder for ourselves or others in the future. That means the whole time you are designing your software, you have to be thinking how it might be used in the future. You have to think about how the hardware might change and you have to think about what features the Marketing folks might want to add.

And all the time, we are constantly being reminded of the schedule. We plan our work over a period of months and then set the schedule. The actual writing of code starts and we will work on it for another period of months. But just before we start the coding, we publish a schedule and no matter what happens after that, you get sick, your car breaks down, an asteroid hits the Earth, Jesus returns and takes us to Heaven, all that the directors of the company remember is that first schedule that was shown.

We develop our software using Agile Software Development. I'd like to write more about this methodology in the future but I only have time to write the short description here. Agile Development is meant to help you make schedules that are flexible and to increase the communication among the programmers of the team. It is a really good system but I don't think its ideas have sunk into the people that run companies (not just ours). In previous times, schedules were set and that was it. People treated software (and all types of design, really) like you were stamping out parts that have been made for years. Times have changed and what we produce has changed. When we run into things like illness or problems keeping us from work, Agile handles those well. Every month (or even more often in some cases) you rearrange your schedule. The important thing is to know what you are working on, that everyone else knows what you are working on and what parts depend on other parts.

But old ideas are hard to change. We are all under a lot of pressure and we've been clenching our teeth as we try to deliver good products on time. I go in tomorrow morning to get the permanent crown for my tooth that broke. I hope it lasts. Maybe I should get a mouth guard. Who would have thought that writing software could be as tough as playing hockey?

1 comment:

Flamin-Cat said...

At least you aren't going to go back to the dentist for a little while until something else goes wrong in that mouth.

Love
Flaimin-Cat