Project Management and IT Peg Schafer Senior Technical Project Manager StarfishStorage @ Cambridge Computer The Plan • • • • • • • Why Listen to Me? QUICK overview of ITIL, TQM, PMP, Agile Why some don’t work, but some bit do work A few words about who is in control What project managers can do & their goals Profiling the work a particular IT department does Tools & Books Why Listen to Peg? Previous Life - The Formative Years • BFA Sculpture • UNIX Sysadmin @ CMU & Bellcore • Masters at Media Lab • UNIX Sysadmin Manager @ BBN, Harvard, Tufts • Several Years on the SAGE board of directors o Job Description Booklet, Salary Survey, etc. • I’ve always loved the art of UNIX Sysadmin Why Listen to Peg? Single Parenthood - Transition to Project Manager • Ask.com - Trouble Ticket w/ Asset DB to co-ordinate international operations • Microsoft - New NOC trying to manage Linux systems • A very Large Web Hosting Site - New Data Center • Scholastic Web Hosting for > 15 million students • Tivli (a startup @ Harvard Innovation Lab) • StarfishStorage - Data Management SW Project Management Methodologies: ITIL Wikipedia: The Information Technology Infrastructure Library (ITIL) is a set of practices for IT service management (ITSM) that focuses on aligning IT services with the needs of business. • Utilized by big sites like US government – building battleships with a 100 different contractors • Emphasis on pre-planning • Emphasis strict control • Regimented • Not much to do with the small sysadmin site ITIL_Incident_management_Impact_vs_Urgency_matrix Project Management Methodologies: TQM Wikipedia: Total quality management (TQM) consists of organization-wide efforts to install and make permanent a climate in which an organization continuously improves its ability to deliver high-quality products and services to customers. •Best at continuous work requirements: factories •Everyone needs to agree •Re-examination of processes •All employees have input and managers have to listen •Works well in Japan – cultural co-operation Project Management Methodologies: PMP Wikipedia: By the Project Management Institute (PMI): A Guide to the Project Management Body of Knowledge (PMBOK Guide) a book which presents a set of standard terminology and guidelines for project management. • Most widely used by all companies • PMP certs very popular career choice • Very logical and adaptable Project Management Methodologies: PMP The nine knowledge areas are: • Project Scope Management • Project Time Management • Project Cost Management • Project Quality Management • Project Human Resource Management • Project Communications Management • Project Risk Management • Project Procurement Management • Project Stakeholders Management Project Management Methodologies: PMP ABOK - Automation Body of Knowledge BABOK - Business Analysis Body of Knowledge CMBOK - Configuration Management Body of Knowledge EABOK - Enterprise Architecture Body of Knowledge EMBOK - Event Management Body of Knowledge SEBOK - Systems Engineering Body of Knowledge SWEBOK - Software Engineering Body of Knowledge TMBOK - Test Management Body of Knowledge Agile Software Development Wikipedia: Agile software development is a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change. It is a conceptual framework that promotes foreseen tight iterations throughout the development cycle. Agile Process: Just the basics •Planning – Epics -> Stories -> Tasks •Ranking •Estimating – Story Points •Sprints – two week blocks of work •Demo – completion of sprint •Evaluation – what did not get done and why? •Do it all over again – plan the next sprint •Kanban board continuous development until done. PMs know about all these frameworks (methods, processes, etc.) to get work organized IT people know about technology Management knows they want X (poorly defined) by Y date – far too near in the future Users just want it to work so they can do their work Developers want well designed & thought out detailed specifications. No TWO computing infrastructures are alike. • People • Systems • Software • Purpose & Goals A computing infrastructure is configured to meet the needs of the enterprise that owns it. If a company is poorly run, its computing infrastructure will run poorly. Why are standard PM practices not a fit for IT departments? •ITIL – too much planning – not contractors – people are not interchangeable – most sites not that large •TQM – work changes too much – not repeatable – too many individual thinkers – not culturally applicable •PMP – best of the lot – modern – techniques for SW development •Agile – fast on its feet – but cannot put off things until sprint is done •PMs mostly come from business school – not technical •Many PMs focus on SW development Why are standard PM practices (sometimes) are not a fit for IT departments? •PMs lack of knowledge offends IT workers •IT Departments do not control the work flow •Project deadlines rarely relate to the amount of work required to accomplish the task: Marketing wants a webpage that does X (poorly defined) “asap” – regardless of database ability or what else is scheduled for the the accounting department that week… Management – who is really in charge? Management structure is not always straightforward • • • • THE Manager may not be the “real” manager Technical Leader ? 500 pound gorilla ? Wimpy CTO? The PM is generally NOT the one in charge Especially if they are consultants For *ANY* process to work an IT department needs: 1.A strong CTO which can manage the demands of the enterprise. i.e. Marketing needs to put their requests through them for approval – weeks ahead of time. 2.Can analyze & foresee the future requirements of the enterprise. 3.Can introduce new technologies and get the $$ to implement them. 4.CTO that supports planning. If you are a PM for an IT department which does not have management support, get another job. You are there for political reasons (or worse). But all is not lost: PMs can help • Order out of chaos • Structuring the ‘type’ of work • Documentation • Work with managers to structure their expectations • Let the technical people do the “technical work” • Figure out the culture • Introduce tools • Keep Meetings Short But all is not lost: PMs can help Anything NON-technical – give to the PM • Planning • Support contracts • Anything to do with a spread sheet • Write Reports • Get Quotes • Coordinate Meetings • Projections • Communication with Management • Budgets • You would be surprised what turns up…. Typical IT Work Categories •Fight Fires – unexpected work •User Services: Small work requests – tickets – some % of expected work •Upgrading existing services - must be planned •Installing new services – must be planned – deadlines •Care and feeding of site – e.g. backups, infrastructure All in all, lots of work users do not know about… Planning, testing, configuration, stress testing, etc… A PM’s first goals: #1 Understand the work THIS department does Take a big view of the work • How much unexpected? • How does the work come in? • How is the work prioritized? • How is the work be categorized? • Does the ticket system work? • Is everything in different mailboxes? • Is there a lot of unfinished work? • Do the people have the correct skills? • Don’t gossip A PM’s first goals: #2 Understand the culture of the company & group •Very Structured or Organic (unorganized)? •How are decisions made? •How are projects developed? Is the IT group involved? •Is the technical lead the manager? •Is the manager only interested in their spreadsheets? •Does the 500 pound gorilla co-operate? •Is there a “us vs. them” culture? •Is there a ‘personality’ problem in the group? •Is there a class system within the group? •History of past PMs? •How is IT department funded? •Don’t hit anyone A PM’s first goals: #3 Determine what can be done • List the problems you can solve (keep it private) • Feel comfortable there are problems that take years to fix • Make allies • Have short conversations with managers proposing solutions - consider funding – anticipate their questions and have answers. • Don’t yell at anyone ;-) The PM’s Job is to Co-ordinate • The PM must conform to the cultural methods of work • Think creatively • The boss that only understood spreadsheets • The engineer that was too busy to meet with me • The management group that communicated best using PowerPoint – “just send me a deck” • Microsoft - *very* regimented – process - process • Startup – I went to the HW store every day…. Change Through Evolution •People change if they see a benefit for them – not the company •Listen to the complaints – are their solutions hidden in the complaints? •Listen to management – Their view is NOT the same as the workers’ view •Don’t be afraid to propose a change for a short time “just to see how it works” • Then don’t be afraid to kill it if it did not work • The reasons it died are part of your next solution Steal any good idea to get organized! • Agile SW development methodologies can be used for projects – like installing a new technology • DevOps methodologies can fix deployment issues • ITIL deployment process can fix “bugs in production code” • Daily Scrums improve communication – don’t need to standup • Do drawings of projects - feature based development • Calendars – online google is goodle • Write documentation – put it in one place Typical IT Work Categories - Revisited •Fight Fires – unexpected work Budget time for the unexpected ITIL escalation •User Services: Small work requests – tickets – some % of expected work Assign to one person? •Upgrading existing services - must be planned Perfect for Agile •Installing new services – must be planned – deadlines Agile •Care and feeding of site – e.g. backups, infrastructure ITIL All in all, lots of work users do not know about… PM should tell them – inform users of plans far in advance Planning, testing, configuration, stress testing, etc… PM’s weekly progress reports IT departments: Choose your PM carefully MUST MUST MUST understand sysadmin speak If not, realize you will need to explain EVERYTHING to them. Better to make them go away for a week and read “The Evi Book” A large part of PM is human engineering – getting people to work TOGETHER towards a common goal If they cannot work together – separate the work into distinct chunks – or knowledge areas – get management to put co-operation as a criteria for a raise Tools I LOVE • https://www.atlassian.com/ • JIRA – a great trouble ticket as well as a development ticket system • Confluence – a wiki ++ which ties into JIRA • Confluence’s Team calendar • Agile support •HUMOR •Spread Good Karma •Large Wall Calendar •Don’t give up, but if you hate work – start looking Helpful Books & Places •Time Management for System Adminstrators by Thomas A. Limoncelli •The Evi Book: UNIX and Linux System Administration Handbook by Evi Nemeth et all •The Mythical Man-Month by Fredrick P. Brooks •PMP examinations pmi.org • ITIL frameworks just google… • LOPSA •LISA BOFs Closing Advice An IT Project Manager MUST understand what is going on. Read books at night weekends just an hour or so will help immensely. Try not to stab anyone Try to think differently Steal any good idea Listen to people - esp. what they like and don’t like Questions?