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