Print

Print


Hi all -

One of the interesting tasks on my plate this year is to devise a document that reflects a strategy around "Buy, Borrow, or Build" as relates to technology approaches here at the University of Arizona Libraries. Below is the text of this "reference architecture", and I am particularly interested to hear comments from the community regarding this document. 

Some context: We are working hard here at the UA Libraries to concentrate our finite development resources are true gap areas - i.e. we want to not recreate the wheel, and due to the current budget environment, we truly need to be efficient in how we deploy our staff who perform development work. At the same time, we want to move forward in truly innovative areas. The approach in this document is to not get caught up on the terms "Buy", "Borrow", and "Build", but to understand the reasoning behind looking at these approaches and describing how the group in our library will think about technology decisions with the 3 B's being an important consideration.


Here's the reference architecture:

=======================================

REFERENCE ARCHITECTURE DOCUMENT
Buy, Borrow, Build (B3)
Last Revision: 5/06/2010

Summary

This document describes the University of Arizona Libraries’ Technology Architecture Council’s approach when considering technology solutions that look to Buy, Borrow, or Build a technology solution.

Context

The UAL must heavily weigh cost and sustainability in regards to its overall technology strategy.  Resources devoted to technology and technology support are limited and must be allocated effectively and efficiently; the more resource we allocate to one activity directly impacts the resource we have available for other prioritized activities. It should also be noted that certain types of resources, such as staff resources, have certain limitations that also need be taken into account. The UAL’s Technology Architecture Council (TAC) must take into account all cost factors, regardless of type of cost (such as staff time or money) in order for TAC to devise a strategy that is pragmatic for the UAL to implement.

Reference Architecture - Buy, Borrow, or Build

There are three approaches generally considered with regard to technology solutions: Whether to Buy a solution, to take a current existing solution and enhance it with additional functions and features (this is called ‘Borrow’), or to Build a solution from scratch.

A Buy approach is when an organization purchases, licenses, or otherwise acquires a ready-made solution that requires no additional development of new features or functions in order for the solution to be deployed to meet the needs of the UAL. A Buy still may require configuration and integration with other systems (such as single sign-on). (It should be noted that Open Source solutions can be considered Buys in regards to approach, if they do not require any additional features or functions beyond what they provide out-of-the-box)

A Borrow approach is when an organization purchases, licenses, or otherwise acquires a ready-made solution, but that solution requires some amount of additional development to add features or functions that are essential to meet the needs of the service/product that the solution is intended to support. 

A Build approach is when an organization decides to create (often develop) the needed technology solution. 

Regardless of approach, the UAL needs to understand the Total Cost of Ownership (TCO) when considering technology solutions. For the approaches listed above, the following are major factors in examining the TCO:


Buy:

	• Initial purchase / license / set-up cost (including configuration and integration)
	• Ongoing support / licensing cost
	• Cost of regular upgrades
	• Cost of dedicated hardware (if appropriate)
	• Ongoing technical staff support costs (i.e. application or system administration)
	• Exit costs (i.e. estimate of time / cost to migrate from this solution when needed)

Borrow:

	• Initial purchase / license / set-up cost (including configuration and integration)
	• Initial development costs
	• Ongoing development costs
	• Ongoing support / licensing cost
	• Cost of regular upgrades, including cost to applying customizations to newer versions of software
	• Cost of dedicated hardware (if appropriate)
	• Ongoing technical staff support costs (i.e. application or system administration, bug-fixes for custom development, etc.)
	• Exit costs (i.e. estimate of time / cost to migrate from this solution when needed)

Build:

	• Cost of initial development activities (i.e. cost to develop to 1st release; includes time for related activities, such as documentation of code)
	• Cost of ongoing development activities (for new features or functions beyond 1st release)
	• Cost of dedicated hardware or hosted server infrastructure
	• Ongoing technical staff support costs (things like application or system administration, bug-fixes, application security patches, etc.)
	• Cost of developing user-support documentation
	• Exit costs (i.e. estimate of time / cost to migrate from this solution when needed)

In general, a Buy approach is easiest to determine TCO, while a Build approach is the most difficult. Generally, there are more unknowns with a Build than there are with a Buy. The more unknowns, the greater risk of inaccurate cost estimates.


When a proposal is reviewed by TAC, TAC will consider what solutions are available through each of the above approaches, and compare those options, along with their associated costs, in order to decide which approach and solution will best meet the needs of the UAL and the   service(s) requesting technology support. 

As part of this process, TAC will also review the service’s functional requirements, especially as relate to critical vs. desired elements; while ideally all requirements would be met by a particular technology solution, in practice functional requirements should reflect “must have” vs. “desired”, and the TAC may need to follow-up with stakeholders to better understand the impacts on a particular service if certain requirements are not able to be met through a particular approach or solution.

========================================


-- jaf

------------------------------------------------------------
Jeremy Frumkin
Assistant Dean / Chief Technology Strategist
University of Arizona Libraries

+1 520.626.7296
[log in to unmask]
------------------------------------------------------------
"Not everything that can be counted counts, and not everything that counts can be counted."—Albert Einstein