Sponsored Link •
What role does integrity really play in software development?
Here's a great story of how integrity not only saved the day but also real lives: When Design is a Matter of Life or Death.
In software development, it's way too easy to get out of taking responsibility. Heck, how many of us are guilty of caving in to clients/bosses when they set ridiculous schedules that we know won't work? And then we go and blame the failure on crappy management. Sure, the management has/should take on a lot of blame for setting up such a dilemma for the workers but we developers certainly can't be blameless, either.
Heck, as a technical leader/manager (CTO, etc.), it's directly my *job* to fight those fights with the business folks. Alas, it's amazing to me when it's the optimism of the technical people end up feeding the insane schedules desired by the business folks. For example, it's a cliche in the industry to take the best estimates for the schedule and then triple that to get the "real" time. Why? Because idealized estimates never take into account all of the crap that comes up in reality: meetings, vacations, sick days, downed networks, meetings, updating the schedule, interviewing potential employees, etc. And they certainly don't take into account the seemingly constant "reprioritizations" of all of the work.
Now, various buzzword "methodologies" are finally giving this reality more of voice. For example, making major reprioritzations "only" happen at "iteration" boundaries. I find that particularly helpful for developers who have a long ramp-up time to get into the flow. Alas, business demands are driving more and more development into the world of the "perpetual beta" -- just launch it and they will come and we will stay in perpetual crunch mode.
So, how do you maintain your integrity and the integrity of your projects?
|John D. Mitchell is the Chief Architect of Krugle -- a search engine for developers. Along with developing and rescuing distributed enterprise systems, John advises investors and executives on technology and high-tech companies. Over the past 15 years, he has been the CTO of ElasticMedia, HealthLogic.com, jGuru and the MageLang Institute. John co-authored "Making Sense of Java: A Guide for Managers and the Rest of Us." He was the founder and contributing editor of the "Tips & Tricks" column at JavaWorld. John writes extensively on complex systems, development processes, computer languages and protocols, parsing and translating, and technological business risk management.|