Friday, March 11, 2011

A sad yet preventable story of software failure

I read an article today reporting that Nokia had announced that it was abandoning its development of its own Smartphone platforms and APIs. By itself, that’s not so sad. It’s smart to know when to cut your losses, right? The reason this story makes me sad, is that it was entirely preventable.
According to reports from insider Mark Wilcox, “there was no proper requirement spec for this new framework.” Aggghhhh! This makes me crazy every time I see it, and I see it a lot.
Companies think they can save time, or they don’t want to be “locked in” or say, “We’ll just tell the developers what to build.” In 20+ years of personal experience, I’ve never seen this work well. In the very best cases, tons of time is actually wasted by long meetings, miscommunications, and do-overs. Usually the end result is not really what the project sponsor wanted, but they settle. In the very worst cases, like this one, companies spend 2000+ man-years (yes, you read that right) developing something no one wants! In this case, they had two competing teams (I’ll have to address that in another post – just too much to say on that one!) and according to Wilcox "both teams had built the wrong thing.” Both teams! (This post may be my personal record in use of exclamation points.)
Another comment he makes is that “the engineers were incompetent. Now by that I don't mean that they're incompetent engineers – far from it. They were incompetent at designing APIs for 3rd party developers (a very specialist engineering skill) and they were incompetent at designing UIs (which most engineers are, myself included). Unfortunately they were doing both.” These could have been very bright engineers, but as Clint Eastwood said in one of my favorite Dirty Harry Movies, “A man’s got to know his limitations.” This also happens frequently and is an error made both by engineers (ego, desire to learn, fearing for their job security) and management (don’t want to hire specialists, over estimating their engineers). Again, in the best cases I’ve seen, the engineers can muddle thru and get something passable. On the other hand, it can be a train wreck as in this case.
The aspect that makes me the most upset about this story is the effect on all those engineers. They worked hard, I’m sure long hours at times, to develop basically, nothing. We engineers develop software and products because we take pride in our work and want to build things that people love to use and these engineers spent years not doing that. I can’t even imagine how unfulfilling that was.

Tuesday, February 22, 2011

Watson on Jeopardy

Did you see Watson, the IBM computer compete on Jeopardy last week. I did, in fact I was really looking forward to it. Obviously the geek in me was awed by the computing power.

Watson clearly dominated. In the three day match he beat the two human competitors by a margin of roughly 3 to 1. Obviously Watson got many answers right, but what I found interesting was what he got wrong. When he was wrong, he was VERY wrong! I’m sure we’ve all heard about the Final Jeopardy answer in the second match. All those people from Toronto never knew they were Americans! But some other more interesting mistakes where when he didn’t even give the right kind of reply.

For example, on the question: “In May 2010 5 Paintings worth $125 Million by Braque, Matisse & 3 others left Paris’ museum of this art period?” The answer was Modern Art, Watson said Picasso, obviously not an art period.

The use for this kind of computing power boggles my mind. We just have to remember to sanity check his answers!

Tuesday, February 15, 2011

Cloud Computing – Connecting People

I know of three different companies right now that are developing some sort of distributed applications, running on multiple computers and platforms. In many aspects these systems are wildly different. They’re being developed for consumers and businesses world wide. The platforms may be PC, Linux, proprietary hardware and/or mobile devices. The applications themselves, the complexity and the architectures, vary wildly, but the most interesting thing is the commonality.

All of these applications are about connecting people. Whether it’s a consumer focused social application or a global business application or a new distribution channel for an industry where distribution has been a huge issue, all three of these applications really are flatting the world and leveling the playing field.

It’s fascinating and gratifying to be playing a role in changing the way we interact and do business. It makes me wonder what I’ll be writing about changing ten years from now!

Wednesday, February 2, 2011

Software Process Improvement Consulting

In 2005, I joined Advanced Decisions to establish a Software Process Improvement practice within the company. Well, long story short, I got busy with our core business of software and hardware product development and we never formally developed that practice. The interesting thing is that we seem to provide consulting on Software Process and SDLC as part of many of our engagements anyway.

The most obvious example is our work with start-ups. We typically are engaged to develop their product, but often wind up developing their process, their team, and even on occasion aspects of their business. With our larger clients we develop good quality documentation that’s often used as an example of what to develop in the future. Even with our prospects, we ask them enough questions about how they are developing their products to get them thinking.

It just goes to show, the outcome of a goal or desire may not always look like you expect.

Tuesday, November 23, 2010

Getting kids interested in Software Development

One of the things I worry about is the lack of talented young people going into software development. I know when I’ve been looking for junior engineers, it’s been almost impossible to find them, so I’m always on the lookout for ways I can help promote Software Development, Engineering or other STEM careers among young people. I think it’s critically important to the future success of our country.


That’s why I was so intrigued when I read about Kodu Game Lab, then I remembered something about this in Randy Pausch’s Last Lecture (if you’re one of the very few people that have not seen this – it is a MUST SEE. Yes, it’s long, but years later, just thinking about it still brings tears to my eyes) - a tool, or game, or learning environment invented at Carnegie Mellon called Alice. Two seconds on Google, revealed that there were quite a few of these tools, (or games, or environments, or whatever you call them)


I think these tools (or games, or environments, or whatever you call them) are brilliant ideas, but I don’t hear about them being used too much. Has anyone out there had any experience or first hand knowledge with any of these?

Thursday, November 18, 2010

When you’re done with product development

….you’re not really done. Let me explain what I mean.


We meet with lots of people and companies that would like us to develop products for and with them. They are sometimes under the impression that when we’re done creating the product, they won’t need any technical, engineering, or software development. After all, that phase is done, right? Well, yes, but the next phase is just beginning, and faltering here can be deadly to your product’s success.


Even if your product works perfectly, customers are going to have questions. Some sort of support will be needed. Not planning for this can be fatal to your product’s success. Often times, customers will be highly engaged and wanting more features and add-ons, creating opportunities and the need for enhancements. Ideally, more customers will want your product – maybe from an adjacent market or with needs not exactly targeted by your product, perhaps creating a need for other products.


All of these scenarios require additional support and/or continued development. Hopefully your product will be so successful, you’ll never be done!

Friday, November 5, 2010

40 years of Innovation at PARC

As many of you know, Advanced Decisions turned 40 this year, but this post is not about us. I recently came across this article about Xerox’s Palo Alto Research Center (PARC), which also turned 40 this year. I don’t know if you realize, but many of the things we’re calling innovative in 2010 found their roots decades ago. I think many of us have heard the stories about Xerox’s initial Graphical User Interface that later became the Mac interface and is the basis of how we use computers today (anyone remember using DOS? Wow – that was a different experience!). What I did not know was that in the 80’s they invented the PARCPad – a precursor to the iPad, and the PARCTab – the first PDA.


Another area they innovated in was culture. Work and play mixed, beanbag chairs were scattered throughout and shoes were optional. Sounds like the roots of the 90’s dotcom startup culture to me.


Having worked in a pure research environment early in my career, I know first hand that the most exciting aspect of an environment like this is the minds that surround you - not only the most technically elite, but wildly creative as well. The diversity is amazing, lunchtime conversations are completely engrossing, and in every lab, something is going on that could change the world. A great book about the early years at PARC is Dealers of Lightning. Full disclosure - it gets mixed reviews for technical and historical accuracy, but I found it extremely inspiring. If you have a budding engineer, scientist or inventor in your life, this might make a great holiday gift.