Presentation - EDUCAUSE.edu

Download Report

Transcript Presentation - EDUCAUSE.edu

Re-Tooling "Legacy"
Programmers
Track 3
Jeremy Gordon
Systems Analyst
UBC Student Services
[email protected]
Agenda
•
•
•
•
•
UBC Background
The Problem
The Tools
The Approach
The Results
2
UBC
• 35,000 Students
• 3,000 Faculty
• 900 Student Administrators
– 100 Central
– 800 Departmental
3
Project
• Ongoing custom redevelopment of SIS
in Java
– Student, Faculty & Admin Service Centre
– Scheduling (Ad Astra), Degree Audit
– “My Courses” portal
– numerous satellite systems
4
Systems Group
• 15 UBC employees
– 1 manager
– 8 Java developers
– 1 quality control
– 2 legacy support
– 3 technical support
• 4 consultants
5
Successes
• 75% of registrations for Summer 2000
via the SSC
• 62% of grades submitted for Winter
1999 via the FSC
6
The Problem
• You want to develop Internet-enabled
applications
• You have a team of people with rich
business knowledge but little
experience in a Java-like environment
• How to you get them productive ?
7
Legacy View
• Focus on the vehicle
• Don’t need to know about the road
8
Java View
• Business solution above ground
• Huge network of issues below ground
9
Java - Language
•
•
•
•
•
•
•
Simple
Architecture Neutral
Robust
Interpreted
High Performance
Multi-threaded
Dynamic
•
•
•
•
Object Oriented
Distributed
Portable
Secure
10
Java - Environment
•
•
•
•
Client
Server
Network
Database connectivity
11
Java - Development
•
•
•
•
Design tools
Commercial beans
Support tools
Language extensions
12
UBC Project
• 1500 classes, 8 MB
• evolving architecture over 3 years
• code management software - CVS
• modeling tools - none
• documentation - sparse, unorganised
13
Another Java View
• Start off small, not mission-critical
• Be prepared for some failures
• Be prepared to throw work away
14
The Tools
• What kind of applicable skills do your
people already have?
– programming languages
– operating system environments
– project management skills & tools
• What kind of skills are they going to
need?
15
UBC Team
• No Java experience
• Powerbuilder, VB, C++, Peoplesoft,
COBOL , SQR
• Windows, Unix, Mainframe, CICS/IDMS
• LAN support, business analysts, DBA
16
Roles
•
•
•
•
•
•
Business programmer
GUI designer
Guru (evangelist)
Project leader
Release manager
Back-end technical expert
17
Best Fit
• Two types of developers
– business
– technical
• Round peg in a round(ish) hole
• Many challenges to be met
18
Programming
• Syntax
– Inheritance, Events, Exceptions, Threads
• Architectural Design Concepts
– OO, modeling, patterns
• GUI design
19
Run-time Environment
• Networking (n-tier)
• Security
• Commercial products
20
Development Environment
•
•
•
•
•
Programming
System Management
Testing
Deployment
Production Support
21
The Approach
• How to develop the skills your people
already have
• How best to train new skills
• How to encourage productivity
22
Training
• Language Courses
– internal & external
– on-line
• e.g. ZDUniversity, DigitalThink
• Can’t be done in isolation
• Need to be immersed in real-world
23
Training
• Models
– code examples
– template
– documentation
• Need to start with simple problems
• Going to need a lot of help
24
Training
• Expert exposure
• Networking
• Gain insights and techniques
• Share problems and solutions
25
Training
• Reference materials
– books
– on-line
• Self-motivated
• Maintain library
26
Training
• GUI design
– books
– on-line
• Internal expertise
• More than just paper on the web
• Look for useful metaphors
27
Communication
• Critical in Java world
– on-line
– in person
• code walkthru’s, meetings, show & tell
• Documentation
• Code management tools
28
Research & Experimentation
• Freedom to experiment
• Authorisation and willingness to spend
money
• Access to resources
29
Physical environment
• Concentrated area
• Shared offices
• Meeting room space
30
Commercial Partnerships
Two examples
• Sierra Systems Consultants, Vancouver,
BC
• Ad Astra, Kansas City, Kansas
31
Sierra Systems Consultants
• 4 long-term consultants
• 2 “apprentices” (maybe more)
– high-end in other environments
– taken Java courses, some Java work
– recognise need to work in real world
– flexible rates
• first month free
• subsequent month(s) substantially reduced
32
Ad Astra
• Responded to Scheduling package RFP
• Sent team members from Kansas for 2
weeks (at their cost)
• Wanted to understand our architecture
• Took prototype, widgets and ideas back
to fully integrate into their own product
33
The Results
• Rewards
• Dangers
34
UBC Team
• Rich in Java experience
• Satisfaction of working on leading-edge
projects
• Recognition of excellence
– Invitations to conferences, awards
35
UBC Project
•
•
•
•
Sensitive to users’ current needs
Opportunities to add value
Relatively inexpensive
Better able to keep to project plans
– steep learning curve
36
Staff Morale
• over-load
• dissatisfaction or resistance
• too much satisfaction!
37
Staff Retention
• 2-5 years turn-over
• expensive to hire skilled staff
– can’t compete with dot-com’s
– rest of business market catching up
• expensive to train unskilled staff
38
Staff Hiring
• hiring options
– experience/exposure
– challenge
– benefits
• we’re in the same boat...
UBC IS HIRING !!!
39
Another UBC Presentation
• Maggie Hartley & Gordon Uyeda,
• Shaping Student Information
Systems to Deliver Service in the
21st Century
Track 1
Monday, May 15
4:00 p.m. - 5:00 p.m.
Regency Ballroom E
40
Don’t let your project become
Another Titanic !
41
Let your project
Bloom !
42
Thank you
Questions ?
[email protected]