By Lou Washington

In her excellent article, “The new rules for enterprise apps” (Computerworld, 23 January 2012) Minda Zetlin sets forth three specific things software developers need to keep in mind when designing and writing new enterprise level application software. She makes a compelling case and developers would do well to follow her advice when building apps for this market.

I won’t go into a lot of detail reiterating what she has quite eloquently stated in her piece, but to briefly summarize, she is offering the following three rules.

  • Make it appealing – The more appealing the easier it is to learn. This impacts implementation and training expenses and certainly impacts user acceptance.
  • Make it transparent – Transparency in this case means the app will deliver information that is current, correct and easily understood. So many apps seem to involve cryptic formats and symbology in lieu of just laying out the data in a recognizable form.
  • Update it often – The world is changing at an accelerating rate. Even users who hate periodic updates hate apps that are no longer relevant even more so. Keep the app functional within the platform and within the domain in which it functions.

I’m sure everyone would agree that this is wise advice indeed. However, as a software guy of more than a few years experience, I would suggest we could expand the list a bit.

Here are my rules to be added to the list . . . or perhaps ignored if you feel so disposed.

  • Include some marketing input early in the design/pre-development phase. Marketing folks are totally different from engineering types and we typically don’t know squat about coding. But, we do know one or two things about what people want. We can help you decide what’s really important to your end user and what’s just a nifty technical device.
  • Exploit current of existing architecture in the User Experience. Microsoft has a tremendous advantage with their products because they all tend to have the same look and feel. If you know Word, you’ll have an easier time learning Excel or Project. This holds true for any learning requirement. Anything you can reuse will make the whole learning process less onerous. It will get your app functioning faster and at less cost than redesigning everything from the ground up.
  • Build for the future. By this, I mean build your app in a way that anticipates change. Something as simple as expanding the size of an alpha/numeric field in a widely deployed legacy app can cost millions of dollars. Remember how your mom would buy big clothes for you to grow into? That works with software too.
  • Make it customizable without touching the code. Some platforms lend themselves to this better than others obviously. Think in terms of mass customization. Your end users will likely have widely varying needs and usage requirements. Build your app so Bob doesn’t have to learn Betty’s job in order to get to the functionality and data required for his job. Also, build it so when Bob and Betty get promoted their app can be expanded to include functionality in line with their new positions.
  • Include end user input whenever possible. You would be surprised how invested in success people will feel when they have been consulted about the app you are building. Aside from building a better application, you will help assure the end user community embraces the new app and that will make you look very smart indeed!

Finally I will add one last recommended rule. Read Dilbert regularly, There is more wisdom to be gained in any three panels of that cartoon then can be found at any three day Silicon Valley developer conference.

Happy Coding!