October 19, 2006
@ 06:06 PM

I got an email over the weekend from a friend of mine who's leaving Microsoft. I wasn't surprised to see him leave Microsoft, given that the every project he's worked on at Microsoft has either been cancelled mid-project or end of lifed in that release. After being at Microsoft for five years, I've now begun to see the signs that a project is likely to crash and burn early on. Below is a top five list of signs your software project is in trouble I compiled as part of my 'parting career advice' to my intern.

  1. Schedule Chicken: This is typically a sign that the project's schedules are unrealistic. A project with unrealistic schedule is either an indication of poor communication between layers in the product team or even worse, bad management that punishes the messenger when there is bad news (e.g. poor initial estimation of project length). The main problem with schedule chicken is that you can be "date driven" or you can be "quality driven", you can't be both.

  2. Scope Creep: Requirements changing as a software project progresses are natural. They can change due to feedback from the customer after they get to try out a prototype, due to changes in the competitive landscape or because the original requirements had hidden conditions which were not discovered until after implementation. When things get bad is when the goals of a project are changed or increased significantly without a corresponding significant change to the expected timeframe for delivery. WinFS merging with Object Spaces is my canonical example of scope creep at Microsoft.

  3. Underresourced: You don't bring a knife to a gun fight. So you shouldn't expect that 3 developers and $50,000 will be able to compete with the Googles and Microsofts of the world. Similarly, if you work at a big company and you have a handful of folks working on a product where competitors have large teams or entire companies working on the same problem space, you're probably in over your head.  

  4. Second System Syndrome: Once you ship a software application, it instantly becomes legacy code. To a developer this means there is something newer and sexier that can solve the same problem in a more elegant way. Eventually a project is started which is intended to replace the existing product which customers are finding useful. This is often a double whammy. The new project is hamstrung out of the gate by having to meet customer expectations on backwards compatibility, performance and new features in comparison to the old product. This burden is often a crushing weight on the second system which eventually collapses under the strain. In addition, the old project is often abandoned or at best put in "maintenance mode" with only a skeleton crew working on it even though it pays the bills.  

  5. No Entrance Strategy: There is a lot of talk in the software industry of exit strategies but a lot of the time software products do not have an entrance strategy. How do you get people to use the application? How do you get the first 100,000 or 1 million users? Sometimes in big companies, there is also the corporate strategy tax to consider when deciding whether a product has an entrance strategy or not. When I was on the XML team at Microsoft, there were folks on the team working on a project they called X#. The project was basically C# with extensions to handle relational and XML data access as operations native to the programming language. I attended an internal presentation about the project and when asked what the deliverable from the project would be, the team members actually showed a Photoshoped image of a Microsoft Visual C# box which read Microsoft Visual X#. Of course, this was at the time Microsoft was taking heat for introducing both C# & Visual Basic.NET at the same time. It was unlikely that Microsoft would ship a third similar language anytime soon. The project was killed, resurrected  and morphed a couple of times. The story eventually ended happily with a lot of the innovations in the language eventually showing up as .NET Language Integrated Query (LINQ) (aka C# 3.0). That was one instance with a happy ending, a counter example is the new file system for Windows being cancelled a few years after it was announced to be shipping separately from the operating system. A file system that doesn't ship with the operating system doesn't sound like a product with an entrance strategy to me. How about you?


 

Categories: Life in the B0rg Cube
Tracked by:
/blogs/itizpartners/archive/2006/10/19/Links-for-2006_2D00_10_2D00_19-_5B00_del.... [Pingback]
http://lair.fierydragon.org/2006/10/straight-out-of-dilbert/ [Pingback]
http://www.google.com/search?q=lcnsrsyk [Pingback]
http://www.google.com/search?q=ndyoeghd [Pingback]
http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=a76eab63-70f0-48b4-8b75-66... [Pingback]
http://viezbaq.net/bedroom/index.html [Pingback]
http://silauma.info/vermont/sitemap1.html [Pingback]
http://weujmru.net/activities/sitemap1.html [Pingback]
http://weujmru.net/groups/sitemap1.html [Pingback]
http://vy3i7wz.net/bedroom/index.html [Pingback]
http://ptmy0sx.net/connecticut/sitemap1.html [Pingback]
http://khxbafb.net/sitemap1.html [Pingback]
http://kiva.startlogic.com/sitemap1.html [Pingback]
http://kivablog.com/sitemap1.html [Pingback]
http://henres.site.io [Pingback]
http://bombaylogger.web.aplus.net/01/index.html [Pingback]
http://ke9dew4.net/lessons/sitemap1.html [Pingback]
http://lf0s3on.net/local_news/sitemap1.html [Pingback]
http://tulanka.readyhosting.com/online/sitemap1.php [Pingback]
http://node22.myserverhosts.com/~boosters/lottery/sitemap1.html [Pingback]
http://host239.hostmonster.com/~blogford/sitemap1.html [Pingback]
http://host239.hostmonster.com/~blogford/sitemap4.html [Pingback]
http://gator413.hostgator.com/~digital/gift/sitemap1.html [Pingback]
http://gator413.hostgator.com/~digital/music/sitemap1.html [Pingback]
http://fwve5e4.net/blogger/sitemap1.php [Pingback]
http://fwve5e4.net/cnn/sitemap1.php [Pingback]
http://ask-a-blog.com/sitemap1.html [Pingback]
http://gh9kwkn.net/espn/sitemap1.php [Pingback]
http://kmnjey0.net/toys/sitemap1.html [Pingback]
http://pnge0ap.net/sitemap1.html [Pingback]
http://d579737.u108.floridaserver.com/sitemap1.html [Pingback]
http://gator442.hostgator.com/~hockteam/ipod/sitemap1.html [Pingback]
http://gator442.hostgator.com/~hockteam/alaska/sitemap1.html [Pingback]

Thursday, 19 October 2006 20:44:24 (GMT Daylight Time, UTC+01:00)
Great post, thank you.
David
Thursday, 19 October 2006 22:53:56 (GMT Daylight Time, UTC+01:00)
I strongly disagree with #3, especially with the productivity gains that modern dev tools are bringing. The company I am currently with, Articulate (http://www.articulate.com) has a product that competes with Macromedia/Adobe's Breeze Presenter and consistantly beats it for awards with an extremely small dev team and a budget that is easily dwarfed by that of Adobe. With Articulate listed as the #15th fastest growing company on the Deloitte Fast 500 this year with no sign of slowing down, the right brains in the right place are better than all the resources in the world. Innovation has nothing to do with the number of developers on your team or the amount of money you blow on the project.
Friday, 20 October 2006 00:36:17 (GMT Daylight Time, UTC+01:00)
Nice list of important indicators of potential project failure. I have blogged about this article here:

http://projectfailures.com/blog/2006/10/19/five-signs-of-a-doomed-project.html

Michael Krigsman
http://projectfailures.com

Friday, 20 October 2006 02:54:57 (GMT Daylight Time, UTC+01:00)
... a bit depressing reading from the office late night working for the sake of one of those "magic" dates. The question then becomes whether a person gives a best effort for the sake of personal pride (but foolishness?) or walks away letting people down in the process. How does that work at Microsoft? Die for the sake of failure or push for the impossible?
Saturday, 21 October 2006 23:58:48 (GMT Daylight Time, UTC+01:00)
On schedule chicken I half agree. Once people start lying about dates (I have lost track of the number of times I saw this in my first round at Microsoft) you know you are doomed. But it is quite possible to be date driven and quality driven simultaneously so long as you accept that if a given feature set can't meet a specified date/quality combination then you have to be willing (and able) to drop features.

On underresourced I strongly disagree. Just because your competitors have lots of engineers on a problem tells you squat. The issue isn't the size of the team you are competing with. The issue is - how effective is that competitor's team? Picking on my BEA experience there were numerous times that BEA went up against teams 10x their size and came out with the cash because those competitor's teams were disfunctional to the extreme.

Size may matter but only up to a fairly small point, after that it comes down to coherence of vision and quality of execution and size tends to be the enemy of both.

I'd also echo Mr. Ezell's points. The power of modern development tools is really inspiring and only getting better. Small teams now have capabilities that the big boys could only have dreamed of even a few years ago.
Thursday, 02 November 2006 19:40:43 (GMT Standard Time, UTC+00:00)
I strongly disagree with #3, especially with the productivity gains that modern dev tools are bringing. The company I am currently with, Articulate (http://www.articulate.com) has a product that competes with Macromedia/Adobe's Breeze Presenter and consistantly beats it for awards with an extremely small dev team and a budget that is easily dwarfed by that of Adobe. With Articulate listed as the #15th fastest growing company on the Deloitte Fast 500 this year with no sign of slowing down, the right brains in the right place are better than all the resources in the world. Innovation has nothing to do with the number of developers on your team or the amount of money you blow on the project.
Wednesday, 28 March 2007 09:19:54 (GMT Daylight Time, UTC+01:00)
> "A file system that doesn't ship with the operating system doesn't sound like a product with an entrance strategy to me. How about you?"

It depends on how your operating system is designed... ;-) (Linux has plenty of choice of file systems.) (This doesn't negate your excellent point about entrance strategy, which I would agree with)

Matthew.
Matthew
Comments are closed.