The Project Customization Process

Once you have determined through a thorough needs analysis that a customization is needed, you need to proceed methodically. This section encourages you to look at all aspects of the customization process and outlines the phases you should consider. Keep in mind these guidelines, and your customization will proceed in an orderly fashion.

1. Prove your concept.

You may be familiar with the problem at hand, but do not have the knowledge to write the implementation plan or the specification. For example, you may not know the performance implications of a proposed change on a large data set; you may not know if proposed changes are possible or fit with the character of the Archibus environment; you may not be certain you have staffed the project with all of the database administration skills you will need; or, you may not be able to estimate the time necessary for a particular task.

In these cases you will want to go through a proof-of-concept exercise. This is a small prototype trial examining the unknown points. For benchmarking, you may run an automated routine over the weekend to create one table with the size and indexing of the proposed tables. You may create view actions with the proposed behavior to illustrate how the view interface will work. Or you may move a sample project onto an Oracle server to exercise the necessary database administration skills.

The intent of the proof-of-concept exercise is simply to provide planning information. You should not expect that the exercise will deliver any significant portion of the implementation.

2. Develop an implementation plan.

While a customization may be the key piece to a site's implementation, it always falls in a larger context. The implementation plan ensures that you have assigned responsibility for all tasks required to make the automation project a success.

Consider these questions when reviewing an implementation plan:

3.  Develop your specifications.

For corporate developers, the specification is a tool to explain to the in-house clients what the system will do and how it will look.

For contractors, the specification has an additional purpose. By documenting the changes involved precisely, the contractor has a definition of the deliverable necessary to satisfy the contract. The specification defines when an invoice is appropriate and defines what additional requests need an amendment to the contract.

In either case, it is important that the client understands and signs off on the specification as a clear statement of the goals of the project.

4. Implement your changes.

In this phase, you actually implement the planned features by making changes to the schema and/or developing code that provides the required functionality. Depending on the customization, this may involve developing new views (.avw) or JavaScript (.js) or workflow rules with associated java code.

5. Document your changes.

Any system must be delivered with documentation as to its use, but there are some other documentation tasks to consider. For instance, you also need documentation on the changes themselves. If you are a client of an outside contractor, you will want this documentation to make certain you can maintain the customization even if you change vendors. If you are a contractor, you will want to be able to quickly review changes at a site if you are asked to provide extensions to the work or update the work to a newer release of software.

Another important type of documentation is a revision history--a list of changes and the version in which the changes were implemented. A related issue is keeping a series of copies of the customized files for reference.

6. Test your project.

Testing is an art and study in itself; however, a few things to think about when testing your application.

7. Implement a pilot project.

Changes of any complexity you will wish to run on a pilot basis before converting your production database to the new format.

The pilot stage lets you shake out any issues concerning converting the entire data-set or explaining the usage to the operators.

8. Implement your production project.

Once you have completed your pilot, back up your production database and schema, convert your production data to the customized schema, and start the customized schema on the server dedicated to daily use.

See Also

Working with Customized Projects