17spm_L09
Building a Team
SPM 2017 © Ron Poet Lecture 9 1
Introduction
Project Manager
� The project manager needs to do the following:
� Deciding what needs to be done.
o Liaise with customers.
o Negotiate contracts.
SPM 2017 © Ron Poet Lecture 9 2
o
o Select the process.
� Estimating costs
� Ensuring there are suitable people to undertake the project.
o Recruiting.
o Training
Project Manager (2)
� Defining responsibilities
� Scheduling
� Making arrangement for the work.
o Paperwork
SPM 2017 © Ron Poet Lecture 9 3
o
o Office space.
o Hardware and software
o Security clearances if necessary.
o May not change much between projects.
� Directing.
o Getting people to do what they have agreed to do.
Project Manager (3)
� Being a technical leader (in some cases)
� Reviewing and approving decisions
� Building moral and supporting staff
� Monitoring and controlling
SPM 2017 © Ron Poet Lecture 9 4
� Coordinating the work with other projects
� Reporting
Team Structure
� Creating software is a social activity and relationships between team
members are important.
� There are many different ways of structuring a team:
o Egoless
SPM 2017 © Ron Poet Lecture 9 5
o Hierarchy
o Chief programmer
o Offshoring
Egoless
� No one is in overall charge.
� Decisions are made by consensus
� Advantage
o Everyone has creative input
SPM 2017 © Ron Poet Lecture 9 6
o
o Suitable for projects with technical challenges
� Disadvantages
o Can result in endless talking and no decisions being made.
o In practice, team members are not equal.
Hierarchy
� Some people are in charge and tell others what to do.
� Can have sub-team leaders.
� Advantages
o Someone has responsibility to keep the project moving
SPM 2017 © Ron Poet Lecture 9 7
o
o Recognises experience, not all suggestions are equal.
� Disadvantages
o Stifles communication between peers
o Low level members just focus on their own part of the project and
things can be missed.
Chief Programmer
� One person creates most of the code.
� Other team members assist with testing, documenting etc.
� Advantages
o Makes best use of team members skills.
SPM 2017 © Ron Poet Lecture 9 8
o
� Disadvantages
o The best programmer may not be the best manager.
o Difficult for career progression.
Offshoring
� Part of the development work takes place in another country.
� Some parts such as management, testing remain close to base.
� Advantages
o Lower wages for equivalent skills.
SPM 2017 © Ron Poet Lecture 9 9
o
� Disadvantages
o No informal contacts
o Different expectations of the job
o Difficult to resolve problems
Team Building in Practice
� No mater what team structure is adopted, people will consult with
others to get the job done.
� Some members will be committed to the project and do more than
expected.
� Others will do the minimum they can get away with.
SPM 2017 © Ron Poet Lecture 9 10
� Others will do the minimum they can get away with.
� Some pairs of people won’t get on with each other.
� The team leader needs to deal with all these issues, while keeping track
of what is happening behind the scenes.
The Best Team Size
� Teams are generally divided into sub-teams.
� There is a minimum amount of time needed to achieve a sub-task.
o Allocating twice as many people will not halve the development
time.
SPM 2017 © Ron Poet Lecture 9 11
o Also “Adding more people to a late project makes it even later.”
Fred Brooks. Known as Brook’s Law.
� The number of people overall will change over time as activities
change from requirements gather to design, development, preparing for
deployment and product support.
Team Size (2)
� A team is too large if:
o There are not enough different tasks for team members to take
responsibility for.
o Too many people working on one aspect will not make it go any
faster.
SPM 2017 © Ron Poet Lecture 9 12
faster.
o People can sit around waiting for other developments to be
completed.
Team Size (3)
� A team is too small if:
o There is too much work for them to meet their deadlines.
o There is not enough specialised expertise in the team for parts of
their work.
SPM 2017 © Ron Poet Lecture 9 13
o If this is discovered late then adding more team members will
make it worse – Brooks Law.
Skills Needed on a Team
� Each person will typically take on several roles.
� Project manager: responsible for making things happen on time and
on schedule.
� Architect: controls the overall structure of the software.
SPM 2017 © Ron Poet Lecture 9 14
� Configuration manager: controls various versions and branches.
Controls various builds.
� User interface specialist: this is important in GUI based products
because the GUI is the only bit that the customer sees.
� Technology specialist: knows the details about one important
technology that is needed.
Team Skills (2)
� Hardware specialist: knows how to port to a particular hardware.
� Third part software specialist: experienced in using particular
software such as operating systems and databases.
� Documentation: the product will need a user guide as well as
installation guide and maintenance guide.
SPM 2017 © Ron Poet Lecture 9 15
installation guide and maintenance guide.
� User training: may be required.
� Tester: makes sure the test suite is complete and runs the automated
tests on a regular basis.
Project Plan Document
� Contents.
� Purpose: similar to requirements documentation
� Background Information: context of project.
� Two types of deliverable:
SPM 2017 © Ron Poet Lecture 9 16
o Process to be used: each process type has different documentation,
so list documents to be produced.
o Subsystems and planned releases
� Risks and challenges.
� Cost estimates.
Project Plan (2)
� Team: people with responsibilities, including sub-teams.
o Skills needed
o Training needs and plans
o Allocation of responsibilities.
SPM 2017 © Ron Poet Lecture 9 17
o
� Tasks, as in PERT chart, but with more details.
� Schedule: as Gannt chart.
� Milestones, which also appear on the Gantt chart.
� See next Lecture
Difficulties and Risks
� Accurately estimating costs at the start of the project.
� It is difficult to measure progress.
� You have to work with the people and their skills that you have, not
what you would like.
SPM 2017 © Ron Poet Lecture 9 18
� You have to work with the software and systems that you have, not
what you would like.
� Communications on a large project is difficult. It is difficult to find out
what is really happening.
� It is hard to obtain agreement and commitment from others.