re-tooling "legacy" programmers track 3

Post on 02-Jan-2016

23 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Re-Tooling "Legacy" Programmers Track 3. Jeremy Gordon Systems Analyst UBC Student Services jeremy.gordon@ubc.ca. UBC Background The Problem The Tools The Approach The Results. Agenda. 35,000 Students 3,000 Faculty 900 Student Administrators 100 Central 800 Departmental. UBC. - PowerPoint PPT Presentation

TRANSCRIPT

Re-Tooling "Legacy" Programmers

Track 3

Jeremy Gordon

Systems Analyst

UBC Student Services

jeremy.gordon@ubc.ca

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 !

Thank you

Questions ?

jeremy.gordon@ubc.ca

top related