Establish and maintain identified solutions in line with enterprise requirements covering design, development, procurement/sourcing and partnering with suppliers/vendors. Manage configuration, test preparation, testing, requirements management and maintenance of business processes, applications, information/data, infrastructure and services.
Establish timely and cost-effective solutions capable of supporting enterprise strategic and operational objectives>
Design High-Level Solutions
Establish a high-level design specification that translates the proposed solution into business processes, supporting services, applications, infrastructure, and information repositories capable of meeting business and enterprise architecture requirements.
Involve appropriately qualified and experienced users and IT specialists in the design process to make sure that the design provides a solution that optimally uses the proposed IT capabilities to enhance the business process.
Create a design that is compliant with the organization’s design standards, at a level of detail that is appropriate for the solution and development method and consistent with business, enterprise and IT strategies, the enterprise architecture, security plan, and applicable laws, regulations, and contracts.
After quality assurance approval, submit the final high-level design to the project stakeholders and the sponsor/business process owner for approval based on agreed-on criteria. This design will evolve throughout the project as understanding grows.
Design Detailed Solutions Components
Develop Solution Components
Develop business processes, supporting services, applications and infrastructure, and information repositories based on agreed-on specifications and business, functional and technical requirements.
When third-party providers are involved with the solution development, ensure that maintenance, support, development standards, and licensing are addressed and adhered to in contractual obligations.
Track change requests and design, performance, and quality reviews, ensuring active participation of all impacted stakeholders.
Document all solution components according to defined standards and maintain version control over all developed components and associated documentation.
Assess the impact of solution customization and configuration on the performance and efficiency of acquired solutions and on interoperability with existing applications, operating systems, and other infrastructure. Adapt business processes as required to leverage the application capability.
Ensure that responsibilities for using high security or restricted access infrastructure components are clearly defined and understood by those who develop and integrate infrastructure components. Their use should be monitored and evaluated.
Procure Solution Components
Create and maintain a plan for the acquisition of solution components, considering future flexibility for capacity additions, transition costs, risk, and upgrades over the lifetime of the project.
Review and approve all acquisition plans, considering risk, costs, benefits, and technical conformance with enterprise architecture standards.
Assess and document the degree to which acquired solutions require adaptation of the business process to leverage the benefits of the acquired solution.
Follow required approvals at crucial decision points during the procurement processes.
Record receipt of all infrastructure and software acquisitions in an asset inventory.
Integrate and configure business and IT solution components and information repositories in line with detailed specifications and quality requirements. Consider the role of users, business stakeholders, and the process owner in the configuration of business processes.
Complete and update business process and operational manuals, where necessary, to account for any customization or special conditions unique to the implementation.
Consider all relevant information control requirements in solution component integration and configuration, including implementation of business controls, where appropriate, into an automated application, controls such that processing is accurate, complete, timely, authorized, and auditable.
Implement audit trails during configuration and integration of hardware and infrastructural software to protect resources and ensure availability and integrity.
Consider when the effect of cumulative customizations and configurations (including minor changes that were not subjected to formal design specifications) require a high-level reassessment of the solution and associated functionality.
Ensure the interoperability of solution components with supporting tests, preferably automated.
Configure acquired application software to meet business processing requirements.
Define service catalogs for relevant internal and external target groups based on business requirements.
Perform Quality Assurance
Define a QA plan and practices including, e.g., specification of quality criteria, validation and verification processes, the definition of how quality will be reviewed, necessary qualifications of quality reviewers, and roles and responsibilities for the achievement of quality.
Frequently monitor the solution quality based on project requirements, enterprise policies, adherence to development methodologies, quality management procedures, and acceptance criteria.
Employ code inspection, test-driven development practices, automated testing, continuous integration, walk-throughs, and testing of applications as appropriate. Report on outcomes of the monitoring process and testing to the application software development team and IT management.
Monitor all quality exceptions and address all corrective actions. Maintain a record of all reviews, results, exceptions, and corrections—repeat quality reviews, where appropriate, based on the amount of rework and corrective action.
Prepare for Solution Testing
Execute Solution Testing
Undertake testing of solutions and their components in accordance with the testing plan. Include testers independent from the solution team, with representative business process owners and end-users. Ensure that testing is conducted only within the development and test environments.
Use clearly defined test instructions, as defined in the test plan, and consider the appropriate balance between automated scripted tests and interactive user testing.
Undertake all tests in accordance with the test plan and practices, including the integration of business processes and IT solution components and of non-functional requirements (e.g., security, interoperability, usability).
Identify, log, and classify (e.g., minor, significant, and mission-critical) errors during testing. Repeat tests until all significant errors have been resolved. Ensure that an audit trail of test results is maintained.
Record testing outcomes and communicate results of testing to stakeholders in accordance with the test plan.
Manage Changes to Requirements
Assess the impact of all solution change requests on the solution development, the original business case and the budget, and categorize and prioritize them accordingly.
Track changes to requirements, enabling all stakeholders to monitor, review, and approve the changes. Ensure that the outcomes of the change process are fully understood and agreed on by all the stakeholders and the sponsor/business process owner.
Apply change requests, maintaining the integrity of integration and configuration of solution components. Assess the impact of any major solution upgrade and classify it according to agreed-on objective criteria (such as enterprise requirements), based on the outcome of the analysis of the risk involved (such as the impact on existing systems and processes or security), cost-benefit justification and other requirements.
Develop and execute a plan for the maintenance of solution components that includes periodic reviews against business needs and operational requirements such as patch management, upgrade strategies, risk, vulnerabilities assessment, and security requirements.
Assess the significance of proposed maintenance activity on current solution design, functionality, and/or business processes. Consider risk, user impact, and resource availability. Ensure that the business process owners understand the effect of designating changes as maintenance.
In the event of major changes to existing solutions that result in a significant change in current designs and/or functionality and/or business processes, follow the development process used for new systems. For maintenance updates, use the change management process.
Ensure that the pattern and volume of maintenance activities are analyzed periodically for abnormal trends indicating underlying quality or performance problems, cost/benefit of a major upgrade, or replacement in lieu of maintenance.
For maintenance updates, use the change management process to control all maintenance requests.
Define IT Services and Maintain the Service Portfolio
Propose definitions of the new or changed IT services to ensure that the services are fit for purpose. Document the proposed service definitions in the portfolio list of services to be developed.
Propose new or changed service level options (service times, user satisfaction, availability, performance, capacity, security, continuity, compliance, and usability) to ensure that the IT services are fit for use. Document the proposed service options in the portfolio.
Interface with business relationship management and portfolio management to agree on the proposed service definitions and service level options.
If service change falls within agreed-on approval authority, build the new or changed IT services or service level options. Otherwise, pass the service change to portfolio management for investment review.