Software Development Metodology

Symbolik Group uses RUP for software development. It is based in 6 basic principles:


Adapt The Process

The process must be adapted to the necessities of the project and company. These factors will determine the specific design.

Balance Priorities

The project limits must be taken into consideration as well. Requirements of actors can be different, contradicting and dispute limited resources. A balance must be found to satisfy their interests.

Colaborate Between Teams

Software Development isn’t made by only one person but multiple teams. A good/fluid communication must exist in order to coordinate requirements, development, evaluations, etc.

Show Value Iteratively

Projects are delivered, even in an internal scope, in iterative phases. In each iteration, the opinion of actors, the stability and the quality of the product are analyzed; the risks involved are revised as well.

Increase The Abstraction Level

This dominant principle motivates the use of reusable concepts like software patterns, 4GL languages or frameworks, to name a few. This prevents software engineers from going directly from requirements to programming of the system. A high level of abstraction also allows analyses at different architectural levels. These can be complemented by visual representations of architectures with standards like UML.

Focus on Quality

Quality control shouldn’t be performed only in the end of every iteration but in every aspect of production.


Project Phases

Inception

A phase based plan is made. Use cases are identified as well as risks.

Elaboration

A plan for the project is made, use cases are completed and risks are worked to be eliminated.

Construction

The product is built according to specs.

Transition

The product is delivered to the client and the user is trained.


Advantages of our Methodology

A disciplinated way of assigning tasks and responsibilities (who does what, how and when). Aimed to implement the best practices in software engineering.

  • Iterative development.
  • Requirements administration.
  • Component based architecture.
  • Change management.
  • Visual modeling.