Upload
alvin-grimes
View
40
Download
0
Tags:
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
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.
Kuali Foundation Projects
Partner Institutions
QuickTime™ and a decompressor
are needed to see this picture.
QuickTime™ and a decompressor
are needed to see this picture.
Commercial Affiliates
How do we make it work?
Foundation Organization
Project Organization
Project Organization
Open Source Misconceptions
• Part time Developers
• Not industrial Strength
• Not well tested
• Hap-hazard governance
• No documentation
Kuali Community Source
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
Effective PM?
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
Execution & Monitoring -The Other Realities
COST RISK
Project Resources
• Clear Role definitions
• Development Team SourcingTendered 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 Plan
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
Project Management Tools
Project Management Tools
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 modelseveral implementation projects in the works
• Kuali Foundation Board working aggressively to define a detailed Sustainment modelTeam 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 modelTeam structure, resources, capacityFunding modelSupport 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?
Working togetherWe can do it!!
Collaboration Tools
• Confluencehttp://test.kuali.org/confluence
• JIRAhttp://test.kuali.org/jira/
• Sakaihttps://collab.kuali.org/
Collaboration Tools Demo
Kuali Architecture
• Service Oriented Architecture (SOA)
• Open Source Tools
• Kuali Rice
Kuali Architecture
Kuali Architecture
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
About Kuali Rice
• Software Development Simplified– Unified development platform– Diverse functional requirements
• Service Oriented Architecture (SOA)• Integration of Kuali Applications• Integration of existing Enterprise Applications• More Details on Day 2 & Day 3
Rice Components
Development Tools
• Development Toolbox– Eclipse– Junit / Httpunit– Jetty– Subversion (svn)– Maven
• Shared Tools– Continuum (CI)– Fisheye
Implementing KCRA
• Rice components necessary for KCRA will be included out of the box– To run Rice services centrally (ex: KEW), the
implementing institution will have to plan and do more implementation work
• Main Configuration Points– Workflow (KEW) Configuration– Person / Group / AuthZ / AuthN (KIM) – Grants.gov communication (if implementing Proposal
Development)
Implementing KCRA
• Data Migration / Interfaces– KRA is SOA - provide your own implementations as
necessary– Main Data Migration / Integration points will be
documented
• Kuali Coeus Release 1.0 - July 2008– Implementation Guide– KRA Packaging and Documentation– KRA Test Drive– Support Model
Technical Competencies for KRA Implementation
• Straight Implementation– Java EE– Web Server (eg Apache)– Servlet 2.4 / JSP 2.0 Compatible Servlet Container (eg Tomcat)– Relational database (Oracle for release 1; future release will be
platform agnostic)
• For customization– Struts– OJB/JPA/ORM– Spring– Kuali Rice– XML
Kuali Coeus Demo
Q&A