Part 2. Information Technology
Chapter 120. Solution Engineering
Section 7. Solution Design Process
2.120.7 Solution Design Process
Manual Transmittal
May 29, 2024
Purpose
(1) This transmits a new IRM 2.120.7 Solution Engineering - Solution Design Process Description (PD) and Procedure.
Material Changes
(1) Making changes to IRM to be OneSDLC Compliant.
Effect on Other Documents
IRM 2.120.7, December 28, 2022 is superseded
Audience
This process description is applicable to all Information Technology (IT) organizations, contractors, and other stakeholders having responsibility for developing IT systems.
Effective Date
(05-29-2024)
Rajiv Uppal
Chief Information Officer
Program Scope and Objectives
(1) Overview -This IRM describes the formal process for implementing the requirements of the Solution Design process.
(2) Purpose -This IRM contains procedural steps for System Designers to successfully select and design solutions to requirements.
(3) Audience - These procedures apply to IRS Information Technology (IT) employees and contractors who are responsible for selecting and designing computer systems.
(4) Policy Owner - Associate Chief Information Officer (ACIO), Enterprise Services, is responsible for overseeing all aspects of our systems that operate the nation’s tax infrastructure.
(5) Program Owner - Solution Engineering division (SE), which is under Information Technology, Enterprise Services (ES).
(6) Primary Stakeholders - Application Development (AD), Cybersecurity, Enterprise Operations (Eops), Solution Engineering (SE), Enterprise Architecture (EA), User and Network Services (UNS).
(7) Program Goals - This IRM provides the fundamental knowledge and procedural guidance for those who design and implement computer systems.
Background
(1) A process is defined as “A set of related activities that accomplish a common goal”. The process definition laid out in this document further breaks down these Activities into Tasks, each of which have a complete set of attributes defined such as data and tool specifications and the role(s) responsible for executing the tasks. The document also includes process goal and objectives, metrics, role definitions, policies and other process related attributes.
Process Description
(1) This Solution Design process description describes what happens within the Solution Design process and provides an operational definition of the major components of the process. This description specifies, in a complete, precise, and verifiable manner, the requirements, design, and behavior characteristics of the Solution Design process.
Goal
(1) The process goal describes a specific purpose or achievement toward which the efforts of the process are directed. Each process has a specific focus and when combined with the other processes, forms a comprehensive framework for delivering and managing services.
Solution is selected from alternative solutions
Solution designs are developed
Authority
(1) All proposed changes to this document must be submitted in writing, with supporting rationale, to the Solution Engineering division.
Roles and Responsibilities
(1) Each process defines at least one role. Each role is assigned to perform specific tasks within the process. The responsibilities of a role are confined to the specific process. They do not imply any functional standing within the hierarchy of an organization. For example, the process manager role does not imply the role is associated with or fulfilled by someone with functional management responsibilities within the organization. Within a specific process, there can be more than one individual associated with a specific role. Additionally, a single individual can assume more than one role within the process although typically not at the same time.
Name | Description |
Solution Designer |
|
Component Designer |
|
Designers |
|
Design Team |
|
Stakeholders |
|
Quality Assurance (QA) |
|
Program Management and Review
(1) Policies outline a set of plans or courses of action that are intended to influence and determine decisions or actions of a process. Policies provide an element of governance over the process that provides alignment to business vision, mission and goals.
Process Management: |
|
Statement | The Solution Design process will have a single Process Owner and a separate Process Manager, responsible for implementation and ensuring adherence to the process. The process will be reviewed regularly to ensure that it continues to support the business requirements of the enterprise. The process will be designed and developed based on ROI to the business. Process metrics will be focused on providing relevant information as opposed to merely presenting raw data. |
People: |
|
Statement | Roles and responsibilities for the process must be clearly defined and appropriately staffed with people having the required skills and training. The mission, goals, scope and importance of the process must be clearly and regularly communicated by upper management to the staff and business customers of IT. All IT staff (direct and indirect users of the process) shall be trained at the appropriate level to enable them to support the process. |
Rationale | It is imperative that people working in, supporting or interacting with the process in any manner understand what they are supposed to do. Without that understanding Solution Design process will not be successful. |
Process: |
|
Statement | Modifications to the Solution Design process must be approved by the Process Owner. The design of the process must include appropriate interfaces with other processes to facilitate data sharing, escalation and workflow. The process must be capable of providing data to support real-time requirements as well as historical/trending data for overall process improvement initiatives. The process must be fully documented, published and accessible to various stakeholders of the process. The process will be reviewed on a periodic basis in order to ensure it continues to support organizational goals and objectives (continuous improvement). The process must include Inputs, Outputs, Controls, Metrics, Activities, Tasks, Roles and Responsibilities, Tool and Data requirements along with documented process flows. The process will be kept straight forward, rational, and easy to understand. |
Rationale | The process must meet operational and business requirements. |
Technology and Tools: |
|
Statement | All tools selected must conform to the Enterprise Architectural Standards and direction. Existing approved tools and technology will be used wherever possible, new tools will only be entertained if they satisfy a business need that cannot be met by current approved tools. The selection of supporting tools must be process driven and based on the requirements of the business. Selected tools must provide ease of deployment, customization and use. Automated workflow, notification and escalation will be deployed wherever possible to minimize delays, ensure consistency, reduce manual intervention and ensure appropriate parties are made aware of issues requiring their attention. |
Rationale | Technology and tools should be used to augment the process capabilities, not become an end themselves. |
Program Control
(1) Activities involved in ensuring a process is predictable, stable, and consistently operating at the target level of performance.
Control
(1) Process controls represent the policies and guiding principles on how the process will operate. Controls provide direction over the operation of processes and define constraints or boundaries within which the process must operate.
Name | Description |
Solution Engineering Policy (Directive) | The project will include in its engineering plan, either by inclusion or reference, planning materials specifying how the following will be accomplished:
|
Scope | All projects will follow the Solution Design process which will be used to select, design, and implement solutions to requirements and associated activities in accordance with this policy. |
Metrics
(1) Metrics are used for the quantitative and periodic assessment of a process. They should be associated with targets that are set based on specific business objectives. Metrics provide information related to the goals and objectives of a process and are used to take corrective action when desired results are not being achieved and can be used to drive continual improvement of process effectiveness and efficiency.
(2) Management will regularly set targets for process performance, gather quantifiable data related to different functions of the Solution Design process, and review that data in order to make informed decisions and take appropriate corrective action, if necessary. All measurements will have a defined data dictionary, map to the organizational strategic goals, and be documented in a Process Measurement Plan. The Process Measurement Plan template is available in the IT PAL.
Tailoring Guidelines
(1) The tailoring guidelines identify the allowable variations of the IT organization’s standard process as needed for adjustments (adding, deleting, modifying) relative to specific operational or functional needs of another organization. Process tailoring is about roles and procedures, not the standard process or major activities defined in this process. All tailoring request, with supporting rationale, must be submitted in writing to and approved by the Solution design Process owner.
(2) Step 1: “Develop Alternative Solutions” may be tailored out when a project is a maintenance project whose design is dictated by the existing system or the design of the system is fully constrained by the Enterprise Architecture. If this step is tailored out, the following work products are not required:
Alternative solution screening criteria
Evaluation reports of new technologies
Alternative solutions
(3) Step 2: “Develop Selection Criteria” may be tailored out when a project is a maintenance project whose design is dictated by the existing system or the design of the system is fully constrained by the Enterprise Architecture. If this step is tailored out, the following work products are not required:
Define selection criteria
Selection criteria for final selection
(4) Step 3: “Evaluate and Select Solution” may be tailored out when a project is a maintenance project whose design is dictated by the existing system or the design of the system is fully constrained by the Enterprise Architecture. If this step is tailored out, the following work products are not required:
Evaluate each alternatives using the defines criteria
Select solution design
(5) Step 4: “Perform Make, Buy, or Reuse Analysis” may be tailored out when the project is a maintenance project whose design is dictated by the existing system or the design of the system is fully constrained by the Enterprise Architecture. If this step is tailored out, the following work products are not required:
Criteria for design and solution component reuse
Make-or-buy analysis
Guidelines for choosing COTS solution components
(6) Step 5: “Collect Technical Details” may be tailored when the project is a maintenance project whose design is dictated by the existing system, no significant change is made to the systems logical design, and approved equivalent documentation exists. Updates to the equivalent documentation may be substituted and the activities modified as needed to support the updating of the documentation. The list of approved equivalent documentation is available on the IPM PAL. If the work product Documented Solutions, Evaluations, and Rationale is tailored out, references to existing requirements and traceability matrixes must be substituted.
(7) Step 6: “Design the Solution Components” may not be tailored out. If the work product Documented Solutions, Evaluations, and Rationale is tailored out then references to the enterprise Architecture or to existing design documentation must be substituted.
Terms/Definitions/Acronyms
(1) Terms/Definitions/Acronyms
Terms and Definitions
(1) Terms and Definitions
Term | Definition |
Customer requirement | The result of eliciting, consolidating, and resolving conflicts among the needs, expectations, constraints, and interfaces of the product’s relevant stakeholders in a way that is acceptable to the customer. |
Solution Design process | The process used to select, design, and implement solutions to requirements. |
RACI | The RACI model is based on the principle that people act in one of four ways when executing a task. It accounts for the fact that more than one role may be active in performing a specific task while clearly defining specific responsibilities for that role. While many roles may be involved in a task only one is Accountable for the results. “The actions are: R Responsible for the action (may do the task) A Accountable for the action (including approval) C Required to be Consulted on the action I Required to be Informed of the action If a task does not have an Accountable role indicated then the Responsible role is assumed to be accountable for the task.” |
Acronyms
(1) Acronyms
Acronyms | Definition |
COTS | Commercial Off The Shelf |
OneSLDC | One Solution Delivery Lifecycle |
ES | Enterprise Services |
IPM | Integrated Process Management |
IRM | Internal Revenue Manual |
IRS | Internal Revenue Service |
IT | Information Technology |
PAL | Process Asset Library |
PD | Process Description |
PMI | Project Management Institute |
QA | Quality Assurance |
RACI | Responsible, Accountable, Consulted and Informed |
SDSR | Simplified Design Specification Report |
SE | Solution Engineering |
SD | Solution Design |
VSA | Vision, Scope and Architecture |
Training
(1) Process training involves training all stakeholders about key processes that are crucial for an organization to deliver business objectives. Training provides clarity to employees on a set of procedures that needs to be carried out as part of the process and the best possible way to do them. The training resources available for this process are listed below:
Solution Design process training
Process Workflow
(1) A process workflow consists of Activities and Tasks, Inputs and Outputs, Roles, and Flow Diagrams. It describes the tasks, procedural steps, organizations or people involved, required input and output information, and tools needed for each step of the process.
Inputs
(1) Process inputs are used as triggers to initiate the process and to produce the desired outputs. Users, stakeholders or other processes provide inputs. The following is a list of inputs for this process:
Name | Description | Supplier |
Approved System Requirements | System requirements are used in determine the expected outcome of the solution. | VSA (Vision, Scope, and Architecture) for Agile |
Allocated Customer Requirements | Allocated requirements are used to give context to the system requirements. | VSA |
Operation Concept | Concept of operation is used to give context to the system and allocated customer requirements | Solution Concept, , VSA |
Functional Architecture | Functional architecture is used to give context to the system requirements | VSA |
Design Constraints | Constraints are used to limit design and implementation alternatives | Solution Engineering Software Engineering Practice Group |
Outputs
(1) Each process produces tangible outputs. These outputs can take the form of products or data and can be delivered to a user or stakeholder, or, they can be used as inputs to other processes. Outputs are measurable in terms of quantity and quality.
Name | Description | Recipient |
Technical Details | Technical Detail will document the following:
| Engineering Documentation Process |
Activities
(1) An activity is a major unit of work to be completed in achieving the objectives of the process. A process consists of a sequence of related activities that transforms inputs into outputs and performed by the roles defined in the process. Identify the activities in the process and provide a brief description. The activities must correspond with the high-level process flow diagram above.
ID | Name | Description |
SD 1.0 | Develop Alternative Solutions | To determine possible alternative solutions that meet requirements, define criteria to select the solution, and to select the components to be used in the solution.
|
SD 2.0 | Develop Selection Criteria | To develop criteria to select the solution.
|
SD 3.0 | Evaluate and Select Solution | To evaluate and select solution.
|
SD 4.0 | Perform Make, Buy, or Reuse Analysis | To ensure that components and design patterns are reused when appropriate and ensures that reuse of components and design patterns conform to organization and project policy.
|
SD 5.0 | Collect Technical Details | To collect all technical details:
|
SD 6.0 | Design the Solution Components | To literately design the solution and its sub-components. During the early iteration a logical / preliminary design is produced. During later iterations the detailed design is produced.
|
Procedure
(1) A procedure provides the step by step instructions, or tasks, in how to perform each activity in the process and usually applies to a single role that will be responsible in performing the task.
SD 1.0: Develop Alternative Solutions
(1) This step is to determine possible alternative solutions that meet requirements
ID | Task Name and Description | Role | RACI* | Duties |
SD 1.1 | Develop screening criteria to select a set of alternative solutions for consideration | Designers | RA |
|
SD 1.2 | Identify candidate COTS products that meet the requirements | Designers | RA |
|
SD 1.3 | Identify technologies currently in use and new Solution technologies for competitive advantage- efficiency | Designers | RA |
|
SD 1.4 | Identify re-usable solution components or applicable architecture patterns | Designers | RA |
|
SD 1.5 | Generate alternative solutions | Design Team | RA |
|
SD 1.6 | Obtain a complete requirements allocation for each alternative | Design Team | RA |
|
Note: *RACI is a responsibility matrix that describes the participation by various roles in completing the tasks or deliverable for a project or business process. RACI is derived from the four key responsibilities typically used:
Responsible – The person that is assigned to do the work.
Accountable – The person that makes the final decision and has ultimate ownership.
Consulted – The person that must be consulted before a decision or action is taken.
Informed – The person that must be informed that a decision or action has been taken.
SD 2.0: Develop Selection Criteria
(1) This step is to define criteria to select the solution
ID | Task Name and Description | Role | RACI* | Duties |
SD 2.1 | Develop the criteria for selecting the best alternative solution | Designers | RA |
|
SD 2.2 | Assess the adequacy of the selection criteria | Design Team | RA |
|
Note: *RACI is a responsibility matrix that describes the participation by various roles in completing the tasks or deliverable for a project or business process. RACI is derived from the four key responsibilities typically used:
Responsible – The person that is assigned to do the work.
Accountable – The person that makes the final decision and has ultimate ownership.
Consulted – The person that must be consulted before a decision or action is taken.
Informed – The person that must be informed that a decision or action has been taken.
SD 3.0: Evaluate and Select Solution
(1) This step is to evaluate and select Solution
ID | Task Name and Description | Role | RACI* | Duties |
SD 3.1 | Evaluate each alternative solution | Design Team | RA |
|
SD 3.2 | Identify and resolve issues with the alternative solutions and requirements | Design Team | RA |
|
SD 3.3 | Select the best alternative solution | Design Team | RA |
|
SD 3.4 | Allocate the functional and quality attribute requirements for the selected components | Design Team | RA |
|
SD 3.5 | Identify Components to be reused or acquired | Design Team | RA |
|
SD 3.6 | Identify and resolve issues with Component Requirements | Design Team | RA |
|
Note: *RACI is a responsibility matrix that describes the participation by various roles in completing the tasks or deliverable for a project or business process. RACI is derived from the four key responsibilities typically used:
Responsible – The person that is assigned to do the work.
Accountable – The person that makes the final decision and has ultimate ownership.
Consulted – The person that must be consulted before a decision or action is taken.
Informed – The person that must be informed that a decision or action has been taken.
SD 4.0: Perform Make, Buy, or Reuse Analysis
(1) This step is to ensure that components and design patterns are reused when appropriate and to assure that reuse of components and design patterns conform to organization and project policy
SD 4.1 | Develop criteria for the reuse of Solution components and guidelines for use of COTS | Solution Designer, Component Designer | RA |
|
SD 4.2 | Review criteria for reuse of Solution components | Design Team, Stakeholders | RAI |
|
SD 4.3 | Analyze designs to determine if solution components should be developed, reused or purchased | Solution Designer, Component Designer | RAI |
|
SD 4.4 | Analyze implications for maintenance when considering purchase or non-developmental items | Solution Designer, Component Designer | RA |
|
SD 4.5 | Review analysis and decide which components are to be developed, re-used, and purchased | Design Team, Stakeholders | RA |
|
Note: *RACI is a responsibility matrix that describes the participation by various roles in completing the tasks or deliverable for a project or business process. RACI is derived from the four key responsibilities typically used:
Responsible – The person that is assigned to do the work.
Accountable – The person that makes the final decision and has ultimate ownership.
Consulted – The person that must be consulted before a decision or action is taken.
Informed – The person that must be informed that a decision or action has been taken.
SD 5.0 Collect Technical Details
(1) To collect all documentation into a single package and to determine the level of detail to be retained.
SD 5.1 | Collect Technical Details | Solution Designer, Component Designer | RA |
|
Note: *RACI is a responsibility matrix that describes the participation by various roles in completing the tasks or deliverable for a project or business process. RACI is derived from the four key responsibilities typically used:
Responsible – The person that is assigned to do the work.
Accountable – The person that makes the final decision and has ultimate ownership.
Consulted – The person that must be consulted before a decision or action is taken.
Informed – The person that must be informed that a decision or action has been taken.
SD 6.0 Design the Solution Components
(1) To outline the activities required to design the solution and its sub-components. During the early iteration a logical / preliminary design is produced. During later iterations the detailed design is produced
SD 6.1 | Establish and maintain applicable design standards and criteria | Solution Designer | RA |
|
SD 6.2 | Ensure the design adheres to the design standards and criteria | Solution Designer | RA |
|
SD 6.3 | Ensure the design adheres to allocated requirements | Solution Designer | RA |
|
SD 6.4 | Design the solution / set of solution components | Design Team | RA |
|
SD 6.4.1 | Check for “All components designed?” | Design Team | RA |
|
SD 6.5 | Review Design | Stakeholders | I |
|
SD 6.6 | Revise design and technical details | Design Team | RA |
|
Note: *RACI is a responsibility matrix that describes the participation by various roles in completing the tasks or deliverable for a project or business process. RACI is derived from the four key responsibilities typically used:
Responsible – The person that is assigned to do the work.
Accountable – The person that makes the final decision and has ultimate ownership.
Consulted – The person that must be consulted before a decision or action is taken.
Informed – The person that must be informed that a decision or action has been taken.