If you spend your IT dollars wisely, you will find that well developed custom applications that automate and enable critical business process give a very high return on investment. Now that you have Lotus Notes installed through your organization, it is time for you to take a look at custom applications that can be quickly developed and deployed through your organizations. This note gives you a snapshot of what it takes to develop and deploy a custom application running on Lotus Notes or on Domino Server.
Determine the business rationale for
the investement - JustificationFor this purpose, we will examine a Performance Appraisal
System.
Performance appraisal is a fairly standardized process that happens in
many organizations, though each organization has its own quirks about
how this is done. For our purpose, we will assume the following about
the performance appraisal application:
Each employee is assigned one department
Each employee has a reporting manager
Each department has a department head
The HR person associated with the department initiates an appraisal
process for each employee based on an appraisal calendar maintained
outside the system.
The central element of the appraisal is the appraisal form which has a
set of key performance areas based on the roles played by the employee.
The key performance areas have associated benchmarks which define
performance rating on a scale of 1 - 5 (1 being poorest and 5 being the
best performance)
The employee completes a self appraisal form and sends to his manager
The manager marks his observation and sends it to the departmental head
During the appraisal meeting, the employee and the manager (and
optionally the department head) review the appraisal notes and finalize
the appraisal comments and rating.
The manager creates action points for the next appraisal period and
closes the appraisal
The manager makes any salary revisions necessary
Justification:
To determine the justification for the appraisal application, the
following costs and benefits will be relevant:
Costs:
Benefits:
Detailed financial models are not within the scope of this
analysis,
but can be developed by plugging in $$ values to the costs and benefits.
Scoping, Business
Anlaysis:
In this phase, the business champion along with Maarga's architect
essentially determines what goes inside the system and what stays
outside. Some of the considerations for this example project include:
In general business anlaysis comes out with information including:
The details of all this analysis are captured in documents,
screenshots, prototype applications etc. The requirements are typically
numbered and prioritized. In some occasions, we might also write a user
manual for the application, and make it the default requirements
document for the application.
In our present system, the following are a starter set of use cases:
HR Manager:
Employee:
Manager:
Department Head:
The User Requirements Document will further detail information to be on
the appraisal form, the rating system, reporting structure etc.
The requirements phase will also explore usability by making mock user
interfaces (either paper or Notes prototyping) and getting user
feedback. Details of the operating environment including server to be
used for deployment, Web vs. Notes vs. Mobile access etc. will also be
detailed
Architecture, Design
Starting with this phase, Lotus Notes technology will take over. Some
of the decisions taken in the Design phase include:
As a result of this phase, the output will include:
Coding and Unit Testing Phase:
During this phase, the developers involved in the project will take the
design spec and translate it into code. They will first set up the
development environment which matches the production environment to a
reasonable extent. They will then proceed to create the design elements
defined earlier, and test each element for desired functionality. A lot
of the errors will be thrown up when integrating the disparate elements
together, and even more when the complete system is being integrated.
The developers will comment the code to explain their implementation of
the different design decisions.
System Testing:
System testing is testing conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements.
System testing falls within the scope of Black box testing, and as
such, should require no knowledge of the inner design of the code or
logic.
A separate testing team will be involved in taking up the User
Requirements Document and translating into a Test Plan and Test Cases.
Put together all the test cases will test all the use cases outlined in
the requirements document. A detailed log of test results will be kept
with each test run, so that what fails and what succeeds are clear to
all concerned.
Acceptance Testing:
After the system passes system testing without any critical errors, it
will be sent to the customer for acceptance testing. During acceptance
testing, a representative for each category of user will put the
application through the paces to ensure that all the functionality is
delivered as expected. Application testing will through up important
insights into limitations/problems with the system when actually used
by a real user (or a close approximation) in a real life situation.
Such insights will be noted and implemented if the situation warrants
it, or rolled into a future version as appropriate.
Deployment:
During deployment, all the concerned users will be trained on the use
of the system. The notes application will be copied onto the production
Domino server, and all access control will be set as per application
requirements and organizational security policies. Any old data will be
migrated into the new system and tested. The applications performance
in the real environment will be monitored and then the application will
be handed over to the maintenance team.
Lotus Notes Development, Domino Server Administration, Lotus Notes Development, Developers, Programming, Programmers Singapore, WebSphere Portal Services
Copyright 2005. Maarga Systems. All rights reserved.