During first six months of 1996 we
worked on GUI for Nortel. Here we would like to give you an overview of how the
cooperation worked.
Project structure |
The cooperation consisted of several phases.
- High-level design
- During this phase Nortel produced a High-level specification . Based n this
document we decided that our company is capable of doing the GUI. This document also
contained general software and hardware requirements.
- Alpha phase
- The result was a partially functional prototype of the developed product.
- Beta phase
- In this phase we delivered the product with most functionality and also appropriate
documentation.
- Gamma phase
- In the gamma phase we delivered fully functional product with all appropriate
documentation, including the test results.
Software used during development |
Since this GUI was only a part of bigger product, it
was Nortel's responsibility to decide about software tools to be used for development.
Overall, the product was implemented in C++ using an object oriented paradigm. Nortel's
requirement of total encapsulation simplified the description of interfaces between
each group of developers.
Based on previous Nortel experience, they decided to use following software packages
(the list is inclusive)
- HP-UX
- The resulting product was to be run on HP servers (or workstations).
- Neuron Data's Open Interface
- OI is a cross-platform point and click system for developing graphical user interfaces.
This product was unknown to our programmers. We had to learn it before the project
started.
- Mercury's XRunner
- Automatic testing tool suitable for testing GUI. We had to learn this one too.
- Center Line C++
- C++ compiler.
- Rogue Wave Tools.h++ library
- General purpose C++ library, contains a number of data structures (list, has tables
etc.).
Communications and data transfer |
Reliable and regular communications are clearly
critical for such remote programming. For this project, we faced no insurmountable
problems, and both sides were satisfied with how we addressed this issue:
- E-mail
- We used Internet E-mail system. There were no problems in this area. Each party agreed
to a 48-hours response time.
- Conference calls
- We had weekly conference calls with the Nortel's developer group. The main disadvantage
of this communication is the time difference (6 hours between MET and EST)
- Data transfer
- We planned to prepare FTP site for data transfer, but later found more useful uuencoded
E-mail messages. Since there were highly proprietary data transmitted over the Internet,
we used an encryption algorithm.
- Physical meeting
- For cost reason, we tried to minimize visits to the US. We did find, however, that the
physical presence of our Czech project prime was needed at the beginning and end of the
project.
Problems and solutions |
We learned a lot during our cooperation with Nortel.
Here are some problems we had to solve during the project. Please see also opinion of Mr. Tom Gonzales, the manager of the GSF team
at Nortel.
- The ubiquitous issue of "creeping user requirements" needs to be addressed.
The best outsourcing firm can do is
- reach agreement and sign off on a clear design and specification,
- provide all relevant documentation and
- informing the partner about all changes as soon as possible.
- Problem of planning the software necessary for the project. Again could be solved
defining dependencies in design phase.
- Failing to be compatible. The problem is that the contractor is not a part of the
outsourcing company. Consequently, the outsourcing firm must explicitly point to
and supply all necessary company standards.
|