EXHIBIT L. Application Development Processes

Similar documents
The Project Management Plan will be used to guide, communicate and coordinate project efforts.

VAIL-Plant Asset Integrity Management System. Software Development Process

Enterprise Test Management Standards

Exhibit F. VA CAI - Staff Aug Job Titles and Descriptions Effective 2015

Reaching CMM Levels 2 and 3 with the Rational Unified Process

CDC UNIFIED PROCESS PRACTICES GUIDE

Peer Review Process Description

Appendix 2-A. Application and System Development Requirements

SA Tool Kit release life cycle

Publication 805-A Revision: Certification and Accreditation

Peer Review Process Description

From Chaos to Clarity: Embedding Security into the SDLC

Modellistica Medica. Maria Grazia Pia, INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

MKS Integrity & CMMI. July, 2007

4.12 System Development

POLAR IT SERVICES. Business Intelligence Project Methodology

SOFTWARE QUALITY & SYSTEMS ENGINEERING PROGRAM. Quality Assurance Checklist

Infrastructure Information Security Assurance (ISA) Process

Software Development Processes

MIS Systems & Infrastructure Lifecycle Management 1. Week 13 April 14, 2016

Project Lifecycle Management (PLM)

Camber Quality Assurance (QA) Approach

Essential QA Metrics for Determining Solution Quality

Construction Management System (CMS) Deliverable Review Process

Capability Maturity Model Integration (CMMI SM ) Fundamentals

Request for Proposal for Application Development and Maintenance Services for XML Store platforms

A Model for Effective Asset Re-use in Software Projects

How To Integrate Software And Systems

Your Software Quality is Our Business. INDEPENDENT VERIFICATION AND VALIDATION (IV&V) WHITE PAPER Prepared by Adnet, Inc.

A discussion of information integration solutions November Deploying a Center of Excellence for data integration.

5 Steps To Successful ERP Implementation

System Build 2 Test Plan

MNLARS Project Audit Checklist

Exhibit 1 to March 12, 2015 Letter to Joint Chairmen

Montana Department of Transportation Information Services Division. System Development Life Cycle (SDLC) Guide

Product Build. ProPath. Office of Information and Technology

Reduce Medical Device Compliance Costs with Best Practices.

How Rational Configuration and Change Management Products Support the Software Engineering Institute's Software Capability Maturity Model

Statement of Work: SharePoint Migration Services. Supplement 1

SECTION 4 TESTING & QUALITY CONTROL

Efficient Automated Build and Deployment Framework with Parallel Process

4.13 System Testing. Section 4 Bidder's Products, Methodology, and Approach to the Project System Training

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

Chapter 5. Choose the answer that mostly suits each of the sentences given:

Project Implementation Process (PIP)

Requirements Management Database

SEVEN KEY TACTICS FOR ENSURING QUALITY

The purpose of Capacity and Availability Management (CAM) is to plan and monitor the effective provision of resources to support service requirements.

Certification Authorities Software Team (CAST) Position Paper CAST-26

Test Automation Process

Configuration Management Practices

Chap 1. Introduction to Software Architecture

Development Testing for Agile Environments

Re: RFP # 08-X MOTOR VEHICLE AUTOMATED TRANSACTION SYSTEM (MATRX) FOR MVC ADDENDUM #10

1. Introduction. Annex 7 Software Project Audit Process

Increasing business values with efficient Software Configuration Management

Volume I, Section 4 Table of Contents

Standard Glossary of Terms Used in Software Testing. Version 3.01

Project Management Guidelines

Classical Software Life Cycle Models

CMMI KEY PROCESS AREAS

Basic Unified Process: A Process for Small and Agile Projects

Software Engineering. Software Processes. Based on Software Engineering, 7 th Edition by Ian Sommerville

Build (develop) and document Acceptance Transition to production (installation) Operations and maintenance support (postinstallation)

Streamlining Patch Testing and Deployment

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Software Project Audit Process

HP Service Manager. Software Version: 9.34 For the supported Windows and UNIX operating systems. Processes and Best Practices Guide

Input, Output and Tools of all Processes

Software infrastructure for Java development projects

Documentation Management Portal Implementation Statement of Work

Software Configuration Management Plan

Appendix H Software Development Plan Template

CONFIGURATION MANAGEMENT PLAN GUIDELINES

How To Write An Slcm Project Plan

Data Management Maturity Model. Overview

Project Management Process

CHAPTER 7 Software Configuration Management

An Oracle White Paper November Upgrade Best Practices - Using the Oracle Upgrade Factory for Siebel Customer Relationship Management

Java Software Quality Tools and techniques

Big Data Engineer Position Description

FSW QA Testing Levels Definitions

White Paper Software Quality Management

MHRA GMP Data Integrity Definitions and Guidance for Industry March 2015

Balancing the Outsourcing Equation

Controlling Risks Safety Lifecycle

Seven Practical Steps to Delivering More Secure Software. January 2011

Software Project Management using an Iterative Lifecycle Model

Transcription:

EXHIBIT L Application Development Processes

Optum Development Methodology Development Overview Figure 1: Development process flow The Development phase consists of activities that include the building, code review, unit testing and assembly testing of all release components (i.e. user interfaces, program code, interfaces, databases, etc.). Prior to the start of System Test execution, development verification is conducted to ensure all activities have been completed successfully. The Optum Development Methodology (ODM) defines various testing activities. The Test Model diagram below depicts how each testing activity ties back to the various phases within ODM.

Detailed Design and Build Activities The left side of the Development model demonstrates the design activities completed during the release lifecycle. This includes: Build Requirements analysis - identifies application specifications High-level design - identifies architectural components to meet requirements Detailed design - identifies detailed behavior of components Application build constructs the required components. This includes: Database Components Database Component Build follows the design activities for the database from the Data Architecture Definition and Data Architecture Design activities. In this step, the approved designs are executed in the development environment for the release. This includes new database objects, modifications to existing databases, and interim data components specified in the designs. This step applies to any type of database regardless of platform. This step may not be necessary if there is no database work required for the release. However, when database work is part of the release, this step must happen prior to the building of Application components that are dependent upon the database implementation. For application components that are not dependent on database changes, the build activities may proceed in parallel. To build a database component, the following activities are performed: Obtain the appropriate Physical Data Model, Data Conversion Design, Application Interface Specifications artifacts for the release. Utilize the data architect to gain knowledge about the details. Review the artifacts with the development lead and/or developer and follow-up on any outstanding questions. Perform the relevant activities in the database as described in the detailed design artifacts. Review the component being developed with release team members and design partners to ensure that the component meets the design and application specifications. Ensure that the component is synchronized with other build activities. Guidelines (required): Use of automation and data modeling tools aid in maintainability of the database. Use of version control and base lining of all code. Maintain and update documented code via the standards document included in the reference section below. Application Components Utilizing the Technical Specifications and Data Conversion Design artifacts developed within the Detailed Design phase, create the components, including programs, screens, Web objects, batch

programs, reports, interfaces, etc. All components must follow the application development standards specified for the type of component being built. To build an application component, conduct the following activities: Obtain the appropriate Technical Specifications and/or Data Conversion Design, Application Interface Specification Document artifact(s) for the release. Review the artifacts with the Development Lead and team and resolve any outstanding questions or issues. Perform the relevant development activities in the application as described in the artifacts. Check out source code from appropriate version control system. Development teams must ensure that source code is protected per Optum corporate Security Policies. Perform code changes to the component, following Optum s documented application coding standards. Changes to batch components are required to adhere to the Optum Batch Standards. The Batch Standards define how to handle files, reports, error processing, restarts and job and file naming conventions. Add comments to the code explaining why the changes are being made, per Optum documentation standards. Perform peer review of code per Optum peer review standards. Compile code to ensure a clean compile and build. Use code scanning tool output as appropriate (e.g., checkstyle, PMD, FindBugs, etc.). Ensure that the component is synchronized with other build activities. Guidelines (required): When building or modifying Application interfaces, use the Application Interface Specifications document. When organizing the sequence of Application components being built, consider completing work on Data Conversion(s) first, since Unit Testing of other components may depend on data converted by these programs. Use appropriate development tools approved by Optum during development. Use version control and Baseline all code. Maintain and update documented code via the standards document included in the reference section below. Store artifacts in the application s document management. Code Review Applications are required to complete code reviews for all projects. The primary purpose of a code review is to critique the code and remove coding defects during the development phase lifecycle, prior to promoting the code to System Test. Code reviews are conducted after a successful build. Teams have the option of reviewing code by author, project, or module/component. Activities required to complete the code review process are: The Development Lead (or delegate) identifies the reviewers and schedules the review meeting

Prior to the meeting, the reviewers conduct an independent review of the code and complete the Code Review and Defect Tracking Workbook. During the review meeting, the reviewers walk through their findings with the Author. The Development Lead updates the Code Review and Defect Tracking Workbook with the agreed upon defects. The Author performs all required rework. Note: If updates to the code are substantial, a follow-up peer review is conducted. The Author updates the Code Review and Defect Tracking Workbook with the defect resolution and final status and stores the artifact in the application s document management tool. Guidelines: Unit Test Reference ODM code review procedures for step by step instructions on completing a code review. Utilize all available code scanning tools to uncover and correct all defects prior to conducting the code review. Application Development must follow the Release Entry Framework (REF) Process and include Production Operational Support in the code review meetings. Release artifacts must be available for audit 36 months post production. Follow Enterprise Records Management Retention Policy for document management thereafter. Unit Test verifies that individual units of source code are working properly. The objective of unit testing is to test not only the functionality of the code, but to ensure that the code is structurally sound and robust and able to respond appropriately in all conditions. Unit test includes the following activities: Creation of unit test scripts Execution of unit test scripts Validation of unit test scripts It is a recommended best practice that the following entry criteria be met before proceeding with Unit Test: The Test Plan has been approved by the required stakeholders Each component has been coded and successfully compiled Code has undergone code review Unit Test environment is created and available Guidelines (required): Reference High Level Design and/or Data Conversion designs, to create test scripts for the specific development component. Execute Unit Test Scripts. Repeat, as necessary, if fixes are required to the component. Execute until all test conditions have been executed successfully.

All IT Application teams are required to track and manage software defects. If an automated Tool for Defect Tracking and Management is used, refer to tool usage procedures or Best Practices documentation. Defect tracking is critical for analyzing defect trends and proposing process improvements which focus on defect prevention. Consider the use of tools to automate unit testing where possible If the release includes batch applications, refer to the Optum Batch Standards for required batch standards. Ensure that Unit Test considers all technical specifications for each component, including access control, Applications security features and Design Patterns. Example Test Criteria for information security threat countermeasures are available in the ODM Artifact Repository. For Web Applications, refer to the Web Deployment Checklist sheet of the Deployment Readiness Checklist for additional security activities to be started at this time. Upon completion of Unit Test, ensure all debug settings and logins that are not needed for User Acceptance Test have been disabled. Provide a list of those settings that have not been disabled to the Release Manager for inclusion in the Deployment Readiness Checklist. Assembly Test Assembly Test ensures that related components function properly when assembled together. Testing the application component interfaces verifies that correct data is passed between components. At the completion of Assembly Testing, all component interfaces within the Application are executed and verified that they are working according to specifications. Assembly Test follows Unit Test and precedes System Test. It is a recommended best practice that the following entry criteria be met before proceeding with Assembly Test: All components within the application have been Unit Tested Identified defects in a given component have been corrected and re-tested or documented with the reason the defect has not been fixed. Assembly Test environment is created and available Guidelines: Ensure that Assembly Test includes all impacted components. Reference High Level Design documents when creating Assembly Test Scripts Track and manage software defects. If an automated Tool for Defect Tracking and Management is used, refer to tool usage procedures or Best Practices documentation. Defect tracking is critical for analyzing defect trends and proposing process improvements which focus on defect prevention. Upon completion of Assembly-level testing, all defects that remain unresolved are documented and communicated to the Test Organization during Entry Criteria Review Session. It is a System Test Entry Criteria Requirement to review all open/outstanding Assembly Test defects in order to determine that they are not showstoppers for System test. Final Assembly test results should be documented via the Test Tool or in the Test Summary Report. Upon completion of Assembly Test, ensure all test code is removed from the Application build before System Test.