Usability - Productivity - Business - The web - Singapore & Twins

Estimating efforts for web enablement

A lot of organizations I talk to have a lot of Notes Client applications that they want to make accessible through browsers. Some want browser only, some want dual access. All wonder how to estimate the effort needed properly. As a rule of thumb one can say: number of artifacts times time per artifact times experience of the development team. This would make one equation with three unknowns, which can't be solved. I won't discuss the "time per artifact" in this post, since this is very dependent on your technology, process and tooling used. But I will shed some light on the other two variables.
In my experience the factor skill is binary. For a guru, champion or master developer your factor is 1 (or even less), for a well experienced developer 2, for an experienced developer 4, for an entry level developer 8, for a novice 16. Of course even a novice can contribute if (s)he applies and polishes what the more experienced developers produce.
To determine the number of artifacts you would look at: forms, views, fields, columns, code events, lines of code. You easily can extract this information from a Notes database by exporting your design as DXL and then count the respective tags. Since that's a little boring let your computer do the counting. A few lines of Java will do the trick. Don't want to do that? Well, then just download this. It is sample code written in Java 6 (no Notes classes used), that will show all tag types as well as lines of code for LotusScript and @Formula. You can run it from the command line: java InspectDesign yourdatabasedesign.dxl or use it in your code.

Posted by on 10 November 2008 | Comments (2) | categories: Show-N-Tell Thursday


  1. posted by Lance Spellman on Tuesday 11 November 2008 AD:
    I think one of the most important artifacts to count are the number of form action buttons and view action buttons, and then analyzing just what those buttons do.

    If they are simple @Command([Compose]), or @Command([EditDocument]) kinds of things, this will be pretty easy. If they have @Picklists or dialogs, anything that is a Notes-client-centric UI thing, then the difficulty factor goes up in a hurry.

  2. posted by Patrick Kwinten on Thursday 13 November 2008 AD:
    A spreadsheet to fill such figures including an estimation of different design elements (views ,forms, etcetera) would be great to make rough estimations for development projects.

    Don't forget enthousiasm in the calculation, a laid back master developer easily make more hours than a techy driven middle developer... Emoticon cool.gif