The purpose of this section is to provide a high-level, global overview of the software assembly line reference model. A graphical representation of the model’s high-level overview is provided by Figure 1.
The model consists of layers, where each layers supports specific activities. Each layer has specific focus areas.
Each focus area recognizes Methods, Techniques, Tools and Rules. Software development also has a people-side and for this reason software engineering skills are also relevant.
The layers and focus areas have versions and are under continuous development. In the model this is identified as continuous improvement.
The process layer contains methods with descriptions and templates which can be used by software development projects.
The project layer is about planning, budgeting, monitoring and the governance of software development projects and software maintenance organizations.
The engineering layer contains the software development and maintenance activities. These activities are executed either executed within a project organization or within a line organization. The activities themselves contain the complete chain of required software development activities from requirements election till application management.
The platform layer contains standards and guidelines with regard to the technology platform. These are the solution building blocks which are shared across projects and software solutions and which includes solution and software references architectures.
The infrastructure layer includes infrastructural services like software development workstations, ALM tools and the hosting of the DTAP environments.
The support layer is about the supporting activities which facilitate the software development and maintenance activities. These activities include among others project on boarding, training. But also the design and construction of project specific ALM tools.
But the support layer is also about all the activities required for the application life cycle management of the software assembly line itself. These activities include the structural improvements required to attain the organization’s assembly line’s future ALM vision based on the changing business requirements and the technological advancement.
This model itself only focuses on the software development environment. The model does not included influencing aspects such as organization, enterprise architecture and portfolio management.
The purpose of this section is to provide a more detailed overview of the software assembly line reference model. A graphical representation of the model’s detailed overview is provided by Figure 2. This representation shows the overview of constituents of each of layer of the reference model and builds upon the global overview provided in Figure 1.
In the process layer, which is about the methods which can be used by software development projects, there is a distinction between Methodology, Guidance and Roles & Responsibilities.
In the project layer, which is about managing software development projects and software maintenance, the model acknowledges the aspect areas Planning, Progress, Functionality, Quality, Resourcing, Budget, Change, Reporting, Communication and Risk.
In the engineering layer which focuses on software development, the model distinguishes Architecture, Security, Requirement Management, Design, Development, Test, Configuration Management, Release Management, Deployment and Maintenance.
In the platform layer the constituents are Reference Architecture, Standards & Guidelines, Building Blocks and Tooling. These aspects areas combined provide the standards and guidelines for the technology platform used to develop, deploy and run the software.
In the infrastructure layer the model distinguishes Workplace, Hosting and ALM Tools. All three are required to enable a software development team to build software.
In the support layer, which addresses supporting activities and facilities the model makes a distinction between Benchmarks, Training, Project Support, ALM Change Management and Knowledge Management.