Previous Page Table of Contents Next Page


5. Project execution


Once the project implementation plan has been completed and the required resources have been obtained, it is time to put the plan into effect.

Some of the activities that occur during this stage are: hiring consultants, purchasing hardware and basic software, installing hardware, training staff, bench-testing the software implementation and monitoring the progress of the project. Each of these issues will be discussed in the following sections.

Software development issues

Suppose your organization has decided to develop its own software, and hire a computer professional to do the work. Then there are a few issues you must consider in order to protect your interests and make things easier for the future evolution of the system. Let us examine these issues more closely:

Software development strategy An incremental, step-by-step approach that can quickly demonstrate to doubting managers, staff and members, through a series of visible outputs or events, how they can benefit from computerization is preferred.

SANCOR United Cooperatives Ltd., Argentina has standardized its administrative operations to optimize relations with secondary cooperatives, by providing each of them with the same administrative software package.

Documentation: most programmers and system architects are reluctant to write things down, not only because it is an arduous, non-creative task, but also since not doing it increases the business’s dependence on their continued employment.

So, insist on proper documentation and make it a strict condition of any contract that you have with them. Such documentation must include: information on the system’s internal design processes, data table structures and relationships, source code, installation requirements.

A well-documented system is easier to maintain, makes problem solving easier, and most important of all, gives you freedom to hire subsequently contractors other than the original ones if the developer does not satisfy your needs. Documenting is also fundamental if you plan to share or sell your software to other organizations. It is also a good idea to include the development of administrators’ and users’ manuals as part of the documentation bundle.

Contracting issues: if you decide to hire software developers, it is strongly recommended that you prepare a detailed service contract with them that defines among other issues the:

Licensing and intellectual property rights: if you have hired a programmer to develop software for the cooperative, make sure that the cooperative has the exclusive ownership and possession of the source code files. Many software development agreements do not include clauses requiring the sharing of source codes, to the chagrin of cooperatives which decide to modify the code later on.

That may not be a problem as long as the service provider agrees to provide maintenance and updating support (at a reasonable cost) in the post-project period. However, there are some instances where the provider has had complete rights to the source code and then goes bankrupt. In these cases, the cooperative is unable to recover the code and there is no way to correct errors or improve the software. One way to cope with this problem is by placing the source code in escrow, i.e. held "in-trust" by a third party. In case certain specified events happen, the user is then allowed access to the code.

You might also have to register the intellectual property rights of the system so that it cannot be sold to someone else or copied without your authorization. The procedure is different for each country. Consult a lawyer to learn the specific procedures in your country. If, on the other hand, you acquired pre-packaged software from a vendor, you will be bound by the licensing contract you signed with the vendor: it might limit the quantity of computers the software is installed in or have other licensing restrictions.

Progress reporting

The project team should require all those involved in project implementation (especially hired contractors or consultants) to report to it regularly on progress in completing required tasks, activities and outputs. Such reporting requirements should be made a standard part of all contracts and final payment made only upon satisfactory completion of assigned work.

On the other hand, the project team is responsible for keeping elected leaders and cooperative members periodically informed on project progress achieved, problems encountered and action taken to solve those problems. This can be done through a series of open meetings (monthly or bi-monthy) held during the project development and implementation phases.

Bench-testing

Bench-testing is the last stage of development where the system is tried by a few users to identify the final adjustments that are needed. Testing should be conducted by people other than those who have been directly involved in developing the software program for the simple reason that the latter usually have a vested interest in shielding their work from excessive critical analysis. A formal defect correction process also needs to be developed in case mistakes are made which have a negative impact on project performance. Testing carried out by programmers rarely works since programmers are usually blind to functional shortcomings in their own code. A successful bench test result should be made the last condition that the contractors or consultants should have to meet before they receive their final payment for work done.

Once the bench-testing is over, you should be in a position to begin using the first functional version of the programme. During the first months of operation, it is best to keep the manual system running in parallel until you are sure that the computerized system runs effectively and can completely replace the manual processes.

Also, now that your data are stored in digital media (diskettes, hard disks, tapes, CDs) instead of on paper, do not forget to define a regular backup strategy to protect the data stored in case of system failure or disaster. The backup strategy should include the following:

Training

The amount and type of training that staff and members will need to operate and maintain the new system will depend on a host of factors, including the existing skill capacities and experience of cooperative staff and members, the tasks to be performed and the particular characteristics and maintenance requirements of the hardware and software system used.

The subject matter content and focus of training should be based on a careful pre-assessment of existing end-user skill capacities and training needs. Training of end-users and other stakeholders is crucial for the system to function effectively. The following stakeholders need to have targeted training:

Other issues to consider during the execution stage

Banaskantha District Cooperative Milk Producers’ Union, in Gujarat, India, has been very innovative stimulating "buy-in" by the staff and members through rigorous use of training strategies, thereby overcoming many attitude-related problems.


Previous Page Top of Page Next Page