Sunday, April 5, 2009

Application Design: "In the long run, we're all dead"

A recent post over at edbrill.com got me thinking about design philosophy. 'Jason' was talking about his role in migrating existing Notes apps onto the MS framework and declared...

" ... most Notes apps start out poorly designed, have tons of little bells and whistles added over time and as it becomes unscalable developers bandaid the whole thing together with scheduled agents and buttons and all sorts of nonsense. It's hard to just migrate that mound of crap overnight. If a company does it right, they'll spend the time they should have spent originally with the Notes app project and put together a sound design and data model...."

Now there's all kinds of emotive language tied up in his post but lets skip over that for the moment. Of the millions of Notes applications in use today there will be a high percentage which either were built decades ago using Notes R1 / R2 / R3 / R4 or R5 development tools and reflect the technical limits of those tools, or were built to serve a particular need and were so successful in that role that they 'grew like topsy' to fulfil other roles.

Jason's beef seems to be that those Domino applications don't map to his definition of a "sound design and data model". I'd say Jason is falling into the trap of taking a subjective set of criteria (in this case, the capability of the MS toolset) and using it to judge the business value of the existing application. It's a classic IT beartrap - seeking to define the success of a business application using non-business criteria.

When designing applications it's certainly important to pay attention to accuracy of data modelling but its also important to ensure that the application is affordable and available. Unless a business is already far advanced with their implementation of a Business Maturity Model then it's highly likely that their data models and workflows will not fit neatly into Jason's definition of a sound design and data model. Sure, you can take a long term approach and stall the database development until the business gets all of its Ducks in a Row, but in the long run, we're all dead. Incomplete design models and ever-changing business specifications are a fact of life. The Power of Notes is that it has always been capable of helping a business 'where the Rubber meets the Road' and providing good IT applications for the Here and Now. Perhaps Jason should just upgrade his toolset to Domino Designer 8.5 and see if his problems are still insurmountable.
.

6 comments:

Henning Heinz said...

Well no matter what Jason thinks. You normally hire him if you already made a decision and then get the consultant that can do the job. So if you bash Jason you also have to bash the "stupid" customer that does not seem to realize what he currently has.
I stay with my opinion that IBM would benefit from improving the classic Notes components. That means updated classic (design) elements, better view client rendering, better action bars, better reporting and export capabilities. Imagine that a simple version upgrade could bring in the eye candy and functionality that you now only have with a complete redevelopment (besides mail) in XPages / Composite Apps or if you move to another platform. I see so many great legacy Notes applications that do handle business processes well but have the look and feel from Windows 95. Of course if you have a constant investment in Notes and Domino the current strategy works and is very powerful.

Ed said...

The "problem" seems to be that the Notes applications are too good at what they do. Ideally, what should be a proof of concept turns into a critical application because it does what it was intended to do very, very well. It also tends to do this with little or no budget or other formal resources. The time and money spent migrating these applications to another platform is seldom offered to update the original Notes application. I think that IBM needs to press the business case for leveraging the existing Notes investment instead of replacing it.

Ed Brill said...

I've deleted "Jason"'s comment as his given e-mail address was "noemail@sorry.com". So I'm not sure if it was worth engaging him or not...

Graham Dodge said...

'Jason' might not have been worth the engagement at a personal level but there is an interesting point in his ramblings. When an organization dives head first into a new technology and makes some mistakes along the way it is easy for archeologists to tut-tut over technical issues and miss out that AT THE TIME the database in question may well have saved the company from bankruptcy. In the present case Jason is only looking at his personal KPI of migrating the apps to MS technologies without considering the big picture.
.

Richard Moy said...

Henning,

I totally agree with you on the upgrade of the Notes classic components. This should have been done with the Notes Classic client long time ago. I have asked about it over and over again and I have given up. The Eclipse client is nice by too big and cumbersome. With the Eclipse client you still have the same issues with the basic classic Notes components.

Developing well structured programs take time and money. Notes/Domino allows you to quickly create an application and address the business issues. Unfortunately, this same empowerment also is a negative in creating structured programming with a good data model. It is a blessing and a curse. The Domino environment integrates everything you need. However, the interface that users sees is another story. We are looking at Flex now as the new interface to resurface our Notes application, while maintaining the power of the Domino server and applications. It takes away from the critics the ugly interface point that Microsoft and others uses.

Giulio said...

Graham,

I think your retort carries alot of merit. Like any technology, you can make a dog's breakfast out of it in the wrong hands of a developer and an immature client. Lotus Notes just makes it that much easier. As they say "it's a double edged...."

@Henning I think you're on the money there. Basically you say that IBM should focus on maturing the fundamentals. IBM usually get the right idea, but give you only 80% of the features and have a very raw product. So, the benefits to be had are somewhat un-realised in that case. This is because they seem to be date driven to get product out the door. Alot of the 8.0 for Notes, (and Quickr to), was not as stable as I would have expected from a product in it's 8th version! 8.5 is better though..

For instance, this morning I managed to install the gtalk widget into my side panel for Notes 8.5. The technology works reasonably well, but But the behaviour of the widget is still quite raw it would be over the head of most users.

This kind of finishing touch is what is required and it usually ends up coming from BP's or Domino zealots to finish the job and usually no one is willing to pay so it becomes a labour of love to make it work.

It would be nice if IBM spent the time to focus on really finishing things off rather than be "date driven" all the time.