business rules of the enterprise. It may support mul-
tiple Presentation tiers.
The Persistence layer is the data repository for
the application. It provides the data storage, retrieval,
and maintenance. Data Access Objects (DAOs)
should be employed to encapsulate the data sources
using the Spring/OJB (Object Relational Bridge)
framework to isolate access to the database. No
Business logic should be present in the data tier. No
Business object or Presentation-related object should
access the database directly; any need for this should
be met through service calls.
The architecture document suggests some two dozen
development tools that should be used for ease of code shar-
ing and consistency in the code base. The coding will be in
Java and the eXtensible Markup Language (XML). All secure
Internet communications involving Kuali applications should
use the Java Secure Socket Extension (JSSE), Sun’s Java
implementation of the Secure Sockets Layer (SSL).
JavaScript should be avoided if at all possible. It should only
be used for “value-added” features as approved by the KTC.
Kuali should still function properly with JavaScript turned off.
This is only a sampling of the total body of standards
promulgated by the Technical Council, but it should give
the flavor of the approach the council has taken.
The Functional Council
The Functional Council was composed of two or more
user representatives from each of the partner institutions,
but each institution had only one vote. There were also
nonvoting representatives from rSmart and NACUBO. It
was chaired by Kathleen T. McNeely, Assistant Vice
President for Finance and Executive Director, Financial
Management Services at IU.
According to Wheeler:
The Functional Council, composed of financial peo-
ple, is God. They speak it and it will be or it will not
be. It is the most finely tuned performing group that
I have seen in my life, and Kuali could not have been
successful without this superb performance by the
Functional Council.
The Functional Council met via an audio telephone
link for one hour every Thursday at 1 P.M. Every three
months it had a face-to-face meeting for about two and a
half days. In these meetings they dealt with issues of prior-
itizing functionality, doing a review of the resources, iden-
tifying where they were short on resources, and deciding
what functionality to cut. The Functional Council made all
of those critical decisions.
462 Part III • Acquiring Information Systems
The agreement with Mellon Foundation specified
that the KFS would be a rewrite of the IU FIS. But each of
the seven institutions had its own ideas about what changes
needed to be made. There was a subcommittee for each
module composed of user representatives from the partner
institutions. Those subcommittees reviewed the function-
ality and discussed changes that they wanted, either
changes in current functionality or new functionality for
that module. If they suggested a change to the functional-
ity, they wrote an enhancement document, which included
an estimate of the hours it would require from the technical
side. Then the Functional Council voted on whether or not
to allow that change to occur given that they had to manage
the overall development resource budget. That is the core
of what the Functional Council did. It controlled what got
done, what didn’t get done, and when it got done.
One of the first tasks for the Functional Council was
to determine the enhancements to the IU FIS that would be
included in the Phase 3 version of the Kuali Financial
System. There were far more desirable enhancements than
could be accomplished within the resources that were
available for development of the first complete version of
the system, so the Functional Council had to struggle with
very difficult priority decisions.
Each module subcommittee prepared a description of
and a resource requirements estimate for each of the
enhancements that its members wanted. The Functional
Council then considered each of these proposals and assigned
each of them one of the following priority levels: essential,
high, medium, and low. The essential priority was defined as
an enhancement that must be included or the system would
not be acceptable. It was intended that most of the high-
priority enhancements would also be included. After much
consideration and several difficult votes, the council agreed
upon 16 essential-priority and 19 high-priority enhancements
and included them in the Kuali Financials Scope Statement.
Dynamics of the Council
The weekly council meetings usually included about 20
people in 10 or 12 locations spread out from Ithaca, New
York, to Honolulu, Hawaii. They talked with and listened
to each other over a telephone link. You would think that
this would never work, but it did. McNeely described how
she managed the meetings:
Early in the week, based on the issues occurring I
called the Project Manager, Jim Thomas, and others
as appropriate to solicit agenda items. Sometimes
council members called me and suggested issues the
council needed to deal with. The agenda was created
and sent out approximately one day in advance of the
meeting. At the beginning of the meeting I did a roll