• No results found

3C05: Software Development Team Structures

N/A
N/A
Protected

Academic year: 2021

Share "3C05: Software Development Team Structures"

Copied!
13
0
0

Loading.... (view fulltext now)

Full text

(1)

1 © 2001, Zuhlke Engineering

3C05: Software Development Team

Structures

Unit 6: SW Development Team Structures

Objective:

– To discuss the different roles involved in large-scale software engineering projects

– To show the qualifications and capabilities for team members adopting these roles

– To review how teams are composed and projects are staffed.

(2)

3 © 2001, Zuhlke Engineering

Creating an OO Team

• OO Learning Curve

– 1 month to learn language syntax

– 6 to 9 months to become proficient in OO

– 12 to 18 months to become moderately proficient in modelling and methodology

0 5 10 15 20 Langua ge OO Modelli ng months

How to Kick-Start an OO Project

• Mentoring!

• Seed project with experienced people • External/internal consultants at key stages

– Planning

– Project start up – Regular design and

code reviews – Post-project review

(3)

5 © 2001, Zuhlke Engineering

Case Study

• A company took a group of non OO programmers and over a period of one month trained them in C++ and an OO methodology. They then launched them straight into a full-blown OO Project. Naturally the Project failed badly. How did this happen?

Management did not understand that OT is different to conventional software development.

The OO Project Team

Core Supplemental

Peripheral Core - Software productionSupplemental - Supports core Peripheral - at project edges

But where does Booch put Project Managers?

According to Booch!

(4)

7 © 2001, Zuhlke Engineering

Sub-teams

Architecture Team Analysis Team Design Team Implementation Team Deployment Team

Aim for fluid sub-teams:

Roles blur in an OO project

Task Force (Tiger Team)

Abstractionists

• To simplify our discussion, we introduce the role of Abstractionist

• Abstractionists embrace the following USDP roles: – Use-Case Specifier

– Use-Case Engineer – System Analyst – System Integrator

• These USDP roles are often done by the same person anyway!

(5)

9 © 2001, Zuhlke Engineering

Core Team: Structure

Architect

Abstractionist Abstractionist

Component Engineers

What about testing?

• Testers can be a member of an Abstractionists team (just like a Component Engineer)

• Testers may belong to a separate Test Team

(6)

11 © 2001, Zuhlke Engineering

Staffing

Architects 10% Abstractionists 30% Component Engineers 50% Supplemental 10% These are just average figures!

Staffing Profiles

Architect Abstractionists Component Engineers Numbers Time

(7)

13 © 2001, Zuhlke Engineering

Core Team: Roles

• Architect

– System architecture and vision • Abstractionist

– Micro-architectures

– One Abstractionist per class package • Component Engineer ( programmer )

– Implementing abstractions

Architect: Responsibilities

• System Architecture • Assess technical risks

• Define content of successive iterations – Help in planning

• Consultancy • Marketing

(8)

15 © 2001, Zuhlke Engineering

Architect: Skills

• Experience – Problem domain – Software engineering • Vision • Leadership • Communication

• Proactive and goal-oriented • Risk taker

Abstractionist: Responsibilities

• Identify classes, packages, subsystems, mechanisms, frameworks

• Define interfaces

• Direct implementation and (possibly) testing • Advise and support the Architect

(9)

17 © 2001, Zuhlke Engineering

Abstractionist: Skills

• Experience

– Must know how to find abstractions – Strong programming skills

• Leadership

– Ability to manage a small team of developers • Communication

– Able to express complex ideas simply • Proactive and goal-oriented

Component Engineer: Responsibilities

• Implement scenarios, mechanisms and classes • Tactical class design

• Class-level testing

• Advise abstractionist about tactical risk

(10)

19 © 2001, Zuhlke Engineering

Component Engineer: Skills

• Good coding skills and likes to code! • Perhaps has specialisations e.g. GUI • Familiar with OOA/OOD principles

Myth of the replaceable programmer

• Some Project Managers view programmers as the “lowest form of life”. They are just replaceable parts • This ignores the fact that a good programmer may be

up to 10 times more productive than a bad programmer

• Good programmers are very valuable and need to be encouraged and rewarded

(11)

21 © 2001, Zuhlke Engineering

OO as an Amplifier

• Object orientation acts like an amplifier - it makes the best programmers much better, and the worse

programmers much worse!

• The same is true for Abstractionists !

The Supplemental Team

•Project Manager •Integration •Quality Assurance •Documentor •Toolsmith •System Administrator •Librarian

(12)

23 © 2001, Zuhlke Engineering

Project Manager: Responsibilities

• Oversee the Project’s deliverables • Establish and drive schedules • Staffing

• Work break down • Budgeting

• Co-ordinate with patrons and user community

Project Manager: Skills

• Experience – Leadership Proactive Goal oriented – Communication • Pragmatic • Risk-aversive • Politically aware

(13)

25 © 2001, Zuhlke Engineering

The Peripheral Team

• Patron

– Champions the Project • Product Manager

– Manages a product line

– Manages marketing, training, support • End user

– Client of the Project • Technical support

Key Points

• The key to successful operation of the USDP or any other OO lifecycle is to organise into small flexible teams

• There should be a “chain of responsibility” and continuity of ownership for artefacts from requirements down to code

• A good policy is to give responsibility for whole chains to individual teams

References

Related documents

The Vendor shall make every reasonable effort to secure the Confidential Information and the Vendor shall return all Confidential Information provided to the Vendor and

For single-image super-resolution, the input image x is a low-resolution input, the content target y c is the ground-truth high- resolution image, and the style reconstruction loss

Þase, Aks, Makas ve Taþýyýcý Gruplarý / Chassis, Axle, Spring and Steering

Growing at an annual average rate of 50%, the demand in Japan’s for knowledge management solutions in fiscal 2006 is expected to reach ¥63,500 million, up from an estimated

Human beings gain knowledge of the objective world through the five sensory organs. While the objects of perception are insentient, the mind is sentient and

Wisztorski, and the Canadian Institutes of Health Research (CIHR to RD). Also supported by a collaboration agreement between Bruker Daltonics GmbH and the Laboratoire de

The USFT method introduced, based on reflectance geometry measurements, incor- porates fluorescence spectral fitting to isolate the signal of inter- est from other fluorescent