6
SENG 403 – Software Development in Teams & Organizations Working in Teams Software Development in Teams & Organizations 288 SENG 403 – Software Development in Teams & Organizations Working in Teams A team is a number of people working together to achieve a common goal. Teamwork contributes considerably to improved productivity and quality. BUT Only when done properly! 289 SENG 403 – Software Development in Teams & Organizations Effective Teams An effective team is a small number of people, with complementary skills, who are committed to a common purpose, performance goals, and approach for which they are mutually accountable. (Katzenbach and Smith, 1993) Successful software development is all about effective teams. 290 SENG 403 – Software Development in Teams & Organizations Team Size Not too small. Why? Not too large. Why? Scrum recommends 7 +/T 2 (between 5 and 9) 291 SENG 403 – Software Development in Teams & Organizations Team Skills Team should have diverse skills. Coding, design, testing, tools, databases, hardware, performance, GUI… Specialists vs. generalists? Generalist: knows something about everything. A team of generalists can easily flounder because none of them have the skills to get things done Specialist: knows everything about something. Specialists will often be blind to the issues which other specialists focus on. http://www.agilemodeling.com/essays/generalizingSpecialists.htm 292 SENG 403 – Software Development in Teams & Organizations Team Skills http://www.agilemodeling.com/essays/generalizingSpecialists.htm TraditionalTeam (Specialists) AgileTeam (Generalists) 293

SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

SENG%403%–%Software%Development%in%Teams%&%Organizations

Working(in(TeamsSoftware(Development(in(Teams(&(Organizations

288 SENG%403%–%Software%Development%in%Teams%&%Organizations

Working(in(Teams

A(team(is(a(number(of(people(working(

together(to(achieve(a(common(goal.

Teamwork(contributes(considerably(to(

improved(productivity(and(quality.

( ( ( ( ( BUT Only(when(done(properly!(

289

SENG%403%–%Software%Development%in%Teams%&%Organizations

Effective(Teams

An(effective(team(is(a(small(number(of(people,(

with(complementary(skills,(who(are(committed(to(a(common(purpose,(performance(goals,(and(approach(for(which(they(are(mutually(

accountable.((Katzenbach(and(Smith,(1993)(

Successful(software(development(is(all(about(

effective(teams.(

290 SENG%403%–%Software%Development%in%Teams%&%Organizations

Team(Size

Not(too(small.

Why?

Not(too(large.

Why?

Scrum(recommends(7(+/T(2((between(5(and(9)(

291

SENG%403%–%Software%Development%in%Teams%&%Organizations

Team(Skills

Team(should(have(diverse(skills. Coding,(design,(testing,(tools,(databases,(hardware,(performance,(GUI…(

Specialists(vs.(generalists?( Generalist:(knows(something(about(everything.

▪ A(team(of(generalists(can(easily(flounder(because(none(of(them(have(the(skills(to(get(things(done

Specialist:(knows(everything(about(something.

▪ Specialists(will(often(be(blind(to(the(issues(which(other(specialists(focus(on.

http://www.agilemodeling.com/essays/generalizingSpecialists.htm

292 SENG%403%–%Software%Development%in%Teams%&%Organizations

Team(Skills

http://www.agilemodeling.com/essays/generalizingSpecialists.htm

Traditional,Team,(Specialists) Agile,Team,(Generalists)

293

Page 2: SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

SENG%403%–%Software%Development%in%Teams%&%Organizations

"A(human(being(should(be(able(to(change(a(diaper,(plan(an(invasion,(butcher(a(hog,(con(a(ship,(design(a(building,(write(a(sonnet,(balance(accounts,(build(a(wall,(set(a(bone,(comfort(the(dying,(take(orders,(give(orders,(cooperate,(act(alone,(solve(equations,(analyze(a(new(problem,(pitch(manure,(program(a(computer,(cook(a(tasty(meal,(fight(efficiently,(die(gallantly.(Specialization(is(for(insects.“( Robert(A.(Heinlein(

http://www.agilemodeling.com/essays/generalizingSpecialists.htm

294 SENG%403%–%Software%Development%in%Teams%&%Organizations

Team(Skills

“A(generalizing(specialist”(is(someone(who: Has(at(least(a(general(knowledge(of(software(development.

Has(at(least(a(general(knowledge(of(the(business(domain(in(which(they(work.

Has(one(or(more(technical(specialties((e.g.(Java(programming,(testing(,(databases).

Actively(seeks(to(gain(new(skills(in(both(their(existing(specialties(as(well(as(in(other(areas,(including(both(technical(and(domain(areas.

http://www.agilemodeling.com/essays/generalizingSpecialists.htm

295

SENG%403%–%Software%Development%in%Teams%&%Organizations

Stages(of(Team(Formation

Tuckman’s(model:

Forming Storming Norming Performing

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

296 SENG%403%–%Software%Development%in%Teams%&%Organizations

Stage(1:(Forming

Lots(of(discussions(on(the(purpose(and(how(

the(team(will(work. Members(are(positive(and(polite. Some(members(get(anxious. Some(members(get(excited. Does(not(last(for(long((maybe(one(meeting) Can(be(frustrating(for(some(people((Why?)

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

297

SENG%403%–%Software%Development%in%Teams%&%Organizations

Stage(2:(Storming

More(clarity(on(the(purpose,(but(differences(

start(to(play(a(role. Decisions(don’t(come(easily(within(the(group. Competition(arises(when(some(team(

members(try(to(establish(themselves. Cliques(form(–(there(may(be(power(struggles.(

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

298 SENG%403%–%Software%Development%in%Teams%&%Organizations

Stage(2:(Storming

As(roles(are(clarified,(and(the(ways(of(working(are(defined:( authority(of(the(leader(may(be(challenged.

some(may(feel(overwhelmed(by(how(much(they(need(to(learn(and(achieve.(

some(may(oppose(the(approach(being(used.(

some(may(resist(taking(on(tasks.

some(may(even(question(the(purpose(of(the(team. Team(can(get(distracted(by(social(problems(

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

299

Page 3: SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

SENG%403%–%Software%Development%in%Teams%&%Organizations

Stage(3:(Norming

Good(leadership(and(commitment(will(move(the(team(on(to(this(stage.

Agreement(and(consensus(is(largely(formed(within(the(team.

Roles(and(responsibilities(are(clear(and(accepted.( Big(decisions(are(made(by(group(agreement. Smaller(decisions(may(be(delegated(to(individuals(or(

subTteams.( The(team(discusses(and(improves(its(processes(and(

working(style.( Leadership(is(shared(by(the(teams,(and(there(is(

general(respect(for(the(authority.( The(team(starts(to(engage(in(fun(and(social(activities.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

300 SENG%403%–%Software%Development%in%Teams%&%Organizations

Stage(4:(Performing(

The(team(is(more(strategically(aware(–(they(know(clearly(what(they(are(doing(and(why.

The(team(has(a(shared(vision. The(team(has(a(high(degree(of(autonomy.(

Disagreements(will(occur(but(they(are(resolved(positively(within(the(team.

The(team(becomes(independent(of(external(management.

Necessary(changes(to(processes(and(structure(are(regularly(made(by(the(team.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

301

SENG%403%–%Software%Development%in%Teams%&%Organizations

Stage(4:(Performing(

The(team(is(no(longer(distracted(by(social(and(

emotional(issues(–(they(deal(with(them(along(

the(way. The(team(is(focused(on(achieving(the(goal. Team(members(feel(comfortable(about(asking(

for(assistance.( Team(members(look(after(one(another.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4302 SENG%403%–%Software%Development%in%Teams%&%Organizations

Apollo(Syndrome

A(condition(where(teams(of(highly(capable(individuals(can,(collectively,(perform(badly.(

Individuals(were(hired(to(work(in(a(team(based(on(high(standards.( Ability(and(aptitude(tests(to(select(those(with(high(analytical(skills.(

The(initial(perception(of(Apollo(teams(was(that(they(were(bound(to(win(in(competitions.(

The(Apollo(teams(often(finished(near(the(bottom(of(eight(teams.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

303

SENG%403%–%Software%Development%in%Teams%&%Organizations

Reasons(for(Failure

Teams(spent(excessive(time(in(abortive(or(destructive(debate.

They(had(difficulties(in(their(decision(making,(with(little(coherence(in(the(decisions(reached.

Team(members(tended(to(act(along(their(own(favorite(lines

Teams(recognized(what(was(happening(but(overcompensated( they(avoided(confrontation,(which(equally(led(to(problems(in(decision(making.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

304 SENG%403%–%Software%Development%in%Teams%&%Organizations

Successful(Teams

The(successful(Apollo(teams(were(characterized(by:▪ The(absence(of(highly(dominant(individuals,(and

▪ A(particular(style(of(leadership.

Successful(leaders(were(skeptical(people(who(sought(to(impose(some(shape(or(pattern(on(group(discussion,(and(on(the(outcome(of(group(activities.

They(focused(attention(on(the(setting(of(objectives(and(priorities,(and(shaping(the(way(team(effort(was(applied.(

The(successful(leaders(were(tough,(discriminating(people(who(could(both(hold(their(ground(in(any(company,(yet(not(dominate(the(group.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

305

Page 4: SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

SENG%403%–%Software%Development%in%Teams%&%Organizations

Remarks(on(Effective(Teams

Have(trust(and(confidence(in(each(other. Maintain(open(and(honest(communication. Provide(and(accept(feedback(on(performance. Accept(responsibility(and(don’t(blame(one(another(for(mistakes.

(Look(upon(first(time(mistakes(as(opportunities(for(learning,(rather(than(criticism(and(punishment.(

Are(tough(on(repetitive(errors,(just(as(they(encourage(appropriate(risk(and(innovation.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

306 SENG%403%–%Software%Development%in%Teams%&%Organizations

Remarks(on(Effective(Teams

Have(prideful(humility:(pride(in(the(outcomes(of(the(team(and(a(humility(that(assumes(that(other(team(members(have(a(level(of(expertise(that(add(value(to(the(outcome.

Honor(the(contribution(that(each(member(makes(to(the(total(work(of(the(team.(

Recognize(that(each(member(is(as(important(as(the(other(in(the(application(of(their(expertise.

Celebrate(their(successes(together.http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

307

SENG%403%–%Software%Development%in%Teams%&%Organizations

How(To(Be(An(Effective(Member?

Communicate. Don’t(blame(others. Support(the(team. No(bragging. Listen(actively. Get(involved.

http://www.slideshare.net/ganis/creatingTeffectiveTteamsTfinalTv4

308 SENG%403%–%Software%Development%in%Teams%&%Organizations

Communication

http://www.agilemodeling.com/essays/communication.htm

309

SENG%403%–%Software%Development%in%Teams%&%Organizations

Exercise.

310 SENG%403%–%Software%Development%in%Teams%&%Organizations

Factors(Affecting(Communication

Physical,proximity:(The(closer(people(are(to(one(another,(the(greater(the(opportunities(to(

communicate.(

http://www.agilemodeling.com/essays/communication.htmhttp://www.informativeworkspace.org/desks.php

311

Page 5: SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

SENG%403%–%Software%Development%in%Teams%&%Organizations

Factors(Affecting(Communication

Temporal,proximity:((Whether(or(not(two(

people(are(working(at(the(same(time.((

http://www.agilemodeling.com/essays/communication.htm

http://en.ideas4all.com/ideas/0000/1164/Tricks_to_sleep_in_office3.jpghttp://images.businessweek.com/ss/08/12/1230_queens_school_tour/7.htm

312 SENG%403%–%Software%Development%in%Teams%&%Organizations

Factors(Affecting(Communication

Amicability:((The(willingness(of(someone(to(hear(the(

thoughts(of(another(person(with(good(will(and(to(

speak(without(malice.

http://www.agilemodeling.com/essays/communication.htm

http://www.cartoonstock.com/newscartoons/cartoonists/mfl/lowres/mfln11l.jpg

313

SENG%403%–%Software%Development%in%Teams%&%Organizations

Osmotic(Communication

Indirect(information(transfer(through(

overhearing(conversations(or(simply(noticing(

things(happening(around(you.

http://www.agilemodeling.com/essays/communication.htm

314 SENG%403%–%Software%Development%in%Teams%&%Organizations

Improving(Communication

Follow(the(most(effective(communication(

technique(possible. Be(prepared(to(change(your(approach(when(

needed. Always(ask(if(communication(is(effective.

http://www.agilemodeling.com/essays/communication.htm

315

SENG%403%–%Software%Development%in%Teams%&%Organizations

Improving(Communication

Stand(up(meetings:(Short(meetings(held(at(

the(beginning((or(end)(of(every(day. They(are(meant(to(be(short((~15(minutes) Go(around(the(“table”

What(did(you(do(yesterday?

What(do(you(plan(to(accomplish(today?

Is(there(something(preventing(you(from(getting(

your(task(done(?

316 SENG%403%–%Software%Development%in%Teams%&%Organizations

Symptoms(of(Poor(Communication

Not(knowing(the(current(status(of(the(project. Schedule:(E.g.(Are(we(done(with(this(iteration?

Progress:(E.g.(What(is(our(current(test(coverage? Not(knowing(critical(information(about(other(members. E.g.(Why(hasn’t(Tom(been(coming(to(work?

Not(knowing(what(tools(the(team(is(using. E.g.(What(are(we(using(for(source(code(control?

E.g.(I(thought(we(were(supposed(to(use(version(3(not(2.

317

Page 6: SENG403 Full set - University of Calgarykremer.cpsc.ucalgary.ca/courses/seng403/lectureNotes/13teams.pdfSENG%403%–%Software%Development%in%Teams%&%Organizations "A(human(being(should(be(able(to(change(a(

SENG%403%–%Software%Development%in%Teams%&%Organizations

Symptoms(of(Poor(Communication

Not(knowing(where(to(find(things. E.g.(Where(is(the(code(for(feature(Y?

Not(knowing(how(to(run(the(software. E.g.(I(don’t(know(how(to(make(it(work.(Let(me(get(Sarah.

E.g.(Honestly,(I(can’t(run(the(tests,(but(I(know(someone(who(can.

Too(many(conflicts/build(failures. E.g.(I(didn’t(know(this(class(was(gone.

E.g.(I(thought(the(order(was(B(then(A(not(A(then(B.( Duplication(of(work.

E.g.(Come(on..(I(thought(I(was(supposed(to(work(on(this(task.

318 SENG%403%–%Software%Development%in%Teams%&%Organizations

Symptoms(of(Poor(Communication

If(anyone(of(the(team(cannot(answer(such(

questions,(then(raise(the(flag!

What(are(we(using(for(CI?

Who(is(supposed(to(be(working(on(task(X?

When(is(this(iteration(over?

Where(is(the(code(for(feature(Y?

What(is(our(current(test(coverage?

319

SENG%403%–%Software%Development%in%Teams%&%Organizations

Quick(Review

Symptoms(of(bad(communication?( Which(of(the(following(statements(is(incorrect:

A. Communicating(through(videoTconferencing(is(valuable(because(it(helps(distributed(teams(to(have(faceTtoTface(conversations.

B. Whenever(videoTconferencing(is(possible,(there(is(no(justification(for(not(using(it.(

C. Using(videoTconferencing(can(sometimes(be(disruptive.

D. VideoTconferencing(is(effective,(but(does(not(solve(the(issue(of(temporal(proximity.(

320