Jump to: navigation, search

Difference between revisions of "HowTo:Design a Customizing"


m
 
Line 52: Line 52:
 
= Architecture =
 
= Architecture =
 
The architecture is something to consider on a rather abstract level, in the beginning of a project, but also on the level of a single task.
 
The architecture is something to consider on a rather abstract level, in the beginning of a project, but also on the level of a single task.
In the context of a whole project, architecture means defining whether there are multiple {{UBIK}} installations on different sites, what products will be involved and how they are connected topologically and semantically. On task level, the same is interesting, just in greater detail and smaller scope, like zooming in on it.
+
In the context of a whole project, architecture means defining whether there are multiple {{UBIK}} installations on different sites, what products and 3rd party systems will be involved and how they are connected topologically and semantically. On task level, the same is interesting, just in greater detail and smaller scope, like zooming in on it.
  
 
=== Topology ===
 
=== Topology ===

Latest revision as of 08:51, 14 August 2023

Customizing UBIK® is a complex endeavor. In this article, we aim to provide a guide and best practices making this task as straight-forward as possible.


[edit]

Strategy

It's important that development of your project is structured well in order to maximize the positive impact of every step you take. An unstructured project will lead to the frequent dismissal of invalid results, going back and forth unnecessarily, because things are done in the wrong order, ignoring the dependencies between tasks.

As a prerequisite for the rest of this article, please consider the following guide: Organize UBIK Development

The above article describes how to manage your project organizationally, but only implicitly covers how to deliver a solution to your problem. Assuming you have set up issue tracking, source code management and documentation, the following steps are recommended.

For the start of a project

  1. Collect the requirements from the customer
  2. Negotiate a functional specification with the customer, to define the scope of the project
  3. Design the top-level architecture
  4. Use the top-down approach to create a Project Structure Plan consisting of Epics, Features and User Stories
  5. Make an effort estimation based on the Project Structure Plan to negotiate a budget with the customer

For a topic throughout the project

  1. Collect the requirements for that topic from the customer or project leader
  2. Create a functional design
  3. Create a technical design
    1. For the choice of appropriate UBIK® tools and features, search the Wiki as described in the respective section
    2. Plan the architecture of your solution
    3. Design a data model
    4. Design the algorithm
  4. Perform the implementation
  5. Perform the QA including manual testing, automatic testing and reviews
  6. Update documentation

Make sure to maintain the Project Structure Plan for non-trivial tasks. In the rest of this article, best practices for the individual steps are described.

See also