Deliver a central repository with distinct application tiers
The principle "Deliver a central repository with distinct application tiers" invites project teams to create deliverables in database records rather than in files.
The main advantage of a central repository is that it gives you a very high level of integrity. Objects of a specific type are uniquely identified and the way in which they depend on each other is easily traced.
This principle applies both to specifications and to implementations.
Specifications are not sourced in a document but in a (USoft Teamwork or URequire) table.
At the level of implementations, a USoft application may include code-based (file-based) implementations in a programming language such as Java or .NET, but such implementations are always referenced (registered, and made traceable) from the central USoft development repository - a database.
While USoft supports distributed development using multiple modules or services that may be developed independently and concurrently, the repository is ultimately a central repository because the dependency hierarchy of modules and services is registered as metadata.
A central repository strongly supports a structured approach to development because it provides a default way of doing things. In USoft, business logic is implemented by default by defining rules in the Rules Engine, except when there is an overriding argument to choose a different technology or format (for example, because of performance or architecture considerations).
The "Deliver a central repository" principle is an enabler of the "Deliver specifications and implementations in parallel" principle. Point-to-point links between specifications and implementations are easy to make, to trace, and to maintain. Contrast this with a conventional environment where specifications are in a document and implementations are in lines of code on the file system. In such an environment, despite initiatives such as Javadoc in the Java world, relating specifications to implementations demands a much higher level of team discipline.
Distinct application tiers
When you deliver a central repository with USoft, the toolset helps you create distinct application tiers for data structure, rules and interfaces. This results in a productive separation of concerns as the team continues to maintain the application and develop it further.