Generic Profile Group

Mots-clés:  Software and System Engineering 

This page describes the concept of profiles, the Generic Profile and the four Profiles of the Generic Profile Group.

Profiles

The core characteristic of the entities targeted by ISO/IEC 29110 is size, however there are other aspects and characteristics of VSEs that may affect profile preparation or selection, such as : Business Models (commercial, contracting, in-house development, etc.) ; Situational factors (such as criticality, uncertainty environment, etc.) ; and Risk Levels [1]. Creating one profile for each possible combination of values of the various dimensions introduced above would result in an unmanageable set of profiles. Accordingly VSE’s profiles are grouped in such a way as to be applicable to more than one category. Profile Groups are a collection of profiles which are related either by composition of processes (i.e. activities, tasks), or by capability level, or both [2].

The Generic Profile Group

The Generic Profile Group has been defined [3] as applicable to a vast majority of VSEs that do not develop critical software and have typical situational factors. The Generic Profile Group is a collection of four profiles (Entry, Basic Intermediate, Advanced), providing a progressive approach to satisfying a vast majority of VSEs.

Profile GroupProfile
Generic Entry
Generic Basic
Generic Intermediate
Generic Advanced

Note : Part 1, Part 3 and Part 5-1-2 (Basic Profile) are available at no cost from ISO.

The set of documents is intended to be used by a VSE to establish processes to implement any development approach or methodology including, e.g., agile, evolutionary, incremental, test driven development, etc. based on the organization or project needs of a VSE.

The Entry Profile (Under development)

VSEs Targeted by the Entry Profile are VSEs working on small projects (e.g. at most six person-months effort) and for start-up VSEs.

Characteristics of the Targeted VSEs :

  • Primarily involved in the design and/or coding of minor software package
  • Do not have significant experience with large software development projects, and so do not attract contract jobs from larger software firms
  • Personnel often relatively inexperienced
  • Often lack discipline in product development tasks : focus mostly in coding activities
  • Lack of tangible process assets
  • Limited access to investments and loans
  • May lack credibility and need for a reference (e.g. from a previous customer)
  • Customers may impose a software development process

Objectives of the Entry Profile

  • The Entry Profile should provide a foundation for a migration to the Basic Profile Processes.
  • The Entry Profile could be used by VSEs to help them implement a start-up management-and-implementation process.

Project Management and Software Implementation Objectives of the Entry Profile

Since the Entry Profile has been developed using the Basic Profile (see below), to illustrate was has been added or deleted the following convention is used :

Information added or modified to the Basic Profile is shown in blue while information deleted is shown like this : strike out.

The objectives of the Project Management (PM) Process of the Entry profile, listed in the DRAFT ISO/IEC TR 29110 Part 5-1-1, are :

Objectives IDObjectives
PM.01 The Project Plan for the execution of the project is developed according to the Statement of Work and reviewed and accepted by the Customer. The tasks and resources necessary to complete the work are sized and estimated.
PM.02 Progress of the project monitored against the Project Plan and recorded in the Progress Status Record. Corrections to remediate problems and deviations from the plan are taken when project targets are not achieved. Closure of the project is performed to get the Customer acceptance documented in the Acceptance Record.
PM.03 The Changes Requests are addressed through their reception and analysis. Changes to the software requirements are evaluated for cost, schedule and technical impact.impact.
PM.04 Review meetings with the Work Team and the Customer are held. Agreements are registered and tracked.
PM.05 Risks are identified as they develop and during the conduct of the project.
PM.06 A software Version Control Strategy is developed. Items of Software Configuration are identified, defined and baselined. Modifications and releases of the items are controlled and made available to the Customer and Work Team. The storage, handling and delivery of the items are controlled. Items of Software Configuration are identified and controlled.
PM.07 Software Quality Assurance is performed to provide assurance that work products and processes comply with the Project Plan and Requirements Specification.

The objectives of the Software Implementation (SI) Process of the Entry profile, listed in the DRAFT ISO/IEC TR 29110, Part 5-1-1 are :

Objectives IDObjectives
SI.01 Tasks of the activities are performed through the accomplishment of the current Project Plan.
SI.02 Software requirements are defined, analyzed for correctness and testability, approved by the Customer,baselined and communicated.
SI.03 Software components are identified.Software architectural and detailed design is developed and baselined. It describes the software components and internal and external interfaces of them. Consistency and traceability to software requirements are established.
SI.04 Software components defined by the design are produced. Unit test are defined and performed to verify the consistency with software requirements.and the design. Traceability to the requirements and design are established.
SI.05 Software is integrated and tested, and defects are corrected. Software is produced performing integration of software components and verified using Test Cases and Test Procedures. Results are recorded at the Test Report. Defects are corrected and consistency and traceability to Software Design are established.
SI.06 Software configuration is prepared for delivery.A Software Configuration, that meets the Requirements Specification as agreed to with the Customer, which includes user, operation and maintenance documentations is integrated, baselined and stored at the Project Repository. Needs for changes to the Software Configuration are detected and related Change Requests are initiated.
SI.07 Verification and Validation tasks of all required work products are performed using the defined criteria to achieve consistency among output and input products in each activity. Defects are identified, and corrected ; records are stored in the Verification/Validation Results.

The Basic Profile

The basic profile describes software development of a single application by a single project team with no special risk or situational factors. The project may be to fulfill an external or internal contract. The internal contract need not be explicit between the project team and their client [1].

To use the Guide ( i.e. Part 5) the VSE needs to fulfil the following entry conditions :

  • Project statement of work is documented ;
  • Feasibility of the project was performed before its start ;
  • Project team, including project manager, is assigned and trained ; and
  • Goods, services and infrastructure to start the project are available.

The Basic Profile is composed of two processes (see figure 1), a Project Management process and a Software Implementation process :

  • The purpose of the Project Management process is to establish and carry out in a systematic way the tasks of the software implementation project, which allows complying with the project’s objectives in the expected quality, time and cost.
  • The purpose of the Software Implementation process is the systematic performance of the analysis, design, construction, integration and tests activities for new or modified software products according to the specified requirements.

Figure 1 — Processes of the Basic Profile (ISO/IEC TR 29110-5-1-2)

Figure 1 — Processes of the Basic Profile (ISO/IEC TR 29110-5-1-2)

Project Management and Software Implementation Objectives of the Basic Profile

The objectives of the Project Management (PM) Process of the Basic profile, as listed in ISO/IEC TR 29110 Part 5-1-2, are :

Objectives IDObjectives
PM.01 The Project Plan for the execution of the project is developed according to the Statement of Work and reviewed and accepted by the Customer. The tasks and resources necessary to complete the work are sized and estimated.
PM.02 Progress of the project is monitored against the Project Plan and recorded in the Progress Status Record. Corrections to remediate problems and deviations from the plan are taken when project targets are not achieved. Closure of the project is performed to get the Customer acceptance documented in the Acceptance Record.
PM.03 The Change Requests are addressed through their reception and analysis. Changes to software requirements are evaluated for cost, schedule and technical impact.
PM.04 Review meetings with the Work Team and the Customer are held. Agreements are registered and tracked.
PM.05 Risks are identified as they develop and during the conduct of the project.
PM.06 A software Version Control Strategy is developed. Items of Software Configuration are identified, defined and baselined. Modifications and releases of the items are controlled and made available to the Customer and Work Team. The storage, handling and delivery of the items are controlled.
PM.07 Software Quality Assurance is performed to provide assurance that work products and processes comply with the Project Plan and Requirements Specification.

The Project Management Process has the following activities (see figure 2) :

  • PM.1 Project Planning
  • PM.2 Project Plan Execution
  • PM.3 Project Assessment and Control
  • PM.4 Project Closure

Figure 2 Project Management process diagram. (ISO/IEC TR 29110-5-1-2)

Figure 2 Project Management process diagram. (ISO/IEC TR 29110-5-1-2)

The objectives of the Software Implementation (SI) Process of the Basic profile, as listed in ISO/IEC TR 29110 Part 5-1-2, are :

Objectives IDObjectives
SI.01 Tasks of the activities are performed through the accomplishment of the current Project Plan.
SI.02 Software requirements are defined, analyzed for correctness and testability, approved by the Customer, baselined and communicated.
SI.03 Software architectural and detailed design is developed and baselined. It describes the software components and internal and external interfaces of them. Consistency and traceability to software requirements are established.
SI.04 Software components defined by the design are produced. Unit test are defined and performed to verify the consistency with requirements and the design. Traceability to the requirements and design are established.
SI.05 Software is produced performing integration of software components and verified using Test Cases and Test Procedures. Results are recorded at the Test Report. Defects are corrected and consistency and traceability to Software Design are established.
SI.06 A Software Configuration, that meets the Requirements Specification as agreed to with the Customer, which includes user, operation and maintenance documentations is integrated, baselined and stored at the Project Repository. Needs for changes to the Software Configuration are detected and related Change Requests are initiated.
SI.07 Verification and Validation tasks of all required work products are performed using the defined criteria to achieve consistency among output and input products in each activity. Defects are identified, and corrected ; records are stored in the Verification/Validation Results.

The Software Implementation Process has the following activities (see figure 3) :

  • SI.1 Software Implementation Initiation
  • SI.2 Software Requirements Analysis
  • SI.3 Software Architectural and Detailed Design
  • SI.4 Software Construction
  • SI.5 Software Integration and Tests
  • SI.6 Product Delivery

Figure 3 — Software Implementation Process Diagram. (ISO/IEC TR 29110-5-1-2)

Figure 3 — Software Implementation Process Diagram. (ISO/IEC TR 29110-5-1-2)

The Intermediate Profile (Under development)

The Advanced Profile (Under development)

References

[1] Laporte, C.Y., Alexandre, S., O’Connor, R., A Software Engineering Lifecycle Standard for Very Small Enterprises, in R.V. O’Connor et al. (Eds.) : EuroSPI 2008, CCIS 16, pp. 129–141.

[2] O’Connor, R.V., Laporte, C.Y., Towards the Provision of Assistance for Very Small Entities in Deploying Software Lifecycle Standards, 11th International Conference on Product Focused Software Development and Process Improvement (Profes2010), Hosted by LERO, Ireland, June 21-23, 2010.

[3] ISO/IEC 29110-2 Software Engineering - Lifecycle Profiles for Very Small Entities (VSEs) - Part 2 : Framework and taxonomy, Geneva : International Organization for Standardization, 2011. ISO/IEC 29110-2-2011

[4] ISO/IEC TR 29110-5-1-2 Software engineering — Lifecycle profiles for Very Small Entities (VSEs) — Part 5-1-2 : Management and engineering guide : Generic profile group : Basic profile. ISO/IEC TR 29110-5-1-2-2011