Lost in LoC


Getting Software Development Right.

Posted in Corporate Philosophy,Development by Ryan Baldwin on February 28, 2008
Tags: , ,

I’ve been doing a lot of thinking about “computers” and this whole “Internet” thingie, and I think it’s safe to say that software is The Next Big Thing, and has been for the past 20 years. When you consider all the software that exists in the world, and how all this software allows us to do the things that we do, it’s pretty mind boggling how much code has been written. I’m often amazed at cell phone technology and all the software that’s been written to support a simple phone call. The software on the phone, the software to support the various infrastructure, for routing calls, for determining GPS positioning, for billing, roaming, text messaging, etc. It’s enormous! I recently read that a new, fully equipped mobile phone can have an excess of over 5 million lines of code; half the R&D cost of a new car is invested in software. Heck, I have to surf the internet whenever I wear a suit so I can remember how to tie a tie. Software, evidently, is here to stay.

There are billions, if not trillions of lines of code that exists in the world today. Trillions of lines of code that have generated billions upon billions of dollars in revenue. Trillions of lines of code that affect almost every single thing that we do. And upon these trillions of lines of code, billions miss the point of what software is supposed to do – which is all the nitty gritty stuff that we hate to do. In a nutshell, software’s purpose is to automate, not digitize.

Perhaps I’m jumping to conclusions, but I find that a lot of software out there is focused too much on the whiz-bang trap, and not enough on making my life easier, more productive and better. A good example is a product I recently worked on. The product in question was a Point of Sales system which did a lot of great things. When it came to data mining, the tracking of key metrix, and real-time cross-continental financial reporting the system was second to none. It had fantastic features that cut away all the chaff and showed you exactly how well your business was doing up to the second. However, when it came to managing some key components of the business the software was not only unhelpful, it was down right painful to use. But it wasn’t painful to use because the user interface was complicated, it was painful to use because it didn’t actually help you accomplish those key components. The difficult manual process that existed before purchasing the system (which was performed on paper) was still a painful manual process in the system.  The only difference was that instead of using a paper and pencile, the user would use a keyboard and a monitor (and a lot of mouse, but that’s another issue all together). These core components were simply digitized and not automated.

Now, don’t get me wrong, there were parts of the system that were automated (the reporting, metrix tracking, etc.) however they were the wrong parts. The parts that were automated were all secondary features that were the byproduct of using the primary features of the system (in which very little automation existed); or they were automated processes that required so much manual configuration up front that it was barely worth setting up. In other words, the system did a poor job of making the primary, day to day business processes and administrative activities easier because it failed to automate those processes and activities.

And this, I believe, is one of the key differences between poor software that makes you want to shutdown your computer and software that makes you want to fork over a thousand dollars! These little features that automate key components have huge impact. The reason why I use Google Mail isn’t because of the Gigabytes of available space (I don’t even know how much disk space I have with Google anymore), it’s the feature that orders my email threads into conversations instead of a dumb sort-by-date-received. I like using iTunes because all I do is click the song’s “purchase” button and 30 seconds later I have it on my hard drive and it’s playing on my computer speakers. I love using my iPod because when I want to get new music onto it I just plug it into my computer. Done.

These are all examples of products that have oodles of competition but they leave their competition in the dust. Why? Because the designers identified the painful processes that traditionally exist in these applications and they automated those processes so that the users don’t have to worry about them anymore.

Not only do I enjoy using software that automagically removes the painful parts of my life, I also enjoy creating the automagic software – and that’s exactly what I’m doing at VendAsta right now. We’ve identified some pain points in the business processes of our client and we’re automating the solution so they never have to worry about it ever again. Intrigued? Then send us a resume – we could use your creative input.

One Response to 'Getting Software Development Right.'

Subscribe to comments with RSS or TrackBack to 'Getting Software Development Right.'.


  1. [...] has seemed to gone through the roof. Ryan, a software developer on the VendAsta team wrote a great post recently about automating workflow, not just digitizing it. The web 2.0 applications I am seeing [...]


Leave a Reply