Gil Müller - Services for Software Architecture

Deutsch News Contact Vision Services Projects Background History


Services

Principles

I help and guide you in the production of software. As the production of software is a complex and costly process, I support you designing your software with the following goals in mind:

  • The production has to be lean. The idea is to minimize effort in terms of man power and overall time while maximizing your invest in terms of legacy software and business knowledge.
  • The production has to be flexible. This means you are able to make changes in the functionality (on request of your client) and you are especially able to have intermediate results (e.g. for demonstration).
  • The production has to enforce quality. To accomplish this, the design has to consider all involved parties: the client, the project management, product design, the development team and the quality management.
  • The production has to be scalable in terms of your team. This enables you to make the best of the talents of your team.
  • The production has to have a sustaining effect. It shall increase the lifetime of your software and be adaptable to the evolution of your business.

Stages

I offer you my service in the following stages of the software production:

  • Inception: Here you start your project whether from scratch or extending some running system. You mainly think about the business case for the project. I advise you making clear assumptions about the needed software technology, so that the project challenge can be estimated realistically.
  • Elaboration: The project plan and the architecture has to be established. In this stage, I will help you to set up a slim and robust design that realizes your business case and fits to your making of software. Additionally, it is important to establish a clear understanding of the design and its risks within the team and the other involved parties (e.g. customers and management).
  • Construction: At this stage, you focus on realizing the software. My role will be to coordinate and supervise every evolving task in terms of the agreed design. This includes reviews of detailed designs (e.g. for sub-systems or components) or mediating any arguments on the design.
  • Transition: Finally, you like to hand over the system to your customer. In terms of quality management this means to guarentee that the functional and non-functional requirements are fulfilled. Additionally, the customer might request changes. Depending on the particular change request, this could lead to a new production cycle.

These stages are loosely based on the Rational Unified Process to exemplify typical stages in a software production. But, it is not intended to imply any particular software process (agile methods are also fine).

© 2002 by Gil Müller