Skip to: Content | Footer
GovernERP Logo

Welcome to the GovernERP Project

GovernERP Project Maintainability

Maintainability Lowers TCO

What's Maintainability?

Maintainability simply means that maintaining a product is made easier by various production technics. Maintainability when used to describe software is often some combination of hyperbole and an oxymoron. What it's supposed to mean is that the product, once installed, is easy for developers to understand, maintain, update and add new functionality.

Design for Maintainability

There are several techniques that can really make the developers' lives easier, including: choosing a well understood programming language; using existing standards; making use of existing functionality from established projects; commenting code; conducting code reviews; and develop consistent naming conventions across the project.

The programming language selected for the GovernERP Project is Java 1.5.x. Java one of the most widely known programming languages for larger enterprise development. We are using the Spring Framework for enterprise feature support which allows programmers to write most business logic as so called plain old java objects, POJOs, separating much of the infrastructure coding from the primary business code.

Object Oriented Code

As mentioned above, using Object Oriented design, OOD, and coding, OOP, techniques results in much clearer code. One of the founding principles of OO is the notion of designing solutions using the common language of the participants -- in other words, instead of techno-terminology one uses plain english terms for all programming variables and functions. OO programming, OOP, goes further by dividing functionality into small discrete chunks which would usually be stored in separate files. This has the benefit of a new programmer coming to a project/product can view the code as self documenting, or at least substantially that way. By making code reviews part of the development process and because of the fundemental openness of Open Source projects -- peer pressure will motivate programmers to do a cleaner job of coding.

Good Documentation

Again, as mentioned earlier -- good documentation on every level makes a product much easier to use both for technical types and business users. In addition to standard technical, administrative and end-user documentation we intend to implement wiki-like user generated documentation as an optional feature. This has been reported to work well where implemented.

 
Last Modified Feb 22, 2009 - 09:26 PM