58
Kuali Bootcamp for Interested Technologists Bryan Hutchinson - Cornell University (Development Manager) Jack Frosch – Kuali Foundation (Lead Developer)

Kuali Bootcamp for Interested Technologists

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

Page 1: Kuali Bootcamp for Interested Technologists

Kuali Bootcampfor Interested Technologists

Bryan Hutchinson - Cornell University

(Development Manager)

Jack Frosch – Kuali Foundation

(Lead Developer)

Page 2: Kuali Bootcamp for Interested Technologists

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

Page 3: Kuali Bootcamp for Interested Technologists

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

Page 4: Kuali Bootcamp for Interested Technologists

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

Page 5: Kuali Bootcamp for Interested Technologists

Introductions

• Who are you?

• Where are you from?

• What do you do?

• What do you hope to get from this week?

Page 6: Kuali Bootcamp for Interested Technologists

Kuali Overview

• What is Kuali?

• Organization

• Open Source Misconceptions

• Kuali Community Source

Page 7: Kuali Bootcamp for Interested Technologists

What is Kuali?

• Kuali = Humble utensil that plays an important role in the kitchen.

Page 8: Kuali Bootcamp for Interested Technologists

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.

Page 9: Kuali Bootcamp for Interested Technologists

Kuali Foundation Projects

Page 10: Kuali Bootcamp for Interested Technologists

Partner Institutions

QuickTime™ and a decompressor

are needed to see this picture.

QuickTime™ and a decompressor

are needed to see this picture.

Page 11: Kuali Bootcamp for Interested Technologists

Commercial Affiliates

Page 12: Kuali Bootcamp for Interested Technologists

How do we make it work?

Page 13: Kuali Bootcamp for Interested Technologists

Foundation Organization

Page 14: Kuali Bootcamp for Interested Technologists

Project Organization

Page 15: Kuali Bootcamp for Interested Technologists

Project Organization

Page 16: Kuali Bootcamp for Interested Technologists

Open Source Misconceptions

• Part time Developers

• Not industrial Strength

• Not well tested

• Hap-hazard governance

• No documentation

Page 17: Kuali Bootcamp for Interested Technologists

Kuali Community Source

Page 18: Kuali Bootcamp for Interested Technologists

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

Page 19: Kuali Bootcamp for Interested Technologists

Kuali Methodology

• Guiding Principles

• The Reality Triangle

• Collaboration

Page 20: Kuali Bootcamp for Interested Technologists

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

Page 21: Kuali Bootcamp for Interested Technologists

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”

Page 22: Kuali Bootcamp for Interested Technologists

The Reality Triangle

Scope Time

Resources

Page 23: Kuali Bootcamp for Interested Technologists

Collaboration

Requirements for success

• Communications

• Governance

• Commitment

• Respect

• Trust

Page 24: Kuali Bootcamp for Interested Technologists

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

Page 25: Kuali Bootcamp for Interested Technologists

Effective PM?

Page 26: Kuali Bootcamp for Interested Technologists

What is effective PM?

According to Project Management Institute:

• Initiation and Planning

• Execution and Monitoring

• Closing – transition to Sustainment

Page 27: Kuali Bootcamp for Interested Technologists

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

Page 28: Kuali Bootcamp for Interested Technologists

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

Page 29: Kuali Bootcamp for Interested Technologists

The Reality Triangle

Scope Time

Resources

Page 30: Kuali Bootcamp for Interested Technologists

Execution & Monitoring -The Other Realities

COST RISK

Page 31: Kuali Bootcamp for Interested Technologists

Project Resources

• Clear Role definitions

• Development Team SourcingTendered Resources

Onshore consulting

Offshore consulting

• Backfill for functional resources

• Training

Page 32: Kuali Bootcamp for Interested Technologists

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

Page 33: Kuali Bootcamp for Interested Technologists

Communications

• Good project management requires effective communications & collaboration

• Good communications requires:– A strategy and a plan– Communication/collaboration tools– Effective meetings

Page 34: Kuali Bootcamp for Interested Technologists

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

Page 35: Kuali Bootcamp for Interested Technologists

Communication Plan

Page 36: Kuali Bootcamp for Interested Technologists

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

Page 37: Kuali Bootcamp for Interested Technologists

Project Management Tools

Page 38: Kuali Bootcamp for Interested Technologists

Project Management Tools

Page 39: Kuali Bootcamp for Interested Technologists

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

Page 40: Kuali Bootcamp for Interested Technologists

Effective Meetings

• Have an agenda

• Record Action Items

• Track and follow up

• Formation of ad hoc subgroups

Page 41: Kuali Bootcamp for Interested Technologists

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

Page 42: Kuali Bootcamp for Interested Technologists

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

Page 43: Kuali Bootcamp for Interested Technologists

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?

Page 44: Kuali Bootcamp for Interested Technologists

Working togetherWe can do it!!

Page 45: Kuali Bootcamp for Interested Technologists

Collaboration Tools

• Confluencehttp://test.kuali.org/confluence

• JIRAhttp://test.kuali.org/jira/

• Sakaihttps://collab.kuali.org/

Page 46: Kuali Bootcamp for Interested Technologists

Collaboration Tools Demo

Page 47: Kuali Bootcamp for Interested Technologists

Kuali Architecture

• Service Oriented Architecture (SOA)

• Open Source Tools

• Kuali Rice

Page 48: Kuali Bootcamp for Interested Technologists

Kuali Architecture

Page 49: Kuali Bootcamp for Interested Technologists

Kuali Architecture

Page 50: Kuali Bootcamp for Interested Technologists

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

Page 51: Kuali Bootcamp for Interested Technologists

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

Page 52: Kuali Bootcamp for Interested Technologists

Rice Components

Page 53: Kuali Bootcamp for Interested Technologists

Development Tools

• Development Toolbox– Eclipse– Junit / Httpunit– Jetty– Subversion (svn)– Maven

• Shared Tools– Continuum (CI)– Fisheye

Page 54: Kuali Bootcamp for Interested Technologists

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)

Page 55: Kuali Bootcamp for Interested Technologists

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

Page 56: Kuali Bootcamp for Interested Technologists

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

Page 57: Kuali Bootcamp for Interested Technologists

Kuali Coeus Demo

Page 58: Kuali Bootcamp for Interested Technologists

Q&A