building a technical consulting team within a federated university environment

29
Building a technical consulting team within a federated university environment Educause Southwest Regional Conference February 22, 2007 Austin, TX By: C. J. Barker

Upload: cais

Post on 11-Jan-2016

26 views

Category:

Documents


1 download

DESCRIPTION

Building a technical consulting team within a federated university environment. Educause Southwest Regional Conference February 22, 2007 Austin, TX. By: C. J. Barker. Your Presenter. C. J. Barker University of Texas at Austin Information Technology Services Software Developer / IT Manager - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Building a technical consulting team within a federated university environment

Building a technical consulting team within a federated university

environment

Educause Southwest Regional Conference

February 22, 2007

Austin, TX

By: C. J. Barker

Page 2: Building a technical consulting team within a federated university environment

Your Presenter

C. J. Barker• University of Texas at Austin• Information Technology Services• Software Developer / IT Manager• Technical Contracts Manager

[Software]

Page 3: Building a technical consulting team within a federated university environment

Building a technical consulting team

Topics

• Background & History

• Business Plan

• Bid Estimates

• Service Level Agreement

• Source Code License Agreement

• Hiring Practices

• Managing ‘Agile’ Projects

Page 4: Building a technical consulting team within a federated university environment

Building a technical consulting team

What will this session provide?

• Serve as case study

• Disclose successes, trials, and tribulations

• General development practices within distributed university environment

Page 5: Building a technical consulting team within a federated university environment

Background & HistoryUT Austin

• 48,000+ students

• 20,000+ faculty & staff

• 20 Colleges & Academic Units

• Copious administrative departments

• Vast array of varying business and IT needs

• Evolving technical landscape

Page 6: Building a technical consulting team within a federated university environment

Background & HistoryRecognized Need

• Departments lack or have scarce resources– Human

– Technical

– Financial

– Time

• Business process and technological advancements suffer

• Software development and support needed

• ITS agrees to address university needs

Page 7: Building a technical consulting team within a federated university environment

Background & HistoryAgile Contracts Team (ACT)

• Created August 2005

• Technical Consulting Services

– Customer-Service Oriented

– Foster academic and administrative units’ productivity

– Business and software development & support

• The catch – developer positions self-funded

Page 8: Building a technical consulting team within a federated university environment

Develop A Business PlanWhere to begin?

• Contents of plan needs to match the purpose

– Assist academic/administrative departments

– Customer-oriented services

– Assist with technical & business needs

– Self funding team [must sustain business]

– Small to mid size development and maintenance projects

• Don’t loose site of your clients’ needs

• Model after private sector

• Prepare, plan, anticipate, and ACT

Page 9: Building a technical consulting team within a federated university environment

Develop A Business Plan

Plan’s Focus Areas

• Executive Summary

• Business Description

• Market Analysis

• Management

• Business Development Strategy

• Financial Review

Page 10: Building a technical consulting team within a federated university environment

Bid Estimates

How to Approach

• Carry out initial requirements gathering

• Rely on past project experience & expertise

• Utilize team’s strengths and weaknesses

• Get buy-in from team

• Get approval from client

• Remember Morse Law and apply it to estimates

• Measure estimate versus actual

• Bid estimating is an art form. It takes time and experience

Page 11: Building a technical consulting team within a federated university environment

Service Level Agreement

Get it in writing!

• Service contract/agreement– Establishes levels of services

– Identifies roles & responsibilities

– Base line for expectations

• Define deliverables and timeline

• Get all involved parties’ authorization signature

• Avoid scope creep – stick to agreement

• As needed, revisit the agreement

Page 12: Building a technical consulting team within a federated university environment

Source Code License Agreement

Reduce Liabilities and Establish Policy

• Source code is property of UT Austin

• Available to affiliated dept or academic unit

• BSD licensed agreement “as is” software

• DYI (don’t repeat yourself)– Leverage source code base

– Share knowledge and techniques

Page 13: Building a technical consulting team within a federated university environment

Hiring Practices

Evaluate the Landscape and Utilize Resources

• UT has 10 Ten Engineering, CS, & Business programs

• Students interested in professional work experience

• Ambitious, smart, part-time workers

• Student programmers are cheap, good labor

• Mentor and groom employees

• Evaluate potential placement– Hire fulltime

– Utilize specialties

Page 14: Building a technical consulting team within a federated university environment

Hiring Practices

Potential Employee Characteristics

• Analytical Skills

• Great Communication (oral/written)

• Driven to succeed

• Professionalism

• Self-motivated

• General theory and software design practices

• Don’t need someone good at technology X

• Need someone who is a good problem solver

• Can always pick up toolset

Page 15: Building a technical consulting team within a federated university environment

Technical LandscapeUT’s Technical Environment

• Distributed computing– Legacy mainframe (IBM OS390)

– Various RDBMS (Oracle, MS-SQL Server, MySQL)

– Programming (PHP, Java, C/C++, Perl, Python, Cold Fusion, etc.)

• Emphasis on web and database programming

• Don’t limit yourself – Pick the right tool for the job

– Catch 22 (RAD versus Support/Maintenance)

Page 16: Building a technical consulting team within a federated university environment

Technical LandscapeFOSS• Free and Open Source Software

– Chances are someone has done it or something similar– Utilize the tremendous libraries and wealth of knowledge– Don’t be afraid – to modify and customize

• Java: Apache Software Foundation• PHP: PHP Extensions and Applications Repository (PEAR)• Python: Cheese Shop Repository• Perl: Comprehensive Perl Archive Network (CPAN)• SourceForge.org• FreshMeat.net• OpenSourceTutorials.com

Page 17: Building a technical consulting team within a federated university environment

Tools & TechniquesEmbrace Technology Protocols, Frameworks, etc.

• Don’t limit project capabilities due to environment constraints

• Build flexible, scalable software

• Design Patterns are your friends

• Utilize and adapt communication protocols– Web Services (SOA), XML, SOAP, RPC

– ODBC

– HTTP, FTP, Sockets

– LDAP

• Examples– PHP and Oracle integrating with IBM mainframe (XML Gateway)

– Python invoking existing Java libraries (Jython)

Page 18: Building a technical consulting team within a federated university environment

Managing IT ProjectsUseful Practices

• Engage clients with development team– Holds developers accountable

– Vested interest in the project

• Utilize Scrum ‘sprint’ technique– 1 to 3 week development cycles

– Rapid development

– Iterative feedback loop with client

• Incorporate issue/bug tracking, wiki, and project management tool [TRAC]

• Utilize source code repository with version control [Subversion]

Page 19: Building a technical consulting team within a federated university environment

Managing IT ProjectsUseful Practices

• Automate anything and everything– Document generation

– Source code builds and unit tests

– Quota Checks

– Data loads

Page 20: Building a technical consulting team within a federated university environment

Managing IT ProjectsTrack Metrics

• Track employee contracted hours

• Audit time logs for client billing

• Monitor budgets

• Forecasting current project needs/changes

• Trend analysis of employees work load

• Improve bid estimates

• ACT built custom software application (Intranet)

Page 21: Building a technical consulting team within a federated university environment

Managing IT Projects

Page 22: Building a technical consulting team within a federated university environment

Managing IT Projects

Page 23: Building a technical consulting team within a federated university environment

Managing IT Projects

Page 24: Building a technical consulting team within a federated university environment

Managing IT Projects

Page 25: Building a technical consulting team within a federated university environment

ACT Year In ReviewHas it been successful?

• Assisted over 20+ academic & administrative departments

• Developed numerous software application suites– Modular applications being reused throughout colleges

• Provides maintenance and support to enterprise University applications

• Grossed over $155K in the last year

• Self-funded team sustained for over a year

• Overwhelming repeat business and client referral

Page 26: Building a technical consulting team within a federated university environment

Problems with current modelIt’s not all perfect

• Chicken and the egg issue [developers vs. projects]

• Limiting salary budget

• Employee burnout

• Intense pressure to support self funding model

• Consulting team isolated for inter-department efforts

• Some redundancy of projects [web applications w/ dbms]

• Lack of project priority, screen, approval– Do everything for anybody

• Lack own human resources

Page 27: Building a technical consulting team within a federated university environment

Room for Improvement

• Consolidate all consulting services– Hardware, user/desktop support, and software

– Standardize policy and procedures

• Dedicate developer resources

• Dedicate project management resources

• Rotate employee/teams [avoid burnout]

• Formal review of potential contracts/projects

• Recognize the University need and demand for such services– Subsidize consulting services

Page 28: Building a technical consulting team within a federated university environment

Contact Info

=======================================C. J. Barker

Agile Contracts Team (ACT)Information Technology Services

University of Texas at [email protected]

http://www.utexas.edu/its/act

=======================================

Page 29: Building a technical consulting team within a federated university environment

Questions?

Answers?

Recommendations?