Information Technology Bulletin
Commonwealth of Pennsylvania
Governor's Office of Administration/Office for Information Technology
ITB Number: ITB-APP001 AR1
ITB Title: Business Solutions Center of Excellence (BSCoE)
Issued by: Deputy Secretary for Information Technology
Date Issued: July 22, 2005 Date Revised: June 21, 2007
Domain: Application
Discipline: Application Development
Technology Area:
Abstract:
The purpose of this Information Technology Bulletin (ITB) is to establish enterprise-
wide standards and guidance for Application Development through the Business
Solutions Center of Excellence (BSCoE). BSCoE has been established to reduce
development and maintenance costs and improve security and services utilizing
Commonwealth-wide assets and resources. An additional benefit is the reduction in
complexity of business processes and products through the delivery of standardized
business processes, procedures, tools and methodologies.
BSCoE employs a service-oriented approach to applying technology to solve business
problems through the effective utilization of standard development technologies and
practices to deliver reusable business services. This is achieved by the establishment
of the Pennsylvania Enterprise Asset Repository (PEAR). PEAR is a repository that
consists of Enterprise standards, best practices, software engineering artifacts,
business and technical services including reusable software assets.
The core application development services offered by BSCoE include:
Best practices, patterns, templates, and sample artifacts for application
development.
Microsoft .NET and Java frameworks that provide infrastructure services such
as database access and cryptography.
BSCoE Software Engineering Process (SEP), a collection of process assets that
standardize and expedite the software development process.
PEAR, a Commonwealth-wide reuse and metadata repository.
The Microsoft .NET, Java Frameworks and the BSCoE SEP are not static in nature.
Rather, these asset collections profit over time from organic growth through agency
contributions. Agencies are strongly encouraged to submit both process and
technology assets for incorporation into PEAR.
The BSCoE Information Portal (BIP) is the mechanism for submitting changes,
making requests, accessing the development frameworks, SEP, and current
capabilities and resources of BSCoE. The BIP can be accessed at
www.bscoe.state.pa.us.
BSCoE is not solely a coding effort; it is a different approach to the way in which the
Commonwealth fulfills business needs. It embodies the development of a Service
Oriented Architecture (SOA) that looks at each of the business elements as services,
breaking down the development of new solutions into building blocks that can be
ITB-APP001 Business Solutions Center of Excellence – Page 1 of 5
reused in many applications. It requires a disciplined approach to business
requirements gathering, design, development, change control, quality assurance,
deployment and maintenance. BSCoE provides business solutions faster, at lower
cost, with greater reliability and flexibility. It promotes cross agency development
efforts and fosters a common approach to training and education for all development
teams. It provides uniformity of approach, process and results, allowing projects to
leverage the broad pool of resources and assets that currently exist within the
Commonwealth.
The BSCoE standards provide guidance to agencies as they plan for new application
development projects or make significant investments in existing applications. The
following documents provide guidance to agencies on the current standards and the
status of other products that are being used or being considered for use by BSCoE:
Application Development Languages: Product Standards
Application Development Tools: Product Standards
Load and Performance Testing Tools: Product Standards
Testing and Debugging Tools: Product Standards
Web Development Frameworks: Product Standards
Requirements, Data and Object Modeling Tools: Product Standards
Messaging Products: Product Standards
Application Development Methodologies: Product Standards
Requirements Management Tools: Product Standards
Software Configuration Management Tools: Product Standards
Software Change Management Tools: Product Standards
The Technology Life Cycle Classifications document provides definitions for each of
the Life Cycle Classifications associated with the above product standards.
In addition, application development standards and best practices to ensure effective
reuse, ease of maintenance, extensibility, performance, interoperability and quality
are defined as part of BSCoE.
General:
This ITB applies to all departments, boards, commissions and councils under the
governor's jurisdiction (agencies). Agencies not under the governor's jurisdiction are
encouraged to follow this policy to ensure they develop and implement applications
that facilitate enterprise-wide interoperability and standardization.
Policy:
Beginning July 1, 2007, all new application development projects or significant
modifications to existing applications executed by Commonwealth agencies and/or
contractors delivering IT services to the Commonwealth are to utilize BSCoE for the
following:
Incorporate BSCoE software components in their application.
Make use of the standards, templates, and practices defined in the BSCoE
Software Engineering Process.
Obtain mentoring and training from BSCoE, beginning at project inception,
directly or through the agency’s Local Center of Excellence.
Identify and create any architecturally significant and reusable software services
and other assets and contribute, through BSCoE, to the Commonwealth reusable
asset repository.
ITB-APP001 Business Solutions Center of Excellence – Page 2 of 5
Note: The agency and BSCoE may mutually agree to develop the reusable asset in a
variety of ways including: developed by the agency and submitted for reuse with or
without support from the agency; developed and supported by BSCoE; or developed
by the agency and later transfer support/maintenance to BSCoE).
BSCoE can be contacted at ra-bscoe@state.pa.us.
Major revisions to existing applications that are not using the current standards will
be reviewed as part of the IT Procurement Review Process to determine, if the
investment warrants a change in standards at that time. For applications using
languages, tools and frameworks classified as "Retire,” a date for migration off this
technology has been established. A definition for the classification of "Retire" can be
found in Technology Life-Cycle Classifications.
IT projects related to application development will be subject to review prior to
inception for compliance with this standard through a review by Communities of
Practice (CoP) and/or the Procurement Review Processes.
The main objectives of this policy are to:
Provide a more uniform approach to application development
Provide a common method of setting and achieving enterprise priorities
Reduce costs for application development
Decrease time to production for applications
Enhance and promote standardization
Enhance information sharing
Increase coordinated IT security
Reduce redundancy
Improve utilization of IT resources
Provide a developed set of core technologies
Provide a standard approach to application development training and
utilization of resources
The Application Domain Team is engaged to set Application Development Standards
for the Commonwealth. The Domain Team evaluated the application development
languages, tools, and methodologies currently deployed within the Commonwealth,
the projected market longevity, existing platform, technical, and support capabilities,
performance and management functionality, and other relevant business and
technical criteria to support their recommendation.
Development Standards and Best Practices Supported:
Application development standards and best practices have been compiled by the
Application Domain Team through BSCoE. These standards and best practices have
applicability across all current standard products and are to be used for all
application development efforts.
BSCoE Component Frameworks – A Service Oriented Architecture leads to an
architecture that is flexible, accommodates change, is intuitively understandable, and
promotes more effective software reuse where applicable. New application
development projects are to design, create and implement Service Oriented
Architecture through the utilization of BSCoE Component Frameworks and the
creation of new components and services. BSCoE maintains a repository of
components and services that are to be incorporated into application development
efforts when application requirements are met by a BSCoE component or service.
ITB-APP001 Business Solutions Center of Excellence – Page 3 of 5
The design and implementation of new applications are to produce new components
when a BSCoE component does not exist. The new components are to be populated
in the BSCoE repository for use throughout the Commonwealth enterprise.
Business Requirements Gathering – Business Requirements Gathering is an
integral part of the definition of a Service Oriented Architecture for the
Commonwealth. BSCoE has documented standards and best practices in the
document, Business Requirements Gathering: Best Practices (BPD-APP001L), which
leads to the effective business requirements capture and modeling that provides
input into the creation of a Service Oriented Architecture. The process of gathering
business requirements ensures technology satisfies business needs. The standards
and best practices contained in the document are to be used in conjunction with the
Rational Unified Process or Microsoft Solution Framework as part of all application
development projects.
Software Change and Configuration Management – The ability to manage
change, making certain that each change is effective, and being able to track
changes is essential in an application development environment where change is
inevitable. BSCoE has documented standards and best practices in the document,
Change and Configuration Management: Best Practices (BPD-APP001M), which
provides for the implementation of change and configuration processes. The
standards and best practices contained in the document are to be used in
conjunction with the Rational Unified Process or Microsoft Solution Framework as
part of all application development projects.
Source Code Control Standards – BSCoE defines source code control standards in
the document, Source Code Control: Best Practices (BPD-APP001N). The standards
and best practices contained in the document are to be used in the operations of all
new application development projects as part of an integrated approach to change
and configuration management.
Documentation Standards – Documentation standards provide a vehicle to
effective and uniform communication of application development artifacts. BSCoE
has detailed documentation standards in the document, Documentation: Best
Practices (BPD APP001O). Additionally, BSCoE provides templates for all major
application development documents. The BSCoE documentation standards and
document templates are to be used as part of all application development projects.
Coding Standards – Coding standards lead to consistent, more reliable, and easier
to maintain program code. BSCoE has documented coding standards for the BSCoE
supported application development languages in the document, Coding: Best
Practices (BPD-APP001P). All application development projects are to use the coding
standards as part of programming, maintenance, and re-factoring activities.
Messaging Standards – Messaging standards provide the mechanisms that enable
the implementation of a Service Oriented Architecture. Refer to Messaging:
Technology Standard (STD-APP001K) for the latest version. Additionally, further
detail can be found in the BSCoE document, Messaging: Best Practices (BPD-
APP001Q). All application development projects are to utilize and adhere to the
message standards provided by BSCoE to facilitate the enterprise interoperability of
applications, components and services.
ITB-APP001 Business Solutions Center of Excellence – Page 4 of 5
Quality Assurance Standards – Quality assurance reduces mean time to
production of applications and overall enterprise application development costs.
Quality assurance is required to be an integral part of all application development
efforts. BSCoE provides document quality assurance standards in the document,
Quality Assurance: Best Practices (BPD-APP001R). The standards and best practices
contained in the document are to be used in conjunction with the Rational Unified
Process or Microsoft Solution Framework as part all application development
projects.
Application Security Standards – Security standards provide for effective and
uniform methods to implement application security. BSCoE has defined security
standards in the document, Application Security: Best Practices (BPD-APP001S).
The standards and best practices contained in the document are to be implemented
in all application development projects.
Refresh Schedule:
All standards identified in this ITB are subject to periodic review and possible
revision, or upon request by the Enterprise Architecture Standards Committee
(EASC).
Exemption From This Policy: In the event an agency chooses to seek an
exemption for reasons such as the need to comply with requirements for a federally
mandated system, the waiver section of the IT Procurement/Waiver Review Form is
to be completed and submitted to the appropriate agency CoP Planner.
Questions:
Questions regarding this policy are to be directed to ra-oaitb@state.pa.us.
Attached Files:
STD-APP001A - Application Development Languages: Technology Standards
STD-APP001B - Application Development Methodologies: Technology Standards
STD-APP001C - Application Development Tools: Product Standards
STD-APP001D - Load and Performance Testing Tools: Product Standards
STD-APP001E - Testing and Debugging Tools: Product Standards
STD-APP001F - Web Development Framework: Technology Standards
STD-APP001G - Requirements, Data, and Object Modeling Tools: Product Standards
STD-APP001H - Requirements Management Tools: Product Standards
STD-APP001I - Software Configuration Management Tools: Product Standards
STD-APP001J - Software Change Management Tools: Product Standards
STD-APP001K - Messaging: Technology Standards
BPD-APP001L - Business Requirements Gathering: Best Practices
BPD-APP001M - Change and Configuration Management: Best Practices
BPD-APP001N - Source Code Control: Best Practices
BPD-APP001O - Documentation: Best Practices
BPD-APP001P - Coding: Best Practices
BPD-APP001Q - Messaging: Best Practices
BPD-APP001R - Quality Assurance: Best Practices
BPD-APP001S - Application Security: Best Practices
GEN-APP001U - Glossary
ITB-APP001 Business Solutions Center of Excellence – Page 5 of 5