re-tooling "legacy" programmers track 3
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 PresentationTRANSCRIPT
![Page 1: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/1.jpg)
Re-Tooling "Legacy" Programmers
Track 3
Jeremy Gordon
Systems Analyst
UBC Student Services
![Page 2: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/2.jpg)
2
Agenda
• UBC Background
• The Problem
• The Tools
• The Approach
• The Results
![Page 3: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/3.jpg)
3
UBC
• 35,000 Students
• 3,000 Faculty
• 900 Student Administrators– 100 Central– 800 Departmental
![Page 4: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/4.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/5.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/6.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/7.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/8.jpg)
8
Legacy View
• Focus on the vehicle
• Don’t need to know about the road
![Page 9: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/9.jpg)
9
Java View
• Business solution above ground
• Huge network of issues below ground
![Page 10: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/10.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/11.jpg)
11
Java - Environment
• Client
• Server
• Network
• Database connectivity
![Page 12: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/12.jpg)
12
Java - Development
• Design tools
• Commercial beans
• Support tools
• Language extensions
![Page 13: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/13.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/14.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/15.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/16.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/17.jpg)
17
Roles
• Business programmer
• GUI designer
• Guru (evangelist)
• Project leader
• Release manager
• Back-end technical expert
![Page 18: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/18.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/19.jpg)
19
Programming
• Syntax– Inheritance, Events, Exceptions, Threads
• Architectural Design Concepts– OO, modeling, patterns
• GUI design
![Page 20: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/20.jpg)
20
Run-time Environment
• Networking (n-tier)
• Security
• Commercial products
![Page 21: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/21.jpg)
21
Development Environment
• Programming
• System Management
• Testing
• Deployment
• Production Support
![Page 22: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/22.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/23.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/24.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/25.jpg)
25
Training
• Expert exposure
• Networking
• Gain insights and techniques
• Share problems and solutions
![Page 26: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/26.jpg)
26
Training
• Reference materials– books– on-line
• Self-motivated
• Maintain library
![Page 27: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/27.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/28.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/29.jpg)
29
Research & Experimentation
• Freedom to experiment
• Authorisation and willingness to spend money
• Access to resources
![Page 30: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/30.jpg)
30
Physical environment
• Concentrated area
• Shared offices
• Meeting room space
![Page 31: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/31.jpg)
31
Commercial Partnerships Two examples
• Sierra Systems Consultants, Vancouver, BC
• Ad Astra, Kansas City, Kansas
![Page 32: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/32.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/33.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/34.jpg)
34
The Results
• Rewards
• Dangers
![Page 35: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/35.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/36.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/37.jpg)
37
Staff Morale
• over-load
• dissatisfaction or resistance
• too much satisfaction!
![Page 38: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/38.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/39.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/40.jpg)
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](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/41.jpg)
41
Don’t let your project become
Another Titanic !
![Page 42: Re-Tooling "Legacy" Programmers Track 3](https://reader031.vdocument.in/reader031/viewer/2022032805/56813328550346895d9a1477/html5/thumbnails/42.jpg)
42
Let your project
Bloom !