ca625 msc software engineering software …gjones/teaching/ca625/mscse prof...guide only, not full...

74
CA625 MSc Software Engineering Software Professional Skills 1. Introduction Michael O’Duffy Centre for Software Engineering

Upload: others

Post on 23-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

CA625 MSc Software EngineeringSoftware Professional Skills

1. Introduction

Michael O’DuffyCentre for Software Engineering

Page 2: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 2

Software engineering as a profession

Technical Skills – core competence

Professional Practice & Code of Ethics- way core competence is employed

Page 3: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 3

Software engineering skill set

Technical set

Business or application domain set

Management set

Personal set

Page 4: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 4

Skill acquisitionFounding principles

Specialties

Experiences

CPD – skills extension & upgrade

Special challenges

Page 5: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 5

Skill recognitionQualification certificates

Skills framework – reference SFIA

Matching skills to projects

Page 6: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?

Page 7: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

CA625 MSc Software EngineeringSoftware Professional Skills

2. Types of Skills

Michael O’DuffyCentre for Software Engineering

Page 8: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 8

Views of Software Development• Strategic - business, innovation, partnerships• Product/Portfolio - product versus service, scope, standards,

product release, support, implementation, maintenance, retirement• Process - life cycle, methods/techniques, formalisation, automation,

development environment, research environment• Architectural - technical structure, technical standards, layers,

components, technologies employed• People/Organisation - sponsor/steering, user representatives,

project management, types of project, single/multiple projects, team, skills, roles, physical environment, forms of communications

• Control – project plan, architectural plan, configuration plan, quality plan, risks

• Market - domain, user profile, channel, territories, price, promotion, packaging, distribution

Page 9: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 9

Friction in projects

THEORY:

Concepts and Principles; Methods and Techniques; Structures and Architectures

PRACTICE:

Company interpretation; Personal preferences; Short circuiting

Page 10: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 10

People/Organisation: NeedsSTRUCTURE: organisation, roles & responsibilities

FRAMEWORK: process, architecture, plans

SKILLS: technical, business, personal

COMMUNICATION: planning, tracking, co-ordination, motivation, agreement, prioritisation, conceptualising, elaborating, problem solving,

TEAMWORK: collaboration, consensus, specialisation, parallel working, common direction

Page 11: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 11

Technical Skills• All phases of project life cycle

• Specialise by technical feature

• Technology specialist

cumulative cost

risk resolutione.g. by prototyping

various types of development

Progress

Evaluate alternatives -identify and resolve risks

e.g. feasibility study, scope of project

Determine objectives, alternatives, constraints

(including 1st plan)

Plan next phase Develop, verifynext product level

(Life Cycle - coding, test etc)

1

43

2

Page 12: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 12

Core Technical KnowledgeCore technical skills

– Abstraction– Information Hiding– Distinguishing Specification from Implementation– Recursion– Reuse– Classification & Typing– Constraints & Exceptions– Designing for change

Page 13: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 13

Technical Skills• Secondary skills for supporting activities

– modelling– prototyping– testing and inspection– architecture definition– documenting– establishing technical standards– integration– release build– SDE build, tool evaluation

Page 14: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 14

Business Skills• Role of IT in user organisation

• Knowledge of application domain

• Business models and implications for IT

• Business paradigms (SCM, ERP, WCM, BPE, etc.)

• Change management

• Project organisation and interactions

• Implementation planning (logistics, resources,sequences)

Page 15: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 15

Personal Skills• Self-discipline

• Planning

• Written communication

• Interactive communication

• Team-working

• Situation analysis

• Problem-solving

• Decision-making

Deadlines, priorities, recording, controlling

Estimation, staging, milestones, dependencies

Messages, guidelines, manuscripts, pen pictures, specifications, agendas, comments, notations

Separating people from issues, emotive issues, cultural issues,change management issues

Presentation, role playing, chairing meetings, patterning, listening, negotiating

Team building, relating/empathising, supporting, co-ordination

Understanding, analysing, applying solution

Assessing risk, interpreting plans, considering options, defining decision, deployment

Page 16: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?

Page 17: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Professional Ethics

Michael O’DuffyCentre for Software Engineering

Page 18: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 18

Why Professional Ethics?• Perhaps?

– Doing good– Being honest and trustworthy– Doing the right thing– Doing things right– Not screwing our customers/ the competition

…• What is your view of Ethics?

Page 19: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 19

Ethical Focus• Ethics of Duty

– Duty owed to who?• Company• Customer/User• Society

• Ethics of Consequence– Who could be affected?

(Note these may be in conflict with each other)

Page 20: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 20

IEEE / ACM Code• “Software Engineering Code of Ethics

and Professional Practice”• Software Engineers shall

– Act in the Public Good– In the best interests of clients and employer– Ensure products meet highest standards– Maintain integrity and professional

independence– Be fair and supportive of colleagues– ….

Page 21: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 21

Examples for Discussion• Accept full responsibility for your own work• Not knowingly use software obtained illegally• Be honest about the limits of your experience and

competence• Ensure achievable goals for any project• Ensure adequate specification, realistic estimates,

adequate testing …….

Page 22: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 22

IEI Code• Behave at all times with integrity• Maintain highest standards of

competence and conduct• Responsibility to yourself, society,

clients, employer, colleagues• Take account of social and societal

impacts

Page 23: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

And Finally…….

Page 24: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 24

Product v. Process

Process Axis (doing things the the right way - i.e. complying with best practice)

YES NO

The right thing done the right way

The right thing done the wrong way -

good product from poor process

The wrong thing done the right way -

useless product from good process

Disaster !!

ProductAxis

(doing the right thing - i.e.

producing product

fit for intended purpose)

YES

NO

Page 25: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?

Page 26: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

CPD Continuing Professional Development

Michael O’DuffyFICS, MIEI, CEngChartered EngineerChair, Professional Development Committee, ICS

Page 27: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 27

Irish Computer Society• Professional body for ICT• Has close links with IEI:

– This includes a route to Chartered Engineer• ICS also developing a CPD scheme

– SFIA framework for recognising skill levels– New certification scheme Certified Informatics

Professional

Page 28: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 28

ICT ProfessionalDomain - title

DP to IP/IS to IT to ICTDomain - scope

• Software, Information Systems, Telecoms, Multimedia• Development, Operation, Implementation, Deployment

Page 29: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 29

SWEBOK definitionGuide only, not full BOK, a characterisation

Software engineering is “the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, that is the application of engineering to software”

Page 30: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 30

Why Body of KnowledgeMove software engineering to a professional status.

Texas – licenseCalifornia - licenseBritish Columbia – licenseOntario – licenseACM & IEEE – code of ethics & professional practiceIEEE & ICCP – certification schemesEngineers Ireland & BCS – chartered engineer

Page 31: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 31

SWEBOKTARGET AUDIENCE

• Training and education – curriculum, accreditation• Jobs definition, classification• Job performance evaluation• Specifying tasks in software development• Managing software engineers• Guidelines for software engineering practice• Certification of software engineering

Page 32: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 32

SE Professional

SWEBOKDeveloped by UQAM (University of Quebec in Montreal) on behalf of the

Software Engineering Coordinating Committee (Joint committee of IEEE Computer Society and ACM) and submitted to ISO/IEC/JTC1/SC7 the standards sub-committee for information systems engineering, part of a joint technical committee of ISO and IEC

Characterisation of the bounds of the software engineering discipline:- Software requirements - Software configuration management- Software design - Software engineering management- Software construction - Software engineering process- Software testing - Software engineering tools & methods- Software maintenance - Software quality

see www.swebok.org

Page 33: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 33

CPD definition

‘The systematic maintenance, improvement and broadening of knowledge and skill and

the development of personal qualities necessary for the execution of professional

and technical duties throughout the individuals working life’

The aim is to promote skill development and life-time learning

Page 34: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 34

ICS approach to CPD• Under ongoing evolution

• Compatibility with IEI

• Compatibility with European initiatives, through CEPIS the European umbrella for computer societies– commencing with EUCIP

• Built on a skills framework

Page 35: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 35

SFIA Skills Framework for the Information Age

• Developed in conjunction with 30 companies in the UK

• Employers: measure skills - available vs needed

• Individual: benchmark skills needed for particular job or career path

• Market: labour market intelligence;– skills requirements– skills in short supply– education and training targets

Page 36: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 36

SFIA the model

Range of skills

L7 set strategy, inspire, mobilise

L6 initiate, influence

L5 ensure, advise

L4 enable

L3 apply

L2 assist

L1 follow

Aut

horit

y an

d re

spon

sibi

lity

Page 37: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 37

SFIA services• Career entry, career progression• Skills gap, skills development planning

• Education & training available - skills & skill levels addressed

• Accreditation of training• Certification of course participants

• Possible skills shortages• Profiling existing skills available

Page 38: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 38

CPD operation• Individual plan for training & other development• maintenance of CPD log book • registration of CPD with ICS

• CPD plan and achievement used for career progression, for qualification recognition, and for ICS membership progression

• accreditation of CPD schemes• accreditation of training courses

Page 39: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 39

CPD operation• Employer scheme: promote, support, accredit

– gives substance to the training commitment– fill skill gaps, improve competence– help achieve qualifications– support career development paths

• Individual scheme: promote, support, register– gives (more) control to the individual– provides logging of CPD achieved– can link to ICS membership progression

Page 40: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?

Page 41: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Team work

Michael O’DuffyCentre for Software Engineering

Page 42: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 42

Personal Skills• Self-discipline

• Planning

• Written communication

• Interactive communication

• Team-working

• Situation analysis

• Problem-solving

• Decision-making

Deadlines, priorities, recording, controlling

Estimation, staging, milestones, dependencies

Messages, guidelines, manuscripts, pen pictures, specifications, agendas, comments, notations

Separating people from issues, emotive issues, cultural issues,change management issues

Presentation, role playing, chairing meetings, patterning, listening, negotiating

Team building, relating/empathising, supporting, co-ordination

Understanding, analysing, applying solution

Assessing risk, interpreting plans, considering options, defining decision, deployment

Page 43: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 43

Communications• Importance• Forms and roles• Need for formalisation

Purpose - Mechanism - Outcome

Page 44: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 44

Teamwork• Working effectively & efficiently together

• Team dynamics & team-building

• Everyone is different - personal and relationship traits• Role playing - multiple roles per person

• Person is a specialist - the specialist contribution• Need for - self discipline - communication

- progress tracking - decision making

Page 45: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 45

Why Important

• One person can not do everything– do not have the time– do not have the skills

• Each has specialised contribution– skills– experience– ideas

We

all

need

each

other

Page 46: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 46

Obstacles to working well together

• Poor forward planning

• Aims not clear

• Ideas not well developed

• Poor organisation

• Poor team work

Page 47: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 47

What is Team

collection of persons

crowd

group

teamrewards commitment

Page 48: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 48

Types of Groups: BehaviourGROUP STRUCTURE TASK ACTIVITY

PERFORMING StructureRolesFlexibility

ProgressEnergyCommon task

NORMING HarmoniseUnityNormsSupport

Co-operationPlansStandardsCommunication

STORMING ConflictChallenge leaderVary opinions

Value?Emotions!

FORMING AnxietyTesting situationChecking leaderChecking behaviour

Task?Questions?Rules?Methods?

Page 49: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 49

Stages of Team DevelopmentStage 1: undeveloped- feelings not addressed- workplace is for work- no changes- poor listening

Stage 2: experimenting- experimentation- discuss risky issues- consider wider options- discuss feelings- more listening- more concern for others

Stage 3: consolidating- methodical working- agreed procedures- agreed ground rules

Stage 4: mature- high flexibility- appropriate leadership- energy and ability- principles- social- individual needs- improvement

Page 50: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 50

Team Characteristics - using DSDMWATERFALL

manage by taskdevelop from spec

do not need to know businessisolated from users

make no compromisescompete with other membersreact to surprisesare judged technically

DSDM

manage by objectivedo what business needs

get to know the businesswork with users

make necessary compromisesco-operate with other memberspro-active to prevent surprisesjudged by the end result

Page 51: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 51

Teamwork requires Team Building• Roles - define primary, secondary - skillset for each -

team allocates - ensures “skill recognition and application” - recognises “relationships between roles”

• Empowerment - team to decide aspects of process, techniques and tools, project stages and number of iterations - ensures “use of discretion” by team members, raises their self-esteem

• Communication - decide forms of communication for most critical aspects of project, for planning, assessment, review, action - in line with key features of project, special skills of team, culture of project

Page 52: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?

Page 53: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Team Roles

Michael O’DuffyCentre for Software Engineering

Page 54: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 54

Belbin Test• Selects Roles on Teams• Used in DSDM (RAD) Method• Seven Questions• Allocate Ten Points between Questions• No Time Limit• Go on Instinct !!

Page 55: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 55

Team roles• Every team needs different types of people

– leader, follower– thinker, idea generator– technical person, business person, people person

• Think of the best team that you were part of– it probably had many types of people– many types of skills– many types of synergies and conflicts and they worked well

together

Page 56: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 56

Belbin Test• Psychometric Test• Used to Create Small Teams• Aimed at Determining Suitable Role in Team• Used Successfully in Large Organisations

Page 57: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 57

Factors Identified by Belbin• Abstract/Analytical Thinking Ability• Dominance• Extroversion/Introversion• Stability/Anxiety

Page 58: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 58

Belbin Roles - Chairman or Co-ordinator

• Stable, Dominant, Extrovert• Co-ordinates Effort of Team• Good Instinct for People’s Strengths• Clarifies Objectives• Achieves Consensus

Page 59: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 59

Belbin Roles - Shaper• Anxious, Dominant, Extrovert• Task Leader• Results Driven• Competitive

Page 60: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 60

Belbin Roles - Plant• Dominant, High IQ, Introvert• Source of Ideas• Concerned with Major Issues• Doesn’t Accept Criticism Well

Page 61: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 61

Belbin Roles - Monitor/Evaluator• Stable, High IQ, Introvert• Analytical, Abstract Thinker• Sees Flaws in Arguments• Assimilates Large Quantities of Data• Good Judgement

Page 62: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 62

Belbin Roles - Implementer• Stable, Controlled• Organiser• Good at Producing Schedules• Can be Over-competitive

Page 63: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 63

Belbin Roles - Resource Investigator• Stable, Dominant, Extrovert• Brings Information and Ideas from

Outside• Not Original Thinker Like Plant• Good Improviser• Can Spend too much Time on the

Irrelevant

Page 64: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 64

Belbin Roles - Team Worker• Stable, Extrovert, Low Dominance• Sensitive to Needs of Team• Promoter of Unity in team• Good Support Under Pressure

Page 65: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 65

Belbin Roles - Completer/Finisher• Anxious, Introvert• Checks Detail• Has Permanent Sense of Urgency• Meets Deadlines and Schedules

Page 66: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?

Page 67: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Team Working

Michael O’DuffyCentre for Software Engineering

Page 68: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 68

Different teams

• clearly defined role for everyone in the team

• concrete, measurable goal

• visible competition for the team to unite against

• has a coach

• many people not sure where they or others fit

• goal(s) never been spelt out - different people have different ideas of what they are

• competition inside the team as well as outside

• left to its own devices

Football team: Work team:

Page 69: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 69

Does your team PERFORM?• P• E

• R

• F

• O• R

• M

roductivity Is the team getting enough done?mpathy Do the team members feel

comfortable with one another?oles & goals Do they know what they are

supposed to do?lexibility Are they open to outside influences

and contribution?penness Do they say what they think?ecognition Do they praise one another and

publicise achievement?orale Do people want to be in this team?

Page 70: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 70

Team Ground Rules• Team problems are everyone’s responsibility• Team time belongs to the team• Respect one another

– no put downs – support the other members of your team

• Don’t get side tracked• Reach a consensus• Keep an open mind

– Put personal priorities to one side

Page 71: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 71

Effective Teamworking• Communicate and express opinions

– Share information• Value the different qualities and skills in others

– value each individuals contribution• Solve problems in a structured way

– Participate together to resolve problems– Consider all the options (brainstorming)

• Understand your role– Check what is expected of you– Take the initiative

Page 72: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 72

Summary (1)• Successful teamwork requires team building• Team selection techniques can provide a useful

indicator of possible team roles• Effective communication is the greatest personal skill

employed in projects

Page 73: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

© Centre For Software Engineering Slide 73

Summary (2)• Effective teams

– Establish ground rules – Communicate and express opinions– Value the different qualities and skills in others– Solve problems in a structured way – Understand roles

Page 74: CA625 MSc Software Engineering Software …gjones/Teaching/CA625/MScSE Prof...Guide only, not full BOK, a characterisation Software engineering is “the application of a systematic,

Any Questions?