580 likes | 745 Views
Kuali Bootcamp for Interested Technologists. Bryan Hutchinson - Cornell University (Development Manager) Jack Frosch – Kuali Foundation (Lead Developer). Agenda. Day 1 Kuali overview Kuali methodology Project Management Collaboration Tools (Confluence, JIRA, etc.) Overall Architecture
E N D
Kuali Bootcampfor Interested Technologists Bryan Hutchinson - Cornell University (Development Manager) Jack Frosch – Kuali Foundation (Lead Developer)
Agenda • Day 1 • Kuali overview • Kuali methodology • Project Management • Collaboration Tools (Confluence, JIRA, etc.) • Overall Architecture • Development Tools • Implementation • Demo • Q&A • Time Permitting: initial development environment config
Agenda • Day 2 • Rice • Day 3 • Rice • Day 4 • Kuali Coeus Research Administration (KCRA) / Coeus topics • How KCRA uses Rice • Look at some Code • Exercises
Acknowledgements Special Thanks to the following people whose previous Kuali Days and Cornell presentations provided material used in this presentation: • Andy Slusar, KCRA Project Manager, Cornell University • Jim Thomas, KFS Project Manager, Indiana University • Cath Fairlie, KS Program Director, The University of British Columbia • Terry Durkin, KCRA Development Manager, Indiana University
Introductions • Who are you? • Where are you from? • What do you do? • What do you hope to get from this week?
Kuali Overview • What is Kuali? • Organization • Open Source Misconceptions • Kuali Community Source
What is Kuali? • Kuali = Humble utensil that plays an important role in the kitchen.
What is Kuali? • The Kuali Foundation is a non-profit organization responsible for sustaining and evolving a comprehensive suite of administrative software that meets the needs of Carnegie Class institutions. • Its members are colleges, universities, commercial firms and interested organizations that share a common vision of open, modular, and distributed systems for their software requirements. • The goal of Kuali is to bring the proven functionality of legacy applications to the ease and universality of online systems. • Kuali began as an open/community source initiative to create a financial system (KFS) for higher education.
Open Source Misconceptions • Part time Developers • Not industrial Strength • Not well tested • Hap-hazard governance • No documentation
Kuali Community Source • Full Time Dedicated Development Teams • Dedicated Functional Resources • Built for 24x7 reliability and built to be scalable for use by the largest institutions • Intensive QA/Testing process • Structured and well documented governance process • Extensive functional and technical documentation • Partner Institutions dedicated to the success of Kuali! • Commercial Affiliates available to provide expertise
Kuali Methodology • Guiding Principles • The Reality Triangle • Collaboration
Guiding Principles • Identify “best of breed” solutions from among partners as base for each module • Develop Common Kuali User Interface • Leverage Kuali Rice architecture and development standards (nervous system, enterprise notification, enterprise workflow and service bus) • Functional Councils and the Subject Matter Experts Drive Functionality and Scope • Application Roadmap Committee and Technical Roadmap Committee work together to govern Rice and Technical Standards/Directions of Kuali
Guiding Principles • Maximize commonality of business practices • Make configurable as much as possible given time and resource constraints • Create a Scope Statement which serves as the developments team’s “contract” with functional stakeholders • Burden of proof falls on advocates for change to show benefits exceed costs • All changes subject to “The Reality Triangle”
The Reality Triangle Scope Time Resources
Collaboration Requirements for success • Communications • Governance • Commitment • Respect • Trust
Collaboration Tools Project Organization and Coordination • Confluence from Atlassian (wiki pages for documentation, collaboration, etc) • JIRA from Atlassian (task tracking) • Sakai (document sharing, email archive, etc) • Omniplan, MS Excel and Project for project plans and Gantt charts • Resource planning sheets
What is effective PM? According to Project Management Institute: Initiation and Planning Execution and Monitoring Closing – transition to Sustainment
Effective Project Management Initiation and Planning Different Projects, Same Foundation Execution and Monitoring The Reality Triangle Resources Communication & Collaboration Tools Closing – transition to Sustainment Implementation Measuring Success
Kuali Project Differences • Project differences • KFS started with IU FIS • KCRA and the Coeus relationship • KS started with a vision • Team size/project scope • User community differences • Rice Evolution/Extraction • Effective project management essential to all
The Reality Triangle Scope Time Resources
Project Resources • Clear Role definitions • Development Team Sourcing • Tendered Resources • Onshore consulting • Offshore consulting • Backfill for functional resources • Training
Managing Risk • Identifying, analyzing, and responding to project risk • Minimize the consequences of adverse events, which may prevent the project from meeting its objectives. • Identify the highest-priority risks – focus on them as the project evolves
Communications • Good project management requires effective communications & collaboration • Good communications requires: • A strategy and a plan • Communication/collaboration tools • Effective meetings
Collaboration • Collaboration is hard work. It requires: • Governance • Excellent communications • Relationship building – Respect & Trust • Commitment • Team Goals vs. Institutional Wants • Complementary competencies – everyone brings something different to the table • Results in better, more creative solutions • KIT – cross project collaboration and integration
Communication Tools • Choosing Communication Tools - the right tool at the right time • Face to face meetings or workshops • Video Conference/Skype video • Breeze (Adobe Connect) • Telephone / Skype audio conference • Chat/IM • Email
Meetings/Status Reporting • In person meetings are a good communication vehicle for reporting status and resolving issues • Board • Functional Council • Technical Council • Project Leadership meetings • Developer meetings • Code Reviews • One on ones • Face to Face meetings • Focus groups • Informal
Effective Meetings • Have an agenda • Record Action Items • Track and follow up • Formation of ad hoc subgroups
Sustainment Closing the project involves transitioning to sustainment Kuali projects are rapidly approaching completion and full transition into sustainment model several implementation projects in the works Kuali Foundation Board working aggressively to define a detailed Sustainment model Team structure, resources, capacity Funding model Support processes
Sustainment • Closing the project involves transitioning to sustainment • Kuali projects are rapidly approaching completion and full transition into sustainment model • Several implementation projects in the works • Kuali Foundation Board working aggressively to define a detailed Sustainment model • Team structure, resources, capacity • Funding model • Support processes
How are we doing? How will we measure “success”? • Are we delivering working code that provides functionality that meets our SMEs expectations? • Are we meeting our project deadlines? • Do we have successful implementers?
Collaboration Tools • Confluence • http://test.kuali.org/confluence • JIRA • http://test.kuali.org/jira/ • Sakai • https://collab.kuali.org/
Kuali Architecture • Service Oriented Architecture (SOA) • Open Source Tools • Kuali Rice
Kuali Building Blocks • Kuali Toolbox • Open Source Tools • Struts - UI • OJB/JPA - Persistence • Spring - Services • Rice builds upon and extends functionality • Struts - Mitigates common issues (POJO forms, Formatting,…) • OJB/JPA - DAO w/ Object Hierarchy; No custom code for POJO persistence