Sovereign follows a structured process for development of Java and PHP projects. Most of our development is confined to the solutions we provide. Compiere is an ideal development environment because of it’s open source object code.
Unified Process is an object-oriented and Web-enabled program development methodology. UP establishes four phases of development, each of which is organized into a number of separate iterations that must satisfy defined criteria before the next phase is undertaken: in the inception phase, developers define the scope of the project and its business case; in the elaboration phase, developers analyze the project's needs in greater detail and define its architectural foundation; in the construction phase, developers create the application design and source code; and in the transition phase, developers deliver the system to users. Unified Process provides a prototype at the completion of each iteration.
The essence of Unified Process is iteration. And the essence of iteration is that each iteration ends in a deliverable -- preferably one that executes. Even in inception, you are going to want a few iterations that show growing functionality. During inception you will gather a significant (a half? a third? it depends...) fraction of the use cases. You will focus on those that seem to be central or key. The iterations will be implementing some of these.
During elaboration you will tighten up your architecture and your plan. The nature of the iterations won't necessarily change much; but the longevity of the software produced will certainly increase. Early iterations (usually in the inception phase) have a tendency to get thrown out. During elaboration you will discover the rest of the use cases (or at least their first approximations) and will implement the minimal set.
During construction you will drive towards giving the customer the minimum system that they need. The nature of the iterations won't change much, but your focus will be on identifying the smallest possible deliverable that will still meet at least some of the customer’s needs. During construction, the use cases will change a bit as the customer sees the growing system and feeds changes back to you.
During transition, you will drive towards fleshing out the functionality of the system, and incorporating the mounds of customer feedback that you are surely to get. The nature of your iterations won't change much. During transition the use cases are likely to undergo drastic changes as the customers actually use the system and realize that it is not exactly what they needed.
The transition from phase to phase is gradual. Management is not done by placing dates upon the phase boundaries. Nor are there phase gate events that mark the transition from one to another. Rather, management is done based upon iterations of the development. The first iterations start in the inception phase
The project plan is pretty straightforward. It contains a list of proposed iterations (which all parties agree is likely to change). Each proposed iteration has an estimate (which all parties agree are likely to change). The proposed iterations are not assigned dates. Rather decision points are identified. For example:
1. by week 6, if iteration 1 and 2 are not complete, then hire one additional person.
2. by week 10, if iterations 1-4 have not been accepted by the customer, then remove iteration 8 from the release.
3. by week 15, if iterations 1-4 have not been accepted by the customer, then cancel the project.
A project plan is not a statement of what will be. Rather it is a statement of how risks will be managed. It is a plan of contingencies, as opposed to purely a plan of action.