Application Development and Acquisition Standards



Boston University Information Services & TechnologyIS&T Application Development and Acquisition StandardsContents TOC \o "1-3" \h \z \u Overview PAGEREF _Toc316302840 \h 3Scope PAGEREF _Toc316302841 \h 3Benefits PAGEREF _Toc316302842 \h 3IS&T/University Alignment PAGEREF _Toc316302843 \h 4Approach PAGEREF _Toc316302844 \h 4Conclusions PAGEREF _Toc316302845 \h 5Applications PAGEREF _Toc316302846 \h 5Build vs. Buy PAGEREF _Toc316302847 \h 5Development Standards PAGEREF _Toc316302848 \h 6Open/Community Source PAGEREF _Toc316302849 \h 6Database PAGEREF _Toc316302850 \h 7Integration PAGEREF _Toc316302851 \h 7Application Portfolio Decision Tree PAGEREF _Toc316302852 \h 9OverviewThe 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.ScopeThe 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, managed-code 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 scopeMobile – 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 BenefitsThe benefits associated with defining application development and acquisition standards include:Quicker response to client needsLower total cost of ownershipEnables 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 technologiesMakes it easier to establish and maintain standard processes, i.e. build & release managementSimplification / reduce integration workStreamlines the architectural platform decision processIS&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.ApproachGartner’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. A group of representatives from Solutions Architecture and Applications Development evaluated each technology based on the following criteriaAbility to meet client requirements Technology longevity in the market Total cost of ownership Current in-house capabilities and level of maturityThe outcome of this effort is the standards defined in the following section. GalaxyConclusionsThe 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.ApplicationsBuild vs. BuyApplications Architecture will address new application and major enhancement requests based on the criteria below. An investigation will be done to determine if: 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.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. 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. 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. Development StandardsOpportunistic projectsPython, 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.Systematic projectsThe .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.DatabaseMySQL 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. IntegrationTechnologies 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 & CollaborationSharePoint 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. 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 commentsDocument retrieval using keywords or custom queriesDocument routing through complex workflowsData files exchange with IS&T legacy applications, or other third-party softwareDocument retention and archivingRegulatory 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. Application Portfolio Decision TreeTaking 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. Application Demand Decision TreeNote: “Commercial option” is equivalent to “commercial or open/community source solution” ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download