Project Scope Summary

skillfulwolverineSoftware and s/w Development

Dec 2, 2013 (3 years and 6 months ago)


601 E. Kirkwood Avenue, Franklin Hall 116, Bloomington, IN 47405
1223 (812) 855

Project Scope


For the 1.1 release of the Kuali Rice software, the project is working to provide compatibility between
Kuali Rice client applications implemented using different versions of the Kuali Rice client

For the purposes of this engagement, version compatibility is defined as the ability for different
applications to be coded against different versions of the Kuali Rice software, but still be interoperable
with the same instance of the Kuali Rice standalon
e server and database. Specifically, this refers to what
is defined as “client
server” compatibility in the following document titled “Kuali Rice Version
Compatibility Statement”:


The areas of compatibility that have to be considered for this work include (but are not limited to):


SOAP web services


Java Serialization over HTTP


DTO Versioning


Direct database interaction from the client application


Service nam



The goal of this project is perform analysis, design, and implementation work which achieves the goal of
compatibility between different versions of the Kuali Rice middleware. Additionally, recommendations
and best pra
ctices for the development te

on how to avoid version compatibility regression should be

Finally, a parallel effort is happening on the Kuali Rice project to improve the modularity of the system.
Some of the work here may be related to, or required by, the version compat
ibility support in Kuali Rice.
In these cases, the Savoir Technologies resources will work closely with the Kuali Rice resources working
on modularity to identify these cases.

Items that are not considered to be in scope for this project include:


Major ar
chitectural changes to core pieces of the system or core technologies except in cases
where that is the only recourse to accomplish the end goal.


Framework compatibility as described in the “Kuali Rice Version Compatib
ility Statement”
provided above, excep
t where it is required to achieve client
server compatibility.

601 E. Kirkwood Avenue, Franklin Hall 116, Bloomington, IN 47405
1223 (812) 855

Timeline and

The length of the project will span 3 months (13 weeks) of full
time work. This will result in a total of
520 hours of
. If there is a need to extend the contr
act after the 520 hours are exhausted and both
parties agree, then this can be negotiated.

As part of this engagement, Savoir Technologies will produce the following deliverables


Perform a

to identify and document all portions of the Kuali Rice so
ftware which
participate in

server communication.


Perform analysis to identify and document all technologies

that are in use in client
communication (for example: SOAP, Java Serialization over HTTP, JDBC)

and which portions of
the Kuali Rice
architect are responsible for each.


design and refactoring

the Kuali Rice codebase

to better support versioning of services and data transfer objects in pursuit of version

This will additionally
provide recommendations for addressing the database
based integration model that Rice currently provided to client (referred to as “embedded”
services in the Kuali Rice documentation).


Perform analysis and document recommendations, tools, and best practice
s for developers to
help prevent them from introducing new version compatibility problems as a result of new work
done in future versions of the Kuali Rice software. To as much extent possible, the tools and
documentation provided to developers working wi
thin the software should be considered and
accounted for in the original design (i.e. through the use of annotations to define service
versions, etc.). Essentially, attempts should be made to make it as difficult as possible for a
developer to accidentall
y break version compatibility.


Document recommendations on how the Kuali Rice software can be tested to ensure that
version compatibility can be maintained over time across multiple versions of the Kuali

software. This would include the design for a proposed QA process whereby version
compatibility is tested and verified.



with implementation of said recommendations within the Kuali Rice codebase.

Depending on the amount of work that can be
done during the contracted time period on
implementation, this implementation may not be fully completed by Savoir Technologies in the
allotted time. If this is the case, the contract will either be extended, or the Kuali Rice
development team will finish

the implementation work using the design provided by Savoir
Technologies as a guide.

The timeline for the project would be as follows:

601 E. Kirkwood Avenue, Franklin Hall 116, Bloomington, IN 47405
1223 (812) 855

Week 1

Savoir Technologies familiarizes themselves with the Kuali Rice project using existing
documentation, source co
de, and discussion with members of the Kuali Rice development team.

Weeks 2 through 8

Savoir Technologies works on deliverables 1 through 3. An iterative review
process which includes the Kuali Technical Integration (KTI) working group should take place

weekly during this time period.

Weeks 8 through 11

Savoir Techno
logies works on deliverable 4 and 5.

Weeks 12 and 13

Savoir Technologies begins implementation work. As mentioned in the
deliverables above, it is expected that this time period may not
be enough to complete
implementation. If not, then we will evaluate the options listed above.

Face Meetings with the Kuali Rice Team

Savoir Technologies resources involved in the project will meet face
face with the Kuali Rice
development team
for at least one full day prior to beginning work on deliverables 1 through 3. The
purpose of this will be to answer any questions that Savoir Technologies has regarding the Kuali Rice
architecture and discuss deliverables 1 through 3 in more detail to en
sure that both Savoir Technologies
and Kuali Rice are on the same page.

The Kuali Rice project will

the cost of all travel expenses.


For this effort, we would like to contract with Jeff Genender for 25% of his time over this 13 week

Additionally, during this same 13 week period we would like to contract with Jason Whaley for 75% of
his time.

During the process, the Savoir Technologies team will have access to other resources on the Kuali Rice
project when needed to help with the
crafting of the different deliverables. These resources include:

Lead Technical Architect

Eric Westfall

Eric will give the final approval on the design proposed
by Savoir Technologies and will be available to answer technical questions about the Kuali

codebase and architecture. To the extent that he can, Eric may also be an active participant in
the design process.

Development Managers

Jeremy Hanson and Garey Taylor

Jeremy and Garey will be available
to answer technical questions about Kuali
Rice in the case that Eric Westfall is not available to
do so.

Depending on resource availability at the time, these development managers may also
be able to deploy developer resources to participate in the implementation phase in conjunction
with Savoir
Technology resources.

601 E. Kirkwood Avenue, Franklin Hall 116, Bloomington, IN 47405
1223 (812) 855

QA Manager

Jessica Coltrin

For the portion of this work that relates to testing and QA of
version compatibility

(deliverables 4 and 5)
, the Savoir Technologies resources should work in
conjunction with Jessica.