software engineering teams - unit...
TRANSCRIPT
![Page 1: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/1.jpg)
Software Engineering Teams
Software Requirements & Project Management CITS3220
![Page 2: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/2.jpg)
Some Anecdotal Observations about new SE Graduates
Graduates have high technical competence but, Are not good team players, Have very little feel or interest for company goals, Tend to be overconfident, overoptimistic as regards
project effort estimation and late in project delivery, Tend to adopt new technologies recklessly, with little or
no risk and cost assessment, Prefer to start, or restart, development efforts from
scratch, especially if they had not participated in the earlier development efforts
![Page 3: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/3.jpg)
Motivation for Groups Why do we need groups in software
engineering? most products are too large for 1 person one person can not be proficient in all the information
technology options that exist today
![Page 4: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/4.jpg)
Mythical Man/Month Why can’t we calculate group size with?
person months = time allocated * persons e.g. 6 person months effort required, and 2
months allowed, means we need 3 people to do the job
Groups don’t scale this way because some tasks can be shared, others cannot communication/coordination overhead Brooks’ Law: “adding people to a late software
project makes it later”
![Page 5: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/5.jpg)
Project Factors for Choosing Group Type difficulty of problem to be solved size of program to be developed time group will stay together degree to which problem can be modularised required quality and reliability rigid delivery date? degree of sociability (communication) required
![Page 6: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/6.jpg)
Democratic Approach
Group makes decisions together nominal team leader
Encourages egoless programming encouraged to find faults in “shared” code
Advantages positive attitude towards finding faults → find faults early works well for difficult problems (e.g., research)
Disadvantages hard to impose… often spring up spontaneously may spook management hard to scale?
need to move to hierarchical structure for implementation
Pressman calls this Democratic Decentralised organisation
![Page 7: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/7.jpg)
Chief Programmer Approach
All communication through chief programmer acts as manager & technical lead other team members are specialists (e.g., librarian)
Advantages communication channels reduced
Disadvantages lack of communication is unrealistic finding a chief programmer w/ tech & managerial skills
Pressman Controlled Centralized
Librarian Chief Programmer
Back-up Programmer
Programmer Programmer Programmer
![Page 8: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/8.jpg)
Technical Managerial Approach
Split group management across two people group leader responsible for technical decisions manger responsible for budget & performance appraisals some overlap that must be clarified (e.g., vacation for key people)
![Page 9: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/9.jpg)
Technical Managerial Approach Split group management between several people
Group leader responsible for technical decisions manger responsible for budget & performance appraisals some overlap that must be clarified (e.g., vacation for key people)
![Page 10: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/10.jpg)
Technical Managerial Approach Split group management between several people
As before plus decentralize decision-making to get advantages of democratic teams
![Page 11: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/11.jpg)
Roles
Role: a set of responsibilities in the project assigned to a person or team
For example, analyst, system architect, tester, developer, manager, reviewer
One person can fill one or more roles
![Page 12: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/12.jpg)
What is the best team size ?
3 members PRO everyone has a chance to speak CON one member can dominate CON too many hats for each member
4 members PRO works even if someone drops out CON ties when voting (ancient Greek prob)
![Page 13: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/13.jpg)
5 or 6 members is ideal PRO face to face meetings good PRO diverse perspectives for creative
thinking PRO specialisation of one role per
member 7 or 8 members
CON longer meetings CON coalitions and competition can arise
![Page 14: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/14.jpg)
Group Diversity
![Page 15: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/15.jpg)
Identifying Individuals’ Skills Application domain skills Communication skills
e.g. negotiation, communication with non-experts
Technical skills knowledge of specific technology and tools, programming
skills, design risk assessment skills, ability to find workarounds
Quality skills attention to detail, boundary case identification, follow
procedures
Management skills assess personal skills, motivate, feedback, assess project
risks
![Page 16: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/16.jpg)
Personality: Belbin Team Roles
action-oriented roles Shaper, Implementer, and Completer Finisher
people-oriented roles Co-ordinator, Teamworker and Resource
Investigator cerebral roles
Plant, Monitor Evaluator and Specialist
http://www.belbin.com/
![Page 17: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/17.jpg)
More personality tests: Jung – Briggs-Myers Typology Extraversion – Introversion (I/E)
how a person is energised (external or internal world) Sensing – Intuition (S/N)
how a person attends (perceives information) Thinking – Feeling (T/F)
how a person decides (information processing) Judging – Perceiving (J/P)
how a person lives (implementation of processed information)
http://www.humanmetrics.com/
![Page 18: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/18.jpg)
Group Stages
how to become an effective group
![Page 19: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/19.jpg)
Form-Storm-Norm-Perform Bruce Tuckman 1965, Developmental sequence in
small groups. Psychological Bulletin, 63, 384-399 http://en.wikipedia.org/wiki/
Forming learns about the opportunity, agrees on goals and
on the resources Task exploration, polite discussion, exploration of
each other Storming
different ideas compete for consideration Disagreement, criticism of people (vs ideas), push
for influence, posturing Goal/task orientation, mutual co-operation
![Page 20: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/20.jpg)
Group Stages (cont) Norming
adjust their behaviors to each other as they develop working habits
Definition of roles and behaviours, agreement on procedures, value recognition
Performing high-performing teams are able to function as a unit Team members are motivated and knowledgeable competent, autonomous and able to handle the
decision-making process without supervision dissent is expected and allowed
![Page 21: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/21.jpg)
Communication in Software Projects
![Page 22: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/22.jpg)
Communication is important
In large system development efforts, you will spend more time communicating than coding
A software engineer needs to learn the so-called soft skills: technical writing, reading documentation, communication, collaboration, management, presentations.
![Page 23: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/23.jpg)
Lack of Communication Leads to Accidents “In most of the major accidents of the past
25 years, technical information on how to prevent the accident was known and often even implemented. But in each case the technical information and solutions were negated by organisational or managerial flaws.” Leveson, Safeware, p48
![Page 24: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/24.jpg)
Lack of Communication Leads to Accidents “The Mars Climate Orbiter Project
exhibited inadequate communications between project elements during its development and operations phases. This was identified as a contributing cause to the mission failure.” p21, Report on Project Management in NASA
by the MCO Investigation Board March 2000
![Page 25: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/25.jpg)
Definition - Mode
Communication mode Type of information exchange that has
defined objectives and scope Scheduled: Planned Communication Event Driven:Unplanned Communication
![Page 26: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/26.jpg)
Definition - Mechanism
Communication mechanism Tool or procedure that can be used to
transmit information Synchronous: Sender and receiver are
available at the same time Asynchronous: Sender and Receiver are
not communicating at the same time.
![Page 27: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/27.jpg)
Classification of Communication
is supported by
* *
Synchronous
Mechanism
Asynchronous
Mechanism
Communication
Mechanism
Event-driven
Mode
Scheduled
Mode
Communication
Mode
![Page 28: Software Engineering Teams - Unit informationteaching.csse.uwa.edu.au/units/CITS3220/lectures/14teams.pdf · Some Anecdotal Observations about new SE Graduates Graduates have high](https://reader034.vdocument.in/reader034/viewer/2022042214/5eb967f0a36b8d04b84916ed/html5/thumbnails/28.jpg)
Communication Summary Modes
Scheduled communication Event-driven communication
Mechanisms Asynchronous communication mechanisms Synchronous communication mechanisms
Examples Weekly meeting Project reviews Online communication (discussion forum, email,
web) See Bruegge and Dutoit Chapter 3 for more
details