These are the words I least want to hear, especially when it comes to my job. I heard them today from one of my bosses because I’ve been writing code for one of his projects. It has the usual immovable launch date and changing requirements. The latter is why I was added to the project. The client decided, in all their wisdom, that an application we were building for them needed to be bilingual (displaying English or Spanish depending on the viewer). This is after changing the platform from Java on Unix to ASP.NET & C# on Windows. All this, one month before the scheduled launch.
Part of me is amused by this situation because I’ve been telling this boss for months that we don’t have enough developers. Because my title is “senior systems analyst”, writing code isn’t supposed to be my primary job. This same boss has said in the past that he didn’t want me to write code. So it’s rather ironic (and annoying) that I’m who he asks to write code when it looks like his project will miss its deadline.
Needing heroism on most of your projects means something is seriously wrong with the process. It’s particularly discouraging when your employer received a CMMI Level 2 certification within the past six months. That level is supposed to mean heroism is in the past. In reality, CMMI Level 2 means a ton of documentation (and a ton of time spent writing it). It doesn’t fix inaccurate budgets estimates or timelines, clients that keep changing their minds about what they want or a lack of developers to actually build the product.
This was the “firestarter” for my decision to leave my previous job and go independent. Being a hero is o.k. once in a while I think, and can even lead to higher job satisfaction for some. But being asked to do it time and time again, month after month, when your employer doesn’t listen to your original suggestions in the first place causes extreme unrest and fatigue in your team.
It also doesn’t help when your boss is a jerk about it, and completely rude and moronic about everything.
I know nothing about CMM, but I always laughed about ISO certification and worked at a semiconductor system manufacturing plant that was SO proud to get ISO 9001. I thought it was cool until I learned later that you didn’t actually have to excel at what you did – all you had to do is do what you SAID you were going to do. So if you set expectations low enough, and met them, it didn’t matter as you could still put 9001 next to your company name. Ludicrous.
Being a hero at least once in awhile seems unavoidable. Having to be a hero all the time is definitely what wears you down.
I’ve always thought going independent was a very brave step, especially if you’ve got a family to support. The furthest I’ve gone toward that idea was researching what it would cost me (to try and figure out a break-even point).
As far as standards go, CMMI is different from ISO in that you don’t get to set your own expectations. If you’re going for a particular level, you only control the specifics of how you meet the expectation. My main gripe with my employer is that they spent all this time doing Word and Excel templates instead of buying software to help us with CMMI compliance. I doubt they saved any money, and they definitely didn’t save any time.