290 likes | 307 Views
Learn how to build an effective technical consulting team within a federated university environment. This session will provide a case study with successes, trials, and tribulations, as well as best practices for managing agile projects.
E N D
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 • Technical Contracts Manager [Software]
Building a technical consulting team Topics • Background & History • Business Plan • Bid Estimates • Service Level Agreement • Source Code License Agreement • Hiring Practices • Managing ‘Agile’ Projects
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
Background & History UT 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
Background & History Recognized 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
Background & History Agile 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
Develop A Business Plan Where 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
Develop A Business Plan Plan’s Focus Areas • Executive Summary • Business Description • Market Analysis • Management • Business Development Strategy • Financial Review
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
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
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
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
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
Technical Landscape UT’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)
Technical Landscape FOSS • 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
Tools & Techniques Embrace 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)
Managing IT Projects Useful 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]
Managing IT Projects Useful Practices • Automate anything and everything • Document generation • Source code builds and unit tests • Quota Checks • Data loads
Managing IT Projects Track 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)
ACT Year In Review Has 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
Problems with current model It’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
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
Contact Info ======================================= C. J. Barker Agile Contracts Team (ACT) Information Technology Services University of Texas at Austin c.barker@its.utexas.edu http://www.utexas.edu/its/act =======================================