410 likes | 430 Views
This chapter delves into effective project and team organization structures, reporting methods, and notes on managing software developers to ensure projects are completed on time and within budget. Learn about different team structures, project size impacts, matrix organization advantages and disadvantages, and the importance of team coordination and communication.
E N D
IS 556 Project Management On Time On Budget: Chapter 5 - MANAGING SOFTWARE DEVELOPERS Case Study: Ford Motor David Lash
Objectives • Project Organization • Team Organization • Types of reporting and why • Status Reports • Status Meetings • Some notes on managing developers
Managing Software Developers • “Average” developer tends to be … • highly creative, highly logical. • Possessive? Temperamental? Introverted? • Sackman Productivity study • 25:1 ratio – programming • 28:1 ratio – debugging • Development methods help reduce ratio • Add more organized and systematic processes (documentation, standards, meetings, reviews) • 5:1 ratio • Organization & social structure can add variance of 25% or more
Organizational Structure • Supervise developers VS lead • direct vs facilitate • The larger the project the more important the structure • For small team (<=5) a very basic structure
Medium Project Structure • Staff from 5-~20
Large Projects • Staff > ~ 40 Require further decomposition
Project Issues Affecting Structure • Project Size - Issues with Communication/coordination • Simultaneous Hardware and Software development • If software requires more high reliability -> more QA • Corporate structures may be centralized • Support structure like IT, • Secretarial, legal, • H/R
Matrix Organization • Project manager manages technical project development issues • Function manager handles other issues such as salary, reviews, training. • Functional managers within project management organization • Common in larger organizations
Matrix Organization Advantages • Expertise in special fields • Rapid development of specialists • Assigned to projects as needed • Flexibility in assigning people to projects as needed • People have functional home as project ends • Manager concentrates on technical issues • Shared responsibility (and stress) w/ functional areas • Can relieve top-management from day-to-day
Matrix Organization Disadvantages • Weak project management authority • No control over salary, promotion • Potential for conflicting priorities (function vs project) • Susceptible to role ambiguity. • Weak loyalty to project manager or team • Developers more likely to be loyal to who pays them. • More difficult for developers to change area • Project decisions can be more difficult
Projects are organized by teams • Will look at some types of teams • Democratic teams • Chief Engineer Teams • Expert Teams
Project teams • Projects are best organized into teams • At least those ~ >= about 5 developers • Advantages • Delegation of authority • Knowledge of team members tasks • Sharing of knowledge • Ease of communication within team • Identification of contribution
Projects are organized by teams • Democratic Teams • No specific leader – but may be one for admin tasks (e.g., coordinating mtgs, communications). • Leader might • Represents project to team • Represents team to project manager • Represents team to other functions • Ideally decisions made by everyone
Chief Engineer Teams • Chief Engineer Team leader - coordinator and technical mentor • Supervise work of others • Technical mentor to others • Administrative and coordination • Represent Project Manager to team and team to PM
Expert Teams • Formed as needed – (AKA SWAT Teams) • Used to assure quality or solve problems • Expert at specific task • Expert at communication • Often are managed as a democratic team.
Most Common Team Structures When do we use each? How? What is vital to success of each?
Objectives • Project Organization • Team Organization • Types of reporting and why • Status Reports • Status Meetings • Some notes on managing developers
Reporting • Types of management reports • written reports, verbal reports, status meetings, product demonstrations and even Intranet • Support QA and test reports • 90/10 rule - takes 50% of the time for last 10% • Why? • Tacit assumption that “work = new functionality” and work is not fixing small details. • Last 10% can be the most complex • Better to ask - how much longer until finished
Team Status Report • Suggests status reports from each team member • Could include: • Red flags • Concerns for Manager’s attention • Frequently involve resources (personnel) and things needed from client (sign off) • Update on activities during period • Description of activities on WBS during period • Planned activities • What plan to do for next period (Includes tasks and administration). • Problems • Reconcile activities with those planned in previous report • Problems are frequently mundane, but shouldn’t sound whiny • PM often collect status reports and roll into a master report.
Project Status Meeting • Periodic and regular • Address issues in team status reports • Attended by all key project members • Held to report and to resolve issues
Basic Reporting Techniques • Project status deliverables are separate and apart from other project deliverables • Periodic, written status reports • Verbal updates • E-Mail updates • Status meetings • Project status meetings • Steering Committee updates • Timesheets
Basic Reporting Techniques • Along with timesheets, the status report is the basic historical document. • Status reports should be issued . . . • From team members to team leaders • From project managers to project sponsors and stakeholders. • Status reports are summaries, not detailed diaries. • Usually 1-2 pages. • Provide early warnings of potential issues or problems between the team and team/project leadership. • Real problems shouldn’t be buried in status reports. • Any red flagged item should have been previously disclosed. • Significant changes in project status require: • advance notice, as soon as the information is known. • a personal visit to verbally update the key sponsor(s). • Reading about a major delay in a status report or finding out about a significant issue for the first time at a steering committee meeting is not acceptable.
Basic Reporting Techniques • Periodic, written status reports should contain: • Accomplishments • Planned Activities • Problems and general issues, including resource constraints • Red flags • The periodic, written status report should contain: • Date prepared • Date covered • Name of submitter • Project name (team name) • If the status report is written by the project manager to management . . . • budget and schedule variances must be discussed.
Basic Reporting Techniques • Another form of status report is the stoplight report. • A summary style report for reporting to top management. • Uses traffic lights to indicate current status. Stop Light Report For Release 1.23
Basic Reporting Techniques • The stoplight report approach can also be used in conjunction with key performance indicators (KPIs) to present a balanced scorecard for to management for the project. • Might include • List of tasks completed • Defect statistics • Top 10 Risk List • Percent of schedule used • Percent of resources used
Basic Reporting Techniques • Periodic written status reports • Adopt and use a consistent format for all team members • Publish weekly or bi-weekly. • Page 108 (OTWB) has sample report. (next slide)
Basic Reporting Techniques • Timesheets • Organize the project in such a way that significant development events are tracked and reported. • There are differing schools of thought about the method and the extent of the details in capturing time worked against a project. • If you want to improve your estimating accuracy for future projects, you’ll be wise to keep good records of time spent.
Basic Reporting Techniques • Capture all time. • Develop activity codes and report what was done. • Capture time to the work breakdown structure (WBS). • Capture time to the work product or deliverable. • Page 108/109 (SPSG) has sample time codes.
Example Time Codes Page 108/109 (SPSG) has sample time codes.
Status Meetings • Meetings . . . • The event we love to hate in the business world. • Biggest complaint - they are too long. • Usually wander off the subject. • Usually don’t start on time. • What to do: • Hold fewer formal meetings. • Make these meetings shorter. • Have a prepared, formal agenda or format and stick to it for every meeting. • The project manager is the meeting leader/facilitator. • Appoint another team member as the scribe to record the notes of the meeting. • Rotate the scribe function if possible. • However, if someone takes good notes and doesn’t mind, stay with that person.
Status Meetings • A typical status meeting: • Coverage of outstanding issues or questions from last meeting. • Project progress since last meeting. • Review the project schedule. • Review the project budget. • New issues or developments. • Review the issues list. • Resolve issues or approve resources for further investigation. • Review the changes list. • Approve, reject or defer action on changes.
Status Meetings • A typical status meeting (continued): • Potential problems,focused on • Deliverables (Scope Reductions and Delays) • Estimates (Plan versus Actual Comparisons) • Resources and Constraints • (Plan versus Actual) • Personnel Changes and Issues • (Turnover, Absences) • Overtime Worked • Schedules • Affect on Deliverables • Affect on External Events, such as production and training schedules
Status Meetings • How to keep meetings shorter: • Encourage frequent, informal or working meetings between team members. • There is a difference between idle conversations and informal meetings. • The project manager or team leader should: • Insist on both an agenda for and notes from informal or working meetings. • These can be e-mail updates to the participating parties with copies to the team and project leaders.
Status Meetings • Meeting books: • The meeting agenda and supporting documents that will be discussed should be in the hands of attendees at least 24 hours prior to a scheduled meeting. • Attendees need to review these and should be prepared to ask questions or discuss them. • Reading at a meeting is counterproductive. • Meeting minutes: • Publish as soon as practical after the meeting concludes.
How to Report • Project Intranets • (department to department) • Project Extranets • (consultant to client) • What are they: • Web sites containing all documentation and deliverables related to the project.
Using Web Sites • Web Sites or “Project Portals” are a great way to manage the project management related deliverables and other project work products. • Many of the latest versions of Project Management tools include collaboration and web scheduling pieces. • Most importantly: • Don’t rely exclusively on or hide behind the project’s web site. • Project management remains largely a person to person activity.
Example software project intranet There are no secrets on a successful software project. Both good and bad news must be able to move up and down the project hierarchy without restriction. – SPSG – Pg 93.
Motivating Developers • Software development is an analytic but creative task • Analytic/creative types are sensitive and often cynical • If a project manager is too controlling can often be problematic • If not detailed enough can be problematic • If not egoless (humility) enough can be problematic. • Management by edict seldom works. • Your personal style, sense of humility, attention to detail and own emotional stability may • Be more important to you and your project’s success (then getting an A++++ in IS556).
Objectives • Project Organization • Team Organization • Types of reporting and why • Status Reports • Status Meetings • Some notes on managing developers