Application Development and Acquisition

advertisement
Boston University
Information Services & Technology
IS&T Application Development and
Acquisition Standards
IST Application Development and Acquisition Standards
3 February 2012
CONTENTS
Overview ...................................................................................................................................................... 3
Scope............................................................................................................................................................ 3
Benefits ........................................................................................................................................................ 3
IS&T/University Alignment ......................................................................................................................... 4
Approach...................................................................................................................................................... 4
Conclusions ................................................................................................................................................. 5
Applications ............................................................................................................................................... 5
Build vs. Buy .......................................................................................................................................... 5
Development Standards ........................................................................................................................ 6
Open/Community Source .......................................................................................................................... 6
Database ................................................................................................................................................... 7
Integration ................................................................................................................................................. 7
Application Portfolio Decision Tree ............................................................................................................... 9
2
IST Application Development and Acquisition Standards
3 February 2012
OVERVIEW
The purpose of this document is to establish clear guidelines, based on industry experience, Boston
University domain knowledge and Boston University institutional objectives, for selecting the appropriate
technology or IT platform for new application development or acquisition. The intent is to clearly express
IS&T application development/acquisition standards, and how the standards support the goals of the
University.
The standards defined are based on delivering the highest value possible to the University. Throughout
the process of defining standards, an effort was made to understand University needs and balance those
needs against total cost of ownership. The goal is to have a long term development and application
portfolio that meets the needs of the organization, while minimizing overlapping or redundant
technologies. Due to the costs associated with maintaining hardware, licensing and fully trained
development and support personnel for each development option and application, the number of
overlapping technologies needs to be kept at a minimum.
SCOPE
The majority of technologies used within IS&T Applications were evaluated in the effort to develop
application standards. Technologies selected for evaluation include Open/Community Source, managedcode platforms such as .Net and Java, as well packages that serve a general purpose, such as content
management or document management. Although the build vs. buy decision is addressed, we did not
include solution specific commercial software packages in the evaluation.
A full list of technologies and associated attributes evaluated is available in the Applications Development
SharePoint site.
Out of scope
•
•
•
Mobile – There is a separate effort to explore various mobile technologies. IS&T is not at a point
where a definitive statement about mobile development standards can be made.
Student Systems – BU student systems are built in a legacy technology. The move to a new
student system is unlikely to happen within the next 3 - 4 years, and will require considerations
beyond the development standards defined in this document.
Data Warehouse and reporting – Data Warehousing and enterprise reporting are not within the
organizational domain of Application Development
BENEFITS
The benefits associated with defining application development and acquisition standards include:
•
•
•
•
•
•
•
Quicker response to client needs
Lower total cost of ownership
Enables the Applications group to focus on building competencies in strategic technologies
Enables the Systems group to focus on building infrastructure (dev./test/production) around
strategic technologies
Makes it easier to establish and maintain standard processes, i.e. build & release management
Simplification / reduce integration work
Streamlines the architectural platform decision process
3
IST Application Development and Acquisition Standards
3 February 2012
IS&T/UNIVERSITY ALIGNMENT
Development and acquisition standards need to result in a development tooling and application portfolio
that can respond to rapid deployment, lower complexity needs, as well as long term, higher complexity
needs at the lowest possible costs. The standards defined in this document have been defined with these
parameters in mind. The standards contain in-house development technologies and acquisition decision
criteria that will accommodate a broad range of demand, while minimizing overlapping or redundant
technologies and applications.
IS&T development standards will be formally reviewed on an annual basis. The goal is to ensure the BU
application portfolio continually improves by taking into consideration changes in the ways of doing
business, technological changes and IT vendor offerings.
APPROACH
Gartner’s Systematic vs. Opportunistic application project model was used as a general guideline to help
organize our standards definition exercise. The Systematic vs. Opportunistic approach breaks
applications into two categories. The two categories are:
Systematic projects value the enduring quality of the results. No effort is spared to achieve the results
and the inner quality that is first intended. These projects are typically lengthy and require large capital
outlays. Organizations can only afford this style of a project when strategic business outcomes are at
stake. The core business systems in most organizations are typically designed with the full systematic
effort. However, depending on the culture of the organization, even relatively routine projects may be
managed in a systematic manner (sometimes at unnecessarily excessive cost).
Opportunistic projects value the time it takes to get results. Competitive pressures drive the system
designers to quickly get to the tangible results while the results are still desirable. This attitude is
inevitable in the environment where the "new" remains new for only a short period of time. It is also typical
when the business puts pressure on the IT organization to deliver fast results or lose the initiative to
outsourcers or other external resources. The opportunistic approach is typical of short-impact projects
(also referred to as "situational" projects). When an application is intended for short-term use and will not
be changed or integrated over its lifetime, it often does not require a systematic investment. 1
A group of representatives from Solutions Architecture and Applications Development evaluated each
technology based on the following criteria




Ability to meet client requirements
Technology longevity in the market
Total cost of ownership
Current in-house capabilities and level of maturity
The outcome of this effort is the standards defined in the following section.
Galaxy
Source: Gartner “Systematic and Opportunistic Projects: The Yin and Yang of Enterprise AD” Published:
21 March 2011 ID:G00211519
1
4
IST Application Development and Acquisition Standards
3 February 2012
CONCLUSIONS
The standards described in the following sections will be used by Solutions Architects to determine the
appropriate technology to fulfill new application requests, or requests for major enhancements to existing
applications. Major enhancements can include a single, large effort or a collection of smaller, low effort
level enhancements.
Deviation from these standards will require approval from the Assistant VP of Applications. These
standards will be used to determine areas of focus for training, process improvement and investments in
the environments required to sustain these technologies.
APPLICATIONS
BUILD VS. BUY
Applications Architecture will address new application and major enhancement requests based
on the criteria below. An investigation will be done to determine if:
1. The need can be met by reuse of an existing in-house commercial or open/community
source solution that is targeted to remain part of the long term applications portfolio. If so,
the existing solution will be leveraged to meet the new demand.
2. If no existing solution is available, an investigation will be done to determine if a
commercially, or open/community source solution can be acquired to meet the client
need. The investigation will assume the 80/20 rule. If an option meets 80% of the
requirements, it will be considered a viable option. If client feedback reveals that the
unmet requirements are critical then a cost/benefit analysis will be done to determine if
the cost associated with building a custom solution is worth the benefit to the University.
A strong preference will be to select applications built on .Net or Java frameworks to
align with strategic development standards. See section on development standards
below.
3. If a commercial or open/community source solution is not available, an investigation will
be carried out to determine if an existing custom built application, built on .Net or Java
frameworks, can be reused or extended.
4. If none of the above is available, a new custom application will be developed using the
development standards defined below.
The build vs. buy decision process will be kept light weight and rapid in keeping with the needs of
opportunistic oriented requests. As the level of complexity and client need move from
opportunistic to systematic the process will become more comprehensive. However, care will be
taken to adjust the level of diligence based on the specific request.
5
IST Application Development and Acquisition Standards
3 February 2012
DEVELOPMENT S TANDARDS
O PPORTUNISTIC PROJECTS
Python, using the Django application framework, will be used to fulfill opportunistic project
requests. The Python/Django application framework is suited to building web based, custom
applications with short lifecycles that are typically developed via agile development
methodologies.
Python is a general-purpose, dynamic and object-oriented programming language. Django is an
Open/Community Source web application framework which is designed to facilitate development
of database driven web applications. Python will replace PHP as the development language in
this space at BU.
Microsoft .Net will be considered for use in the opportunistic space when the request is slightly
more complex and the requirements are clearly defined. The Python vs. .Net decision will be
based on scope, traffic, number of users, authentication/integration requirements, etc.
S YSTEMATIC PROJECTS
The .Net or Java frameworks will be considered for custom systematic application development
projects. Java will be considered first for larger more complex projects with a larger user base
and where requirements for integration with other applications or packages are critical. .Net will
be positioned for small to medium, less complex projects, but both frameworks will be considered
viable options for most systematic projects.
IS&T Applications will work to develop and expand competencies in the Python/Django, .Net and Java
technologies. Priority will be given to these areas for developer training and when hiring new staff.
Additionally, Applications will focus on building robust environments and associated processes around
each of these technologies. Where they currently do not exist, separate development, test and production
environments will be established along with best practice promote to production methodologies.
OPEN/COMMUNITY SOURCE
Open/Community Source solutions will be considered when they already exist as part of the long term
portfolio, or when they fit into the development standards defined in this document and when a cost, risk
and benefits analysis indicates a favorable ROI. To ensure IS&T’s ability to meet service level
agreements with the University, all open source solutions used for systematic applications must be
supported by a 3rd party partner. Additionally, all open source solutions used for opportunistic applications
must have vendor support available should the need arise for 3rd party partner backing.
6
IST Application Development and Acquisition Standards
3 February 2012
DATABASE
MySQL will be the primary database to support opportunistic applications at the University, backing a
variety of web-based applications which run the gamut from single-user use to campus-wide and general
public use.
The applications that employ MySQL will typically be less complex, with short lifecycles that are better
managed via agile development methodologies.
MySQL backs BU's WordPress CMS, which has seen considerable growth both in terms of number of
sites and number of page requests over the past two years. This growth trend is expected to continue
over the next two years. Additionally, MySQL will be the database of choice for applications developed on
the Python/Django framework.
MS-SQL and Oracle will be the primary databases of choice for systematic application projects. Since the
strategy for systematic application projects favors purchase verses build, the database selection will be
largely determined by vendor recommendation. Oracle will be the database of choice for large enterprise
systems.
INTEGRATION
Technologies to integrate between applications will be done using Web Service (SOAP and/or
RESTful), or XML Gateway. SAP PI will be considered first for integration with SAP and Informatica
considered secondary.
The XML Gateway was developed as a toolkit for integrating Boston University's Authentication Service
with vended products and user systems. Additionally, it can provide data to these requestors in a secure,
dynamic, and controlled process, thus eliminating the proliferation of accounts at vendors' sites and in the
university departments. The required data is exchanged real-time, thereby eliminating warehousing and
data synchronization issues.
Representational state transfer (REST) is a style of software architecture for distributed hypermedia
systems such as the World Wide Web. Conforming to the REST constraints is referred to as being
"RESTful". A RESTful web service (also called a RESTful web API) is a simple web service implemented
using HTTP and the principles of REST.
SOAP (Simple Object Access Protocol) is a lightweight protocol intended for exchanging structured
information in a decentralized, distributed environment. It uses XML technologies to define an extensible
messaging framework providing a message construct that can be exchanged over a variety of underlying
protocols. The framework has been designed to be independent of any particular programming model
and other implementation specific semantics.
Content, Document, Image Management & Collaboration
SharePoint will primarily be positioned as a self-service tool for site-owner managed collaboration and
site-owner managed document sharing repositories. In addition to self-service purposes, IS&T will provide
a service to customize / configure sites using out-of-box administrations tools, SharePoint Designer and
InfoPath Designer. Customizations may include customized lists, simple workflows, reports and forms.
7
IST Application Development and Acquisition Standards
3 February 2012
IS&T Architecture will consider customized SharePoint sites to fill client needs when specific requirements
can be met without the need for custom code. At this point in time IS&T will not build SharePoint
applications that require code. This position may be revisited once BU has reached a higher level of
SharePoint maturity.
SharePoint will not be used for web content management, or for complex document management
projects. See the following sections on WordPress and OnBase.
OnBase is the enterprise document management platform of choice. It will be used when one or more of
the following functionality is required:
•
•
•
•
•
•
Document annotations, highlighting, sticky notes, and text comments
Document retrieval using keywords or custom queries
Document routing through complex workflows
Data files exchange with IS&T legacy applications, or other third-party software
Document retention and archiving
Regulatory document retention requirements exist
OnBase will not be used for small document repository that is intended to share documents within or
between groups that do not require a moderate to high level of structure and control.
WordPress will be the web content management system of choice. BU has invested heavily in
WordPress with a strong trend towards migrating departmental and public websites to the WordPress
CMS platform over the past two years. This is expected to continue.
PHP is currently used to support WordPress plugin development. New development in PHP will be limited
to the WordPress plugin development and minor enhancements to existing PHP applications.
8
IST Application Development and Acquisition Standards
3 February 2012
APPLICATION PORTFOLIO DECISION TREE
Taking into consideration the acquisition and development standards, as well as various types of new
applications requests, i.e. administrative application, content management, document management, etc.,
it is possible to build a complete decision tree to determine the appropriate platform for new application
development or acquisition projects. The decision tree will guide application architects in selecting the
appropriate technology for each unique situation. The decision tree will be used to address a broad range
of demand, from opportunistic to large systematic application needs.
New Demand or Major
Enchantment
Opportunistic
Systematic or
Opportunistic
Doc. / Content
Mgt. or
Collaboration
Systematic
Yes
Document
Management
No
Content
Management
Yes
Yes
OnBase
WordPress
No
WordPress
Plug-in
Document
management or
Collaboration
SharePoint
PHP
No
Systematic or
Opportunistic
Opp.
Commercial
Option
No
Re Use
.NET/Java/Python
Custom
No
.NET or Djanga/
Python
Python
Systematic
Yes
Yes
Commercial
option
Existing
Custom
.NET
SAP
No
Use In-House
Package
No
Re Use
.NET/Java
Custom
No
New Package
Yes
Yes
Yes
Yes
SAP
In-House
Package
Existing
Custom
New Package
No
New In-House
Custom
.NET or JAVA EE
Java
Java EE
.NET
APPLICATION DEMAND DECISION TREE
Note: “Commercial option” is equivalent to “commercial or open/community source solution”
APPLICATION
DEMAND DECISION TREE.pdf
9
Download