Important Projects

header-important-projects

IBM Club web site

Client:
IBM HR

Location of Engagement:
Global Delivery

Team Size:
5 IBM employees, 4 contractors

Requirements and planning:
From 03/11/2005 to 03/25/2005

Coding and testing:
From 03/25/2005 to 06/15/2006

Installing and support:
From: 06/15/2006 to 12/30/2006

Organization Responsible:
IBM

Nature:
Provide a web site for corporate’s social affairs.

Roles:
Application developer, tester, support analyst.

Involvement:
From 03/2005 to 12/2006

Contribution:
More than 1000 of working hours, from requirements and planning, to coding, testing, Installing and support.

Business Problem (Client Need):
The IBM Club brings employees and retirees, as well as their families and friends, together outside of work to participate in activities that are social, cultural or recreational. The IBM Club makes available discounts to entertainment, leisure and recreational venues and events. The corporate headquarters Human Resource (HR) area made a decision to merge the over 150 worldwide regional IBM Clubs into one web site to provide IBM employees and retirees with a rich user experience. The overall benefit of this centralization was to bring the company and its employees to a new social scenario: a human centered company. The main idea was to promote a solution to the corporation’s actual scenario of global contributors, and embrace employees not only in a traditional office but also those who are mobile, work at customers sites or travel; and allow them to connect with colleagues who have the similar interests.
The mission of the IBM Club was to consolidate all of the different local country web sites and manual processes into one worldwide web site, that would allow users to access events and easily interact socially. The first release was to create an internal web site within IBM for all employees to access. The second release was to create a presence on the Internet for retirees to access. A translation of the web site was also requested, so people in Canada could access the web site in French. The application was divided into three separate modules, one for core data, one for subscriptions and one for images. To gain global reach, the system would be hosted on Lotus Domino servers in Application Hosting Environment (AHE).

Solution:
The client engaged IBM Global Services (IGS) to build a solution that would fit their needs. It was supposed to be a web site with many features, and to host an application of that level, a compatible platform of hardware and software was required.
The application had to be available to IBM employees worldwide as well as US retirees. Authentication was used to validate all IBM employees. Although the application was not considered critical, the web site had to be available 24 hours a day, seven days a week to comply with the expected thousands of worldwide users. The system also had to follow IBM web standards and guidelines for quality and security. Some workflow and Internet mail messaging features were built in. I also needed to implement a function to accommodate French language access for Canadian users and Internet access for retirees outside IBM Intranet.

The following are highlights of the application:

  • Ability to create and read announcements and information
  • Discounts search
  • Travel connection volunteering and search
  • IBM Clubs searches at your location
  • Ability to join interest area clubs
  • Subscription to club information and events sign-up
  • Notification of news and events about subscribed interest areas
  • Clubs and events management through an administration panel
  • Search for events on several locations
  • Picture galleries visualization for interest area clubs
  • Global announcements and agenda of events
  • Multilingual access

The initial recommendation for this project was to build the application using a WebSphere solution. However, the client felt a WebSphere solution was too costly and would take more time to develop, so the decision was changed to use Lotus Domino software. After choosing to use Lotus Domino architecture, the client started looking for resources to develop this project. The team was composed of a project manager, an architect and five developers.

portfolio_ibmclub
(IBM Club web site screenshot)

The IBM Club application was a worldwide Intranet web site that allowed employees to access the application. I used the Lotus Notes/Domino architecture to create a hybrid application, accessible on both Notes client and web browser for the majority of users. I used the Common Development and Test (CDT) Alpha environment to code and test the application, and Systems Integration Test (SIT) Beta environment for User Acceptance Tests (UAT). There were two Domino servers working in a cluster that mimicked the production environment. To access the web site, the users had to authenticate using their IBM Intranet userid and password. The database administrators had the ability to access the application in the Notes environment to setup application parameters and make any necessary updates.
I had to allow retirees to access the web site though the Internet with authentication. The Internet version of the site had to have an splash screen without authentication with a login form and some instructions on how to create a new user id. To achieve this, I used WebIdentity to synchronize IBM Internet directory with the Lotus Domino directory. The application also had to use the right web interface according to the user environment. For Intranet users the web page that was displayed used IBM w3v8 standard, and for Internet users it should use IBM OneX standards. Both internal and external sites for the French Canadian translation required the internationalization tool. I had to meet with my team to decide which internationalization tool would best fit the application. After several brainstorming sessions, I decided to use Lotus Domino Global Workbench (DGW) since it was the recommended tool for Domino applications. To achieve this, a complex architecture was designed to make the application available for Intranet and Internet users.
In addition to the coding I had to enlist the support of consultants outside my business area to assist with graphic design. I also had to get support with web site internationalization using the Lotus DGW. This professional helped me teaching and supporting my team with the translation effort. Because the professional was fluent in the French language, they also served as a reviewer for the translation work.
I used several Ives TeamStudio tools to help with the application development. I used CIAO! for design management and code sharing. This tool helped the application development team to work in sync, so the peers couldn’t work on the same design elements at the same time. The tool also helped to create back-ups of the design avoiding the risk of loosing code. I used the Configurator for databases code search and changes, reducing the effort of application maintenance. I also used Analyzer to verify if code was following the IBM standards and guidelines.
As the web application development team lead, I had to plan and help the architect find the best approaches to solve some of the complex requirements. I also had to provide precise estimates for all task, as well as keep track of all work in the Project Control Book and in Rational Portfolio Manager (RPM). I was involved in technical project status meetings which were held weekly. I made regression tests, wrote user acceptance tests scenarios, and promoted the application to production on the Internet and Intranet. The application installation was successful and the system was available to users in less than one day.

Project Results:
The web site was a success with thousands of visitors daily. The application was featured in the IBM News as well as media highlights in Internet articles and newspapers. This application was considered one of IBM’s biggest achievements in 2005, revealing a social responsible company with focus on its personnel.
The major application’s issue was the selection of the tool for internationalization. I thought it would be a good idea to translate the web content into several different languages. However, this approach was not feasible given the available architecture. In addition, there would have been an impact on the performance of the application along with the time consuming process of translating all of the content into the various languages. Since Canada had the mandatory language requirement, the decision was to only translate the content into French-Canadian.
The application development team members ever had experience with applications internationalization, and I had to get help with expert personnel from other business areas to assist my team finding the best approach to translate the application. After several discussions and brainstorm sessions, I decided to run the big risk of using Lotus DGW for internationalization, a tool previously unknown by the team. I got some training on DGW, but my inexperience with that tool prevented me to totally measure the risk of using it and get unable to proceed with the application development. The team also had an outstanding effort to learn how to use the tool. New people were brought to the team with new roles, including French translators and reviewers. The client also had to engage the translation team to translate the content. The application environment also became more complex and expensive, since more design artifacts were created due to the translation process.
The application had a smooth install. The main lesson learned was regarding budget planing. I had the risk of using more hours than planned due to the internationalization technology adoption, which caused an unplanned increase in the budget.
From this experience I learned that I had to have a very well defined scope to avoid future risks, like dealing with unknown technologies and processes. I learned to better plan application architecture avoiding rework from end-to-end. I also learned how to internationalize Lotus Domino applications using Lotus DGW, from the software usage to the translation process.


Projexx

Client:
Cyberlyxx

Location of Engagement:
On site

Engagement Dates:
From 02/01/2004 to 03/01/2004

Team Size:
4 employees

Coding and support:
From 02/01/2003 to 03/01/200

Organization Responsible:
Cyberlynxx

Nature:
Provide an application for project management

Roles:
Application development leader, application developer, tester,support analyst, translator.

Involvement:
From 02/2003 to 03/2004

Contribution:
More than 1600 of working hours, from requirements and planning, to coding, testing, Installing and support.

Business Problem (Client Need):
Projexx was a suite designed to help enterprises with formal project management affairs to organize their activities using an application with quick and efficient access. The objective of the application was to allow project managers to access their projects and activities through a simple tool in any place. The major advantage was the possibility of using the system on a web browser which would interact with other project management tools and patterns, such as Microsoft Project and PMBOK.
Projexx was an alternative to Microsoft Project software, which was inexpensive and easily integrated with Project’s formatted files by the use of data import and export data features. I had to offer a product with two main advantages: portability and price. I decided to build it in an extremely compatible platform: Lotus Notes/Domino and the internet. Projexx was sold as individual user licenses.
The application went through several development iterations as the client’s business processes changed over time. I had a good working relationship with the commercial department where I held status meetings on a regular basis in order to keep them in sync with the product functionality changes. My major objective was to make Projexx become an outstanding application, known as a winning business case in the IT market. That enabled my company to increase their client portfolio and sell more consulting services.

Solution:
Projexx was originally intended to be available only through Lotus Notes client interface. After some market evaluation, I came to the conclusion that a better solution would be having a “hybrid” system, since most of the potential clients didn’t have the Lotus Notes client installed on their workstations. I had to create a product that could allow access not only on Lotus Notes, but also for web users accessing the application through a web browser connected to a Lotus Domino web server.
The product was composed of three main modules: Project, Checklist and History. The Project held primary project information, the database administration tables and profile information. The Check-list contained secondary project information, activities and resources data. The History contained logs of all application transactions.
Projexx allowed the user to import Microsoft Project files, enabling the data migration of project data from several companies. The application also had the ability to export project data into Microsoft Project files, which increased the application compatibility for our customers’ clients and partners. There were several workflow functions to delegate tasks, send task reminders, reschedule tasks and provide cost evaluations.

The following are highlights of the application:

  • Daily follow-ups project deadlines
  • Visualization of status, deadlines, durations, percentage complete and task responsibility
  • Task cost controls that showed partial and total project cost
  • History of every action that took place over a project
  • Import and export your project’s data using Microsoft Project files
  • Resources super-alocation and otiosity indicators
  • Control the daily state of a tool, and the effective report of estimated and used hours per task
  • Creation of Gantt charts and graphs
  • Ability to join forums with the project development team
  • Project Management Book of Knowledge (PMBOK) compliance

The development strategy incrementally evolved the software based on market trends and client’s needs. I was the application development team leader where I was responsible for coordination of the application development and the liaison with the client. I had to report the project status to my company’s Chief Intelligence Officer (CIO) at weekly status meetings. I documented all the application features, and took note of all candidate functions for future releases. The application was developed using the Lotus Notes/Domino platform. Several Microsoft Project software features were integrated into the application. The main technologies used for the application development were the LotusScript and @Formula languages at Lotus Notes, and Dynamic Hypertext Markup Language (DHTML) JavaScript and Cascading Style Sheets (CSS) on the web. I used an incremental approach to ensure the success of every release.

portfolio_projexx
(Projexx web interface)

The biggest difficulty I encountered during the project was handling and maintaining several custom application versions. Some clients requested specific changes to the product according to their ever changing business needs. I had to manage the new risks of developing and maintaining small personalized versions so as not to loose market share. Some of the potential clients were American multinational companies, that chose not to use our product because it was only available in the Portuguese language. I made an additional effort to translate the system to the English language in order to reach potential clients, which in turn made the product more profitable.
Each time new customized versions of the system were created, I had to increase the effort needed to manage the implementations of the changes over all test environments. When a malfunction was recorded, I had to fix it on all versions of the application, that included all the translated and customized versions. To mitigate the risk of malfunctions, I used reusable libraries and a detailed documentation for each design change. I had a very straight policy for code changes, where my team tracked and logged where, how and when changes were made and I documented the changes in a Request for Change (RFC). Another peculiarity was that some users had small process differences across their environments, like security, disk access level and message routing. I created a more flexible system that loosely coupled almost any client environment needs.
I held regular status meetings with the team to follow-up the project status and optimize the resources utilization. I had the responsibility of assigning tasks to the development team and reviewed all the translation work made by the developers. Since I was the technical team leader, I was also responsible for ensuring the correct system requirements were met.
Just a couple months after the system kick-off, the product became so popular among our clients that I decided to create a better channel for user support and discussion. I created a user forum where the clients could get technical support from the application team. I also wrote detailed product documentation and created a direct line for user support.
I had spent more than 1,200 working hours in code, in addition to installation and personalized client administration.

Project Results:
Projexx was a success. It achieved an excellent market reputation because of the team focus. I was able to increase the product quality productivity by having a dedicated development team. The clients reported high satisfaction with the application because they felt it was a competitive and reliable product, more portable and compatible due to its universal web access and workflow features. It also offered high compatibility and synchronous data, since it could work with up-to-date corporate project information using Microsoft Project import and export features.
The outstanding quality process followed by the software plant increased the application quality. The product reached a level of excellence much higher than common on demand market solutions, increasing the application reliability. The success cases brought by the new portfolio of clients also helped the commercial department increase the sales force considerably.
During the system translation to the English language, I decided to follow a model that kept two different databases with independent separate translations. This caused a maintenance overhead, and occasionally some packaging failures due to this manual change process. There was also minor translation errors in the technical project management jargon. It could have been easily resolved if I had used a more formal translation process with more revisions and reviewers.
Another important aspect was that the product was built in a time-to-market model. Since I had the interest in gaining fast market-share in order to supply the product costs and its expected Return of Investment (ROI), the company started selling customized versions of the product, which changed its original characteristic of an in-a-box solution. Since it had to be profitable, the commercial department made several proposals that complicated the controlling of the installed platforms, consequently increasing the work force effort considerable. This approach reduced the software incremental upgrades pace, reducing part of its competitive quality and increased the application time-to-market.


LAHR Community

Client:
Coca-Cola Company

Duration/Size:
Apr 2003 – Oct 2003

Role:
Developer / Tester

Environment:
IBM Domino, Quickplace and Sametime.

Start date::
06/2003

End date:
09/2003

Responsibility:
Design, develop and test the application.

Summary:
The LAHR (Latin American Human Resources) Community was a software model developed with the intention of dealing with a wide variety of subjects related to HR. It is a Lotus Quickplace theme, totally customized to cater to the HR personnel at Latin America.
The system can work as a corporative notice board, where users are able to create questions and release its results, create news posts, reminders, calendars, VIP clients address books; besides a simple and efficient project management module.
The system implements extreme Lotus Quickplace customizations, and Domino data manipulation via XML, Sametime APIs, servlets, and LotusScript and Java placebots.
Among the users, we have directors, managers and coordinators from Coca-Cola.
The project was considered to be a success by the LA employees, and will be adopted as a model for HR in the corporation worldwide.


SIF

Client:
IBM / Canal Futura (Globo’s TV associate)

Duration/Size:
Sep 2002 – May 2003

Role:
Developer / Tester / Web Developer

Environment:
IBM Domino

Start date:
09/2002

End date:
04/2003

Responsibility:
Develop and test the application.

Summary:
SIF (Sistema Integrado Futura – Futura’s Integrated System) was a project that had as a mission to cope with a complex amount of assumptions, all related with TV broadcast. The main activities of the system are controlling broadcast running, managing content acquisition and maintaining the Futura’s Network inventory.
Divided into the modules of Acquisition, Tape files and Programming; the system enables the control of all data related to the core of the business of the company.
Due to its complexity, SIF used sophisticated “rich client” resources for not impacting Domino performance and ease of use. For this, we used the very best technologies available for web development, like dynamic web content using AJAX (JavaScript, XML and DHTML).
The system is used by a small number of users who are directly involved with the network main operations.