430 likes | 516 Views
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.
E N D
Re-Tooling "Legacy" ProgrammersTrack 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
Ongoing custom redevelopment of SIS in Java Student, Faculty & Admin Service Centre Scheduling (Ad Astra), Degree Audit “My Courses” portal numerous satellite systems Project
15 UBC employees 1 manager 8 Java developers 1 quality control 2 legacy support 3 technical support 4 consultants Systems Group
75% of registrations for Summer 2000 via the SSC 62% of grades submitted for Winter 1999 via the FSC Successes
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 ?
Legacy View • Focus on the vehicle • Don’t need to know about the road
Java View • Business solution above ground • Huge network of issues below ground
Simple Architecture Neutral Robust Interpreted High Performance Multi-threaded Dynamic Object Oriented Distributed Portable Secure Java - Language
Client Server Network Database connectivity Java - Environment
Design tools Commercial beans Support tools Language extensions Java - Development
1500 classes, 8 MB evolving architecture over 3 years code management software - CVS modeling tools - none documentation - sparse, unorganised UBC Project
Another Java View • Start off small, not mission-critical • Be prepared for some failures • Be prepared to throw work away
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?
UBC Team • No Java experience • Powerbuilder, VB, C++, Peoplesoft, COBOL , SQR • Windows, Unix, Mainframe, CICS/IDMS • LAN support, business analysts, DBA
Business programmer GUI designer Guru (evangelist) Project leader Release manager Back-end technical expert Roles
Two types of developers business technical Round peg in a round(ish) hole Many challenges to be met Best Fit
Syntax Inheritance, Events, Exceptions, Threads Architectural Design Concepts OO, modeling, patterns GUI design Programming
Networking (n-tier) Security Commercial products Run-time Environment
Programming System Management Testing Deployment Production Support Development Environment
The Approach • How to develop the skills your people already have • How best to train new skills • How to encourage productivity
Language Courses internal & external on-line e.g. ZDUniversity, DigitalThink Can’t be done in isolation Need to be immersed in real-world Training
Models code examples template documentation Need to start with simple problems Going to need a lot of help Training
Expert exposure Networking Gain insights and techniques Share problems and solutions Training
Reference materials books on-line Self-motivated Maintain library Training
GUI design books on-line Internal expertise More than just paper on the web Look for useful metaphors Training
Critical in Java world on-line in person code walkthru’s, meetings, show & tell Documentation Code management tools Communication
Freedom to experiment Authorisation and willingness to spend money Access to resources Research & Experimentation
Concentrated area Shared offices Meeting room space Physical environment
Commercial Partnerships Two examples • Sierra Systems Consultants, Vancouver, BC • Ad Astra, Kansas City, Kansas
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
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
The Results • Rewards • Dangers
UBC Team • Rich in Java experience • Satisfaction of working on leading-edge projects • Recognition of excellence • Invitations to conferences, awards
UBC Project • Sensitive to users’ current needs • Opportunities to add value • Relatively inexpensive • Better able to keep to project plans • steep learning curve
over-load dissatisfaction or resistance too much satisfaction! Staff Morale
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 Staff Retention
hiring options experience/exposure challenge benefits we’re in the same boat... UBC IS HIRING !!! Staff Hiring
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
Don’t let your project become AnotherTitanic !
Let your project Bloom !
Thank you Questions ? jeremy.gordon@ubc.ca