Re-Tooling "Legacy" Programmers Track 3

43
Re-Tooling "Legacy" Programmers Track 3 Jeremy Gordon Systems Analyst UBC Student Services [email protected]

description

Re-Tooling "Legacy" Programmers Track 3. Jeremy Gordon Systems Analyst UBC Student Services [email protected]. 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 of Re-Tooling "Legacy" Programmers Track 3

Page 1: Re-Tooling "Legacy" Programmers Track 3

Re-Tooling "Legacy" Programmers

Track 3

Jeremy Gordon

Systems Analyst

UBC Student Services

[email protected]

Page 2: Re-Tooling "Legacy" Programmers Track 3

2

Agenda

• UBC Background

• The Problem

• The Tools

• The Approach

• The Results

Page 3: Re-Tooling "Legacy" Programmers Track 3

3

UBC

• 35,000 Students

• 3,000 Faculty

• 900 Student Administrators– 100 Central– 800 Departmental

Page 4: Re-Tooling "Legacy" Programmers Track 3

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

Page 5: Re-Tooling "Legacy" Programmers Track 3

5

Systems Group

• 15 UBC employees– 1 manager– 8 Java developers– 1 quality control– 2 legacy support– 3 technical support

• 4 consultants

Page 6: Re-Tooling "Legacy" Programmers Track 3

6

Successes

• 75% of registrations for Summer 2000 via the SSC

• 62% of grades submitted for Winter 1999 via the FSC

Page 7: Re-Tooling "Legacy" Programmers Track 3

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 ?

Page 8: Re-Tooling "Legacy" Programmers Track 3

8

Legacy View

• Focus on the vehicle

• Don’t need to know about the road

Page 9: Re-Tooling "Legacy" Programmers Track 3

9

Java View

• Business solution above ground

• Huge network of issues below ground

Page 10: Re-Tooling "Legacy" Programmers Track 3

10

Java - Language

• Simple• Architecture Neutral• Robust• Interpreted• High Performance• Multi-threaded• Dynamic

• Object Oriented• Distributed• Portable• Secure

Page 11: Re-Tooling "Legacy" Programmers Track 3

11

Java - Environment

• Client

• Server

• Network

• Database connectivity

Page 12: Re-Tooling "Legacy" Programmers Track 3

12

Java - Development

• Design tools

• Commercial beans

• Support tools

• Language extensions

Page 13: Re-Tooling "Legacy" Programmers Track 3

13

UBC Project

• 1500 classes, 8 MB

• evolving architecture over 3 years

• code management software - CVS

• modeling tools - none

• documentation - sparse, unorganised

Page 14: Re-Tooling "Legacy" Programmers Track 3

14

Another Java View

• Start off small, not mission-critical

• Be prepared for some failures

• Be prepared to throw work away

Page 15: Re-Tooling "Legacy" Programmers Track 3

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?

Page 16: Re-Tooling "Legacy" Programmers Track 3

16

UBC Team

• No Java experience

• Powerbuilder, VB, C++, Peoplesoft, COBOL , SQR

• Windows, Unix, Mainframe, CICS/IDMS

• LAN support, business analysts, DBA

Page 17: Re-Tooling "Legacy" Programmers Track 3

17

Roles

• Business programmer

• GUI designer

• Guru (evangelist)

• Project leader

• Release manager

• Back-end technical expert

Page 18: Re-Tooling "Legacy" Programmers Track 3

18

Best Fit

• Two types of developers– business– technical

• Round peg in a round(ish) hole

• Many challenges to be met

Page 19: Re-Tooling "Legacy" Programmers Track 3

19

Programming

• Syntax– Inheritance, Events, Exceptions, Threads

• Architectural Design Concepts– OO, modeling, patterns

• GUI design

Page 20: Re-Tooling "Legacy" Programmers Track 3

20

Run-time Environment

• Networking (n-tier)

• Security

• Commercial products

Page 21: Re-Tooling "Legacy" Programmers Track 3

21

Development Environment

• Programming

• System Management

• Testing

• Deployment

• Production Support

Page 22: Re-Tooling "Legacy" Programmers Track 3

22

The Approach

• How to develop the skills your people already have

• How best to train new skills

• How to encourage productivity

Page 23: Re-Tooling "Legacy" Programmers Track 3

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

Page 24: Re-Tooling "Legacy" Programmers Track 3

24

Training

• Models– code examples– template– documentation

• Need to start with simple problems

• Going to need a lot of help

Page 25: Re-Tooling "Legacy" Programmers Track 3

25

Training

• Expert exposure

• Networking

• Gain insights and techniques

• Share problems and solutions

Page 26: Re-Tooling "Legacy" Programmers Track 3

26

Training

• Reference materials– books– on-line

• Self-motivated

• Maintain library

Page 27: Re-Tooling "Legacy" Programmers Track 3

27

Training

• GUI design– books– on-line

• Internal expertise

• More than just paper on the web

• Look for useful metaphors

Page 28: Re-Tooling "Legacy" Programmers Track 3

28

Communication

• Critical in Java world– on-line– in person

• code walkthru’s, meetings, show & tell

• Documentation

• Code management tools

Page 29: Re-Tooling "Legacy" Programmers Track 3

29

Research & Experimentation

• Freedom to experiment

• Authorisation and willingness to spend money

• Access to resources

Page 30: Re-Tooling "Legacy" Programmers Track 3

30

Physical environment

• Concentrated area

• Shared offices

• Meeting room space

Page 31: Re-Tooling "Legacy" Programmers Track 3

31

Commercial Partnerships Two examples

• Sierra Systems Consultants, Vancouver, BC

• Ad Astra, Kansas City, Kansas

Page 32: Re-Tooling "Legacy" Programmers Track 3

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

Page 33: Re-Tooling "Legacy" Programmers Track 3

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

Page 34: Re-Tooling "Legacy" Programmers Track 3

34

The Results

• Rewards

• Dangers

Page 35: Re-Tooling "Legacy" Programmers Track 3

35

UBC Team

• Rich in Java experience

• Satisfaction of working on leading-edge projects

• Recognition of excellence– Invitations to conferences, awards

Page 36: Re-Tooling "Legacy" Programmers Track 3

36

UBC Project

• Sensitive to users’ current needs

• Opportunities to add value

• Relatively inexpensive

• Better able to keep to project plans– steep learning curve

Page 37: Re-Tooling "Legacy" Programmers Track 3

37

Staff Morale

• over-load

• dissatisfaction or resistance

• too much satisfaction!

Page 38: Re-Tooling "Legacy" Programmers Track 3

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

Page 39: Re-Tooling "Legacy" Programmers Track 3

39

Staff Hiring

• hiring options– experience/exposure– challenge– benefits

• we’re in the same boat...

UBC IS HIRING !!!

Page 40: Re-Tooling "Legacy" Programmers Track 3

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

Page 41: Re-Tooling "Legacy" Programmers Track 3

41

Don’t let your project become

Another Titanic !

Page 42: Re-Tooling "Legacy" Programmers Track 3

42

Let your project

Bloom !

Page 43: Re-Tooling "Legacy" Programmers Track 3

Thank you

Questions ?

[email protected]