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.
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).