Consumerism era in software – they don’t make them like they used to

“They don’t make them like they used to”. This phrase is normally applied to physical things: cars, houses, kitchen appliances, men. All of those things (well, perhaps, except for men: that’s a topic all of its own.) fell victims of the ever growing and demanding consumerism of our society. The average ownership expectancy of many items is as long as the corresponding loan or the development cycle of a new model. As soon as we’re done paying for our car, we’re running to the showroom to trade it in for something new. We upgrade our electronics as soon as the new model has enough new gimmicks to appeal to us or as soon as our neighbor gets a bigger model. We change our phones as soon as the 2-year contract runs out. (Admittedly, the recent economic downturn forced some people to change their behavior, but it will certainly come back as things improve once again.) And if we don’t expect to own an item forever, we certainly don’t expect it to last forever and we don’t want to pay for that kind of robust engineering. We gladly trade longevity for features, for the proverbial bells and whistles.

Enter the last frontier — the world of custom software, IT systems and websites. They don’t build them like they used but nobody wants to invest in the old ways of building software.

We, the consultants and the systems analysts, used to pride ourselves on building well-architected, robust, enterprise-ready, scalable, easily maintainable systems that would be able to grow and adjust as the organization grew and its business needs and processes were changing. Those systems were all soft-coded and driven by reference tables and rules. Once the application was completed, business users would take ownership of it. They were able to change keyword values, modify workflow rules and change approvers on the fly — all without involving the developers. Those systems were expensive to build and often took a long time to be tested and deployed. But they also lasted 10 years or more.

Today, the average life expectancy of a system averages about 3 years. This trend is very prevalent in consumer software and is now showing up more and more in the enterprise arena. It takes 3 years for an application to go live, to be used to death and to hit the wall where it can no longer support the growing needs of a business. It then either gets abandoned or, more often, rebuilt and migrated to a different platform.

The overall mentality and approach towards custom IT systems is changing. If I don’t expect a system to last, I don’t want to invest in the whole design and architecture phase of the project. I have a business problem to solve and I want it solved fast and cheap. And if for the next 3 years I need to periodically hire a low-cost contractor to maintain or slightly modify the application, so be it. It still works out cheaper than building a soft-coded rules-driven application.

These systems are expandable and the skills involved in building them are quickly becoming commoditized. No longer are the decision makers willing to hire Michelangelo to spend 4 years to paint the Sistine Chapel. They are more interested in a graffiti artist who can do it overnight. The Renaissance of software development is over. Get used to mass production and consumerism. The question is how do you survive and compete in this era?

The other day I picked up my college Systems Analysis and Design textbook. That book taught us how to be Michelangelos of systems design. Whole sections were devoted to interviewing decision makers and observing their behavior to understand what about the new system is truly important to them. That takes weeks of time. Weeks, which these decision makers don’t want to pay for.

To me, there are 2 rules to be successful under this new thought process:

  1. Accept trade-offs. Not every application you write is going to be a monument to best practices of software design and architecture. It is OK not to modularize everything. It is OK to hardcode some things. If your customer wants to pay for a Chevrolet, it is OK to give them a Chevrolet. Not every solution has to be a Cadillac.
  2. Don’t get attached. Not every application you write is going to be used by 50,000 users world-wide for the next 10 years. Some will be used by 100 people for a couple of years and then get replaced with something else. Accept it, deal with it and move on.

These work for me. How about you?

Jelly Belly: great candy, disappointing tour

“Sweet sensations and a world of delight await you at the Jelly Belly Center, a mouthwatering stop located off the I-94 Milwaukee/Chicago corridor, near the state line. The Center is designed so visitors can take a tour of our warehouse (really, it’s fun!) and taste the magic of “the original gourmet jelly bean,” Jelly Belly. ” That’s a quote off the Jelly Belly website inviting you to take a warehouse tour.

The tour is nothing more than a “train” ride around the perimeter of the warehouse about the size of a Costco. The ride stops every few yards in front of a some big screen that shows you a video covering a portion of the process of making a Jelly Belly or a bit of the company history. And while it is somewhat educational, it is all rather boring. Luckily it is all free.

Outside of the main entrance to the tour, there are signs marking the wait time. The farthest sign marks 1 hour wait time. If I had to wait 1 hour for the tour, I would’ve been extremely disappointed and upset.

So if you happen to be visiting the Jelly Belly factory, don’t waste your time. Skip the tour, skip the waiting and go straight for the factory shop. Sample some candy. Buy some bags of Belly Flops – the irregular candies that didn’t make the cut. And mark the Jelly Belly factory as another place you have visited in your travels.

How was your weekend?

When someone asks you that question, how do you respond?

How was your weekend?

What did you do this weekend?

Almost everyone chooses one of the standard responses: “It was OK”, “It was good” or “Nothing much”.  And then they leave it at that.

Most people though, when they ask about your weekend, they don’t really care about YOUR weekend, per say.  What they really want is to tell you about theirs.

So next time someone asks you about your weekend try to end your reply with “And how about you?”.  You may be surprised as the person opens up with some amazing story about their weekend.  Whether a big gathering of friends, someone’s getting married, a kid getting a driver’s license — they most definitely have a story to tell.

With a little practice you’ll get good at it.  And then try to apply it to other questions, too.

March – First Day of Spring

What a weird weather! Where did all this snow come from? And where has it all gone?

After a week of wonderfully warm weather, when every pore of my body was itching to ride, and which instead I spent running around at work, I woke up on Saturday to two inches of snow — this winter’s last hoorah. Life is not fair.

Sunday. Sunday morning clearly couldn’t decide what to do next. Dump more snow? Send some rain? Just stay gloomy? Or, maybe, just maybe, let the sun come out and warm things up. I could hardly believe my luck when the sun came out and immediately started melting all that white stuff. By 1 PM I was out on the road.

To loosely translated the great Russian poet, Alexander Pushkin, “the cold and the sun — a beautiful day”. It was cold enough to still have to wear some Under Armour and long pants, yet warm enough to unzip my jacket and enjoy the ride. But, holly Batman!, what a wind.

Lessons learned and reconfirmed.

If it is very windy, it is better to start riding against the wind, at least for me. Then you will enjoy the return part of the ride so much better. But if you do that, push yourself to ride “there”, to your turning point, longer. Don’t think that if you’re going for a 2-hour ride, you’ll ride 1 hour there and 1 hour back. It took me 38 minutes to get “there” and only 20 minutes to get back.

And if you happen to start off riding with the wind, don’t get carried away. Keep in mind that the return trip is going to be so much harder.

When there’s an event at Sears Arena, stay the hell away from the area. The normally deserted streets around the arena turn into a zoo filled with cars waiting to turn into the parking lot, hapless area residents who are used to cutting through there and are cut in the mayhem of event goers and blocked streets, and police cruisers calmly watching over it all. A lone bicycle trying to navigate it all causes much confusion and uncertainty for drivers and parking lot attendants.

If you’re like me and practice the stop-and-go policy (stopping or slowing down at a red light, making sure it’s safe to proceed and crossing on red), it may be better to stop completely and wait for the light to turn green, if there’s a police cruiser sitting at the same light. I’m not sure what he would have done were I to cross on red, but I decided that it wasn’t worth finding out.

It seems that Hoffman Estates has installed some awfully sensitive sensors on traffic lights at some obscure streets. On these little streets with little traffic, when in a car, I end up waiting quite a bit for the light to turn green. On a bicycle, however, the lights were turning green almost as soon as I’d cross the white line. Not sure what was going on, but I appreciated not having to stop for too long.

And lastly, a note to self, get some new tape for the handlebar. You look bad with loose tape flapping in the wind.

IBM Lotus Connections 2.5 – Book Review

The wonderful folks at Pearson Education sent me a copy of a new book from IBM Press IBM Lotus Connections 2.5.  The book was written by a team of some very talented people at IBM, including Tim Speed.  Several years ago I had an opportunity to work with Tim Speed on a Domino 6 upgrade project.  Everything I know about executing a proper Domino upgrade project, measuring a server’s performance and gauging hardware resources I learned from Tim Speed.  So having Tim’s name on the list of authors set certain expectations for me.  And I was not disappointed.  The book arrived at a perfect time: we at PSC were in the process of deploying Connections 2.5 internally and I was able to use the book right away learning what was possible and how to use some of the new features.

Let me begin by saying that this book is not for the faint of heart — it is very technical.  Other than some opening sections about Social Networking, the book gets real technical real quick.  Lotus Connections is arguably the best product to come out of Lotus in a long time.  But for us, the long time Lotus experts, Connections is very different from other Lotus products that we may be familiar and comfortable with.  The book got me to appreciate the complexity of Connections, the architecture and the design behind it.

The book does a good job explaining what is involved in deploying Lotus Connections in an organization and how to install it.  The book covers the options for connecting it to different LDAP directories, using different databases and platforms.  The different scripts that need to be run as a part of installation and configuration and the various “behind the scenes” configuration variables make this book invaluable for anyone who has to configure and administer Lotus Connections.

For a consultant specializing in advising organizations on best practices of planning and deploying an enterprise social networking platform, the book offers some very valuable tidbits.   And the section on using Lotus Connections covers Day-In-The-Life scenarios, which would help any Lotus Connections evangelist help their coworkers learn how to make Enterprise Social Software work for them.

Of course, the book is not without its faults, although most of them are not with its content but rather with the organization of the book itself.

First of all, I found that the Index of the book was a disaster.  The multiple levels of indentation, the run-on indents that span multiple columns and pages, the mixing of proper and lower case words — all of it made the Index very confusing and nearly useless.

The organization of the book seemed done rather haphazardly.  It is a reference book written by techies for techies: if you want to do THIS, here’s a section that explains how to do it.  But the poorly organized Index makes it fail as a good Reference.  And if you’re looking for a book to guide you through the steps of installing, configuring and setting up Lotus Connections, this book is probably not going to work for you.

And on the content side, the book made no mention of SharePoint.  It would’ve been good to see a section on integrating Lotus Connections with SharePoint.  Instead, the authors decided to include a section on integrating with Confluence – an odd choice.

In conclusion, this book was written by a team of very talented and knowledgeable individuals.  They compiled good reference material for everyone working with Lotus Connections: administrators installing and managing Connections, developers extending Connections through APIs and widgets, evangelists and consultants supporting social software deployments in organizations.   The book, however, falls short of being a great reference book based on its organization and index.  It may be better in an online version, where it is fully searchable.  A free online edition is available for 45 days through the Safari Books Subscription service.