My goal is to offer excellence in what I do. My personal conviction is that excellence is best achieved by striving for simplicity in processes and solutions.

Improving Development Engineering

The difficulties that companies have in software engineering, are seldom unique. Despite dramatic difference in detail, underlying patterns exist. The breadth and length of my experience in many different roles and companies has given me an unusual insight into the patterns that apply to software engineering. My goal is to find an evolutionary, step-by-step strategy to help resolve the difficulties that you face. This is essential to both to ensure high acceptance and to make change manageable.
Architecture and Design
In my heart I still see myself as an architect and designer, despite my extensive experience in other disciplines. Reviews of existing system and software architectures, incremental improvement or original development of architectures have been my recurring themes for many years. If system or software architecture is your focus, I will assist in finding simple and clear solutions that will achieve your goals.
Development Processes
Good development processes are a foundation for engineering quality. Describing and codifying development processes makes it possible to understand how an organization really works. This understanding is the essential first step towards improvement. The next step is to find the right strategy for controlled introduction of changes while avoiding disruption. Having been the driver of process evolution for many years, I am confident that I can provide effective and useful consulting to support you in your quest for excellence.
Software Engineering
Software is an engineering discipline and not an artistic endeavor! Formal models such as ASPICE partition software engineering into the sub-disciplines of requirements, architecture, design, implementation, integration and test. They also show software engineering as part of a larger whole, including system engineering, project management and other supporting disciplines. These disciplines are not independent of each other, they are individual threads in the fabric of the system lifecycle. My experience enables me to offer consultation and support in all of these disciplines. More importantly, it enables me to more easily find the areas in which communication fails. These failures in communication are the most common root cause of problems in software engineering.
Supplier Management
Having been on both sides of the supplier-customer relationship and having 8 years of experience as the Harman liaison with QNX, I am aware of the problems that can arise and how efficient solutions must be structured. My goal is to simplify supplier management so that it becomes simple.
ENHANCING YOUR COMPETENCE

SEMINARS AND WORKSHOPS

As the importance of software has grown in the world, so has the need for good engineers. Unfortunately for employers, good engineers have become hard to find. The push towards specialization, the accelerating rate of change and the exponential growth of complexity are all factors which only exacerbate this problem. The solution is ongoing professional training from experts. The training catalog listed below covers a broad palette. When booking a seminar or workshop, it is always possible to tailor the content to fit your needs. All seminars are offered in house, at your location. The seminar language can be either English or German.

Requirements Engineering

DOING IT RIGHT

Understand the role that well-defined requirements can play and what the requirements must offer within the organization in order to fulfill this role.

System and Software Architecture

THE BASICS

Understand what an architecture is and the essential role of architecture in system- and software-development.

Software and System Architecture

PATTERNS IN EMBEDDED ARCHITECTURE

An overview of useful, re-usable patterns for the architecture of embedded systems.

Model Driven Development

MAKING IT EFFECTIVE

Participants learn to understand the basic principles of model-driven development and about how to extract and obtain the greatest possible benefit.

Real-Time Software Development

BASICS

Understand the essential mechanisms that make real-time software development possible.

Real-Time Software Development

ADVANCED CONCEPTS

The purpose of this seminar is to show useful development patterns for real-time software development.

Memory Concepts

FOR EMBEDDED SOFTWARE

Learn how memory models are used in software development and how they critically impact the architecture of the system.

Secure Boot

BASIC CONCEPTS AND TRADEOFFS

The purpose of this seminar is to understand how secure boot works and to provide familiarity with the concepts upon which it is based.