Project Scope Summary

skillfulwolverineΛογισμικό & κατασκευή λογ/κού

2 Δεκ 2013 (πριν από 3 χρόνια και 8 μήνες)

102 εμφανίσεις



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


www.kuali.org

Project Scope

Summary

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

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”:

https://test.kual
i.org/confluence/x/OABHC

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

1.

SOAP web services

2.

Java Serialization over HTTP

3.

DTO Versioning

4.

Direct database interaction from the client application

5.

Service nam
es

6.

URLs

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
am

on how to avoid version compatibility regression should be
provided.

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:

1.

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.

2.

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
-
2590


www.kuali.org

Timeline and
Deliverables

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
effort
. 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
.
:

1.

Perform a
nalysis

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

client
-
server communication.

2.

Perform analysis to identify and document all technologies

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

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

3.

Develop
design and refactoring
recommendations
for

the Kuali Rice codebase
and

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

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).

4.

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.

5.

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

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

6.

Proceed

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
-
2590


www.kuali.org



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
-
to
-
Face Meetings with the Kuali Rice Team

Savoir Technologies resources involved in the project will meet face
-
to
-
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
reimburse

the cost of all travel expenses.

Resources

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

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

Rice
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
-
2590


www.kuali.org



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.