Kuali Systems: By, For and Of Higher Education Sakai VII: 14/6/2007 Amsterdam Barry Walsh
“Building enterprise software alone is really hard” Brad Wheeler “Building it with others is really, really, really hard” Are We Nuts ??
IT in Higher Education doesn’t have a Money Problem…We have a Coordination Problem We Don’t (and Won’t) have the IT Resources We Need to Reach Our Institutional Potential Excerpted from “Leading Beyond the ICT Conundrums for Scholarship 2.0” EDUCAUSE Australia 2007
“Community source describes a model for the purposeful coordinating of work in a community. It is based on many of the principles of open source development efforts, but community source efforts rely more explicitly on defined roles, responsibilities, and funded commitments by community members than some open source development models.” …. from Community Source Projects
“Community source describes a model for the purposeful coordinating of work in a community. It is based on many of the principles of open source development efforts, but community source efforts rely more explicitly on defined roles, responsibilities, and funded commitments by community members than some open source development models.” …. from Community Source Projects
MySQL; Ingres; Postgres FreeBSD;Linux; Why Would a Trend Stop Short? MVS, Solaris, DEC, XP DB2, Oracle, SQLServer Apache; Tomcat; Zope WebSphere; BEA; Oracle Moodle; Sakai; Kuali SAP; PSFT/Oracle; SCT; Blackboard ??? Historical Trends with Open Source Operating Systems DBMS Web/Application Servers Applications
IU FIS Current Release: 47.8May 31, of these 47 releases were ‘disruptive’ shut down of system for extended period (> few hours) major expense to campus (technical or functional) major business process changes forced by software significant retraining of users Release 1:July 1, 1994 Release 27:June 10, 2000
And your point is? Loose Coupling Decomposed (Non-Monolithic) Software Suites Best of Breed ‘Services’ Non-Proprietary Software Solutions ??Software vendor Value Propo$ition$ ??
Question?
Another Question? How about these guys?
Student Endowment Not just Financials Anymore!!! Human Resources ??
KFS (Kuali Financial Systems) Started with IU FIS as baseline $2,500,000 Mellon grant to IU $5,200,000 from investing partners User Centric: usability from initiation Project Manager from IU Comprehensive –Any Carnegie Class; Community College to R1 –e.g. Indiana University 2 R1 campuses 6 smaller campuses Broadly based best practices-->Internal Controls Exploits Kuali Rice
KFS Investing Partners Started with Six Institutional Founding Partners NACUBO and The rSmart Group are Founding Partners
KRA (Kuali Research Administration) Started with MIT Coeus as baseline $1,500,000 Mellon grant to IU $2,000,000 from investing partners User Centric: usability from initiation Project manager from Cornell Pre- and post-award XML based grant agency interfaces XML based Financial Systems interfaces Exploits Kuali Rice
KRA Founding Partners Started with Five Institutional Founding Partners Several other institutions currently considering investments
KE (Kuali Endowment) Likely based on IU Foundation system written currently in Delphi No Mellon grant being sought SOA…interfaces to diverse financial systems No lead school yet Will use Kuali Rice
KE Founding Partners Currently two schools Two more are seriously evaluating Likely an 18 month effort
KS (Kuali Student)* Not specifically based on any existing system; will use pieces from several No Mellon grant (yet) Web Services based….user (student) centric Both ‘core’ and ‘edge services’ UBC leading Big $$$ * Still Exploratory
KS Exploratory Partners* Currently four institutions exploring…more will join Seeking significant Mellon support AACRAO is very supportive Likely a five year effort $1,000,000/year for five years * No firm commitment declared yet
Kuali HR/Payroll An itch that needs to be scratched One school is willing to step up and lead the ‘investment pool’ work May be ‘edge services’ initially –Interfacing with existing ERPs?
KR (Kuali Rice) Enterprise class middleware suite of integrated products Both Kuali and non-Kuali applications can be built in an agile fashion, responsive to user requests; Service Oriented Architecture (SOA) concepts –Targeted to robust systems –Common enterprise workflow functionality; –Customizable and configurable user interfaces with a clean and locally universal look and feel; –General notification features to allow for a consolidated set of ‘action items’. –Focus on encouraging a simplified approach to developing functionality as modular (loosely coupled) applications.
KR Founding Partners Four active partners Looking for a few good men and women!! Pointy headed stuff Mostly top-shelf players Potential impact is very significant for institutions
How is Kuali Similar to or Different from Other ERP Software? By, Of and For Higher Education; –Private sector? –User centric Usability not an afterthought Source code is available: –No license fee; –Perpetual license; –Change as you see fit; –Share openly with others;
Governance Kuali Foundation –Ongoing governance –Incubates/fosters other Kuali initiatives –No full time employees yet…will be minimalist Kuali Partners Program –Membership based –Commercial Affiliates
Initiative Governance e.g. KRA KRA Board –Voting member from each Institution –Chair from Indiana (Brad Wheeler) –Extended Board Project Manager (Cornell) –Developers from each Institution Functional Council (chair from Arizona) –Members from each Institution (institutional vote) –Self forming/managing subject matter subgroups IRB, Proposal Routing, Budget, Compliance, etc. –Prioritizes all work by developers…how?
The Reality Triangle Scope (KFS Functional Council) Time (Project Mgr) Resources (KFS Board)
The Story so Far Decisions getting made Deadlines and commitments being mostly honored Collaboration for the good of higher education Sacrificing local needs for the overall good of the project This does not imply it has been EASY. Clearly defined principles, goals, some project structure, and processes have helped.
Kuali Financial System Phase I Deliverables (Oct 2006) Chart of Accounts Financial Transactions/General Ledger Kuali Nervous System (KNS) Kuali Enterprise Workflow (KEW) Phase IIA Deliverables (July/September 2007) Accounts Payable/Purchasing Budget Construction Labor Ledger Research Administration/Grants & Contracts Phase IIB Deliverables (April/June 2008) Accounts Receivable Capital Assets Management System
KFS Release Schedule
KFS Challenges Physical location of staff.…six time zones Numbers of people working on the project –22 developers…soon to be 26 Different ways of doing things Different communication styles Various levels of experience on the KFS project
KFS Communications Bi-weekly Board Meeting (used to be weekly) Weekly Functional Council Meeting Weekly Development Managers Meeting Weekly Lead Developers Meeting Weekly SME Subcommittee Meetings (or as needed) Bi-weekly Technical Council Meeting Quarterly face-to-face meetings of Board, FC, and development teams (most important!)
KFS Meeting Protocol Meetings have agendas in advance Only meet when necessary Meeting minutes posted Decisions and action items from meetings documented and tracked (important! Otherwise, decisions get lost or forgotten!) Set deadlines for decision-making AND follow up
KFS Communications Tools Reports and documents –Weekly PM Status Report –Weekly SME Subcommittee Status Reports –Meeting Minutes –Specification Documents –Scope Document(s) –Technical documentation – configuration, tools, frameworks, etc. All in Sakai sites!!
KFS Communications Tools Remote Communications –Video Conferencing..always on at each site – lists –IM –VOIP (Skype) –Breeze (web conferencing)
KFS Communications Tools Project Organization and Coordination –Sakai (document sharing, archive, etc) –Confluence from Atlassian (wiki pages for documentation, collaboration, etc) –JIRA from Atlassian (task tracking) –MS Excel and Project for project plans and Gantt charts…mostly one page Excel!!
KFS Development Methodology (in a nutshell) Standard set of supported development tools Java IDE – Eclipse Source Code Management – CVS Continuous Integration – Anthill Pro Application Server – Tomcat 5.5.x, Sun JDK 1.5.x Web Server – Apache 2 Database – Oracle, MySQL Build and Deployment – Ant
Rate the Quality of a Software Team using “The Joel Test (by Joel Spolsky)” “Do you use source control?” Yes +1 “Can you make a build in one step?” Yes +1 “Do you make daily builds?” Yes +1 “Do you have a bug database?” Yes +1 “Do you fix bugs before writing new code?” Most of the time but not a written rule +0.25
The Joel Test (continued..) “Do you have an up-to-date schedule?” Yes +1 “Do you have a spec?” Yes +1 “Do programmers have quiet working conditions?” Some do, some don’t “Do you use the best tools money can buy?” Sort of +0.5 “Do you have testers?” Yes +1
The Joel Test (continued..) “Do new candidates write code during the interview?” Some do, some don’t “Do you do hallway usability testing?” Sometimes but we also make use of usability consultants +0.5
The Joel Test (continued..) A score of 12 is perfect. KFS team “Joel Test” score is about 8.75 (According to Joel, most software companies are much lower……self report at 3-4)
KFS Lessons Learned (so far….many more to come) Regular F2F meetings Do not “squeeze” the QA cycle KISS Have a deadline for making decisions. If consensus cannot be achieved in a timely manner, vote on it Monitor productivity closely – Are specs going to be ready when developers are ready? Are developers making reasonable progress?
KFS Lessons Learned (so far….many more to come) Keeping technical documentation up to date Avoid going “tool crazy” – use what you’ve got and only introduce new technical tools when VERY compelling evidence suggests that you should. Provide numerous opportunities for communication across development teams Code reviews and Infoshares are valuable tools for bringing new developers up to speed and keeping things consistent across teams
KFS Lessons Learned (so far….many more to come) Automated unit testing…a challenge but is paying off. Learned a lot along the way. Pure TDD is difficult to implement and sustain Centrally manage core infrastructure development Recognize and avoid “perfectionist” tendencies that come from knowing code will be shared with world Subject Matter Experts are extremely valuable and typically the most scarce resource….“day” jobs..years of expertise that can’t easily be taught to new staff.
I’m Sure this is NOT Sakai, nor KFS !! Speaking of project plans, with developers, sometimes you have to dig a bit to get under the surface. A slightly exaggerated case …..
Questions?
The greatest breakthroughs will always begin, to quote Eric Raymond once more, with “one good idea in one person’s head,” and the greatest products will always reach perfection through the concerted efforts of a highly skilled team. Fodder for the Bar conversations