Organizing a software project
This presentation is the property of its rightful owner.
Sponsored Links
1 / 46

Organizing a Software Project PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on
  • Presentation posted in: General

Organizing a Software Project. José Onofre Montesa Andrés Universidad Politécnica de Valencia Escuela Superior de Informática Aplicada 2003-2004. Table of contents. Introduction Team Structures Communication in the software project. Introduction.

Download Presentation

Organizing a Software Project

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Organizing a software project

Organizing a Software Project

José Onofre Montesa Andrés

Universidad Politécnica de Valencia

Escuela Superior de Informática Aplicada

2003-2004


Table of contents

Table of contents

  • Introduction

  • Team Structures

  • Communication in the software project

GpiI-3A Organizing a Software Project


Introduction

Introduction

  • Ones the project is approves, the management of it concentrate on two themes:

    • Creating a working team.

    • Tracking what was planed.

  • In this chapter we’ll focus on: How to organize a working team?”

GpiI-3A Organizing a Software Project


A global vision of the development

Clients and

Users

Developers

software

People, teams, Organizations

Ideas …specification… Design… Code

A global vision of the development.

GpiI-3A Organizing a Software Project


Context of the enterprise structure and the project team

Context of the enterprise structure and the project team

  • There are two kinds or people in the team:

    • The ones coming from the client enterprise.

    • The technicians whose job is building the software.

GpiI-3A Organizing a Software Project


Context of the enterprise structure and the project team1

Context of the enterprise structure and the project team

  • The team can use an organization structure different from the user’s enterprise one.

  • Both organizations have to be connected in order to avoid conflicts between them.

GpiI-3A Organizing a Software Project


Why do we need to create a project organization

Why do we need to create a project organization?

  • The activities have been split up when planning so that the achievement and control of each task would be easer.

  • Now we have to create de conditions for:

    • coordinating easily: starting of tasks; taking decisions; tracking; and ending of tasks.

    • Providing communications between people in charge of each task and people in the same or other tasks.

GpiI-3A Organizing a Software Project


Different situations about the project team and client

Different situations about the project team and client

  • The project team belong to the user’s enterprise division.

  • The project team belong to the user’s enterprise, but to other division (big organizations).

  • The project team is extern to the user’s enterprise.

GpiI-3A Organizing a Software Project


Different situations

Different situations

  • The project team belong to the user’s enterprise division.

  • The project team belong to the user’s enterprise, but to other division

  • The project team is extern to the user’s enterprise

GpiI-3A Organizing a Software Project


The project team belong to the user s enterprise division

The project team belong to the user’s enterprise division.

  • We’ll have few liberty in order to set the team (The available people).

  • If the division’s management support the project:

    • All the concerned people about the project arrive easily to commitments.

    • The team goal and the client enterprise is exactly the same.

GpiI-3A Organizing a Software Project


The project team belong to the user s enterprise but to other division

The project team belong to the user’s enterprise, but to other division.

  • As the project team is a part of the DPC it can include specialist, due to the size of the DPC and it’s specialization.

  • It’s possible that the goals don’t be the same.

GpiI-3A Organizing a Software Project


The project team is extern to the user s enterprise

The project team is extern to the user’s enterprise.

  • The project team is build with external people.

    • There is freedom to select the people in the team.

    • It depends on the supplier enterprise size.

  • Goals are shared in a Client-Supplier fashion.

GpiI-3A Organizing a Software Project


Organization structure

Organization structure

  • Client and future user, as enterprises have their own organization. And we will have problems with them. It's interesting for us identify the organization structure and understand their authority and knowledge distribution.

  • Typical structures are:

    • Functional organization

    • Project organization

    • Matrix organization

GpiI-3A Organizing a Software Project


Organization assigns

Organization assigns:

  • Tasks and activities to people groups.

  • Objectives to each group.

  • Responsibilities to groups and coordinators

  • Authorities between groups and their member's.

  • Formal communication channels.

GpiI-3A Organizing a Software Project


Functional organization i

Functional organization (I)

  • Is the more known structure (military, church,...)

  • Is the typical pyramidal structure. Each new level introduces a type of specialization. It can be:

    • type of work (functional),

    • geographic localization (Territorial),

    • Size of clients (Clients oriented),

    • product (Product oriented).

GpiI-3A Organizing a Software Project


Functional organization ii

Functional organization (II)

  • Communication is allowed between:

    • People at under the same boss (same level).

    • Boss and subordinate.

  • Formal communication between two people in different areas must follow a long trip.

    • Worker to boss,… boss to boss until a pint in the pyramid were starts to down until boss to worker.

GpiI-3A Organizing a Software Project


Functional organization iii example

Functional organization (III) Example:

GpiI-3A Organizing a Software Project


Advantages of functional organization

Advantages of functional organization

  • Centralización de recursos similares.

    • Specialists in the same area close.

      • Better professional carriers

      • Cooperation between specialists in the same area

    • Less need of technical experts.

    • Maximum flexibility in the use of staff.

  • Higher standardization level.

GpiI-3A Organizing a Software Project


Disadvantages of functional organization

Disadvantages of Functional Organization

  • Cracks in the inter-functional areas, generating conflicts as:

    • Responsibility: “this isn't of my incumbency”

    • Power: several boss want to take decisions, in the same subject.

    • Communication, “I finish mi task”, “Nobody tell me about …”, ...

  • Deferent functions can have opposite objectives.

GpiI-3A Organizing a Software Project


Project organization i

Project organization (I)

  • Objectives attainment in a quick manner.

  • Enterprise organization depends on the actual projects

  • Each project has their own team and all the necessary resources.

  • The project manager has decision capacity.

  • Team duration depends on the project duration.

GpiI-3A Organizing a Software Project


Project organization ii example

Project organization (II), Example:

GpiI-3A Organizing a Software Project


Advantages of project organization

Advantages of Project Organization.

  • objectives unity (clear objective)

  • Control unity. Every body depends on the same boss.

  • Easy communication.

  • Clear responsibilities.

GpiI-3A Organizing a Software Project


Disadvantages of project organization

Disadvantages of Project Organization

  • Changing enterprise organization.

  • Duplication of resources and inefficiency.

  • Difficult to share individuals/expertise across projects

  • Complex staff management

    • What's the mater when de project is finished?

    • What about staff curricula?

    • Dead time…

GpiI-3A Organizing a Software Project


Matrix organization i

Matrix organization (I)

  • It's a multidimensional structure.

  • Try to take the best of both.

  • First we create functional structure and over this we put a project structure.

GpiI-3A Organizing a Software Project


Matrix organization ii

Matrix organization (II)

GpiI-3A Organizing a Software Project


Matrix organization advantages

Matrix organization: Advantages

  • Equilibrate project objectives and departments.

  • Staff has better professional stability

  • Specialists belong to the same department and consults are easy.

  • Easy professional carriers.

GpiI-3A Organizing a Software Project


Matrix organization disadvantages

Matrix organization :disadvantages

  • Staff has two or more managers when they are in different projects.

  • Project managers fell few authority.

GpiI-3A Organizing a Software Project


Teams structure

Teams Structure

  • The development of software projects usually requires:

    • Small teams.

      • Classical structures aren’t an appropriate reference

    • Specialists in different areas:

      • Software technical knowledge

      • Knowledge about the implied area.

        • (Multifunctional teams).

GpiI-3A Organizing a Software Project


Team structure in software projects

Team Structure in software projects

  • Three team structures are popular in this field:

    • Egoless programming team (Weinberg)

    • Chief programming team.

    • Controlled decentralized team structure.

      • Marilyn Mantei (1981)

GpiI-3A Organizing a Software Project


Egoless programming team weinberg

Egoless programming team (Weinberg)

  • Ten or fewer programmers

  • Exchange their code with other team members for error examination.

  • Goals are set by group consensus.

  • Group leadership is a rotating function, becoming the responsibility of the individual with the abilities that are currently needed.

GpiI-3A Organizing a Software Project


Egoless team management structure

Egoless team: Management Structure.

  • People are in different knowledge areas and experience levels.

GpiI-3A Organizing a Software Project


Egoless team communication exchanges that occur

Egoless team: Communication exchanges that occur.

  • Everybody can communicate with everybody.

GpiI-3A Organizing a Software Project


Chief programming team

Chief programming team.

  • Use to be little teams.

  • It have a chief programmer who:

    • manages all technical aspects.

    • Takes problem solutions and and goal decisions.

    • Assign well defined (but large and complex) to the team members.

GpiI-3A Organizing a Software Project


Chief programming team management structure

Chief programming team. Management Structure.

  • Is a centralized autocratic structure.

Chief programmer

Programmer

Data Bases Specialist

GpiI-3A Organizing a Software Project


Chief programming team communication exchanges that occur

Chief programming team: Communication exchanges that occur.

  • All the communications past throw the chief.

GpiI-3A Organizing a Software Project


Controlled decentralized team

Controlled Decentralized Team.

  • Teams can be large teams.

  • Has a project leader who governs a group of senior programmers.

  • Each senior programmer in turn, manages a group of junior programmers.

  • The objective is to maintain other teams the best characteristics.

GpiI-3A Organizing a Software Project


Controlled decentralized team management structure

Controlled Decentralized Team: Management Structure.

  • Responsibility is shared by the project leader and the seniors programmers.

Project Leader

Senior Programmer

Junior Programmers

GpiI-3A Organizing a Software Project


Controlled decentralized team communication exchanges

People at he same level and their boss is decentralized.

Controlled Decentralized Team: Communication exchanges.

GpiI-3A Organizing a Software Project


Relations between team structures

Relations between team structures:

GpiI-3A Organizing a Software Project


Communication in the software project

Communication in the software project.

  • Communicating in harmony

  • In software development projects, the inability of people to communicate effectively with one another represents one of the more common obstacles to the achievement of:

    • High product quality, and

    • High productivity.

GpiI-3A Organizing a Software Project


Organizing a software project

Improving communications among project players offers substantial morale, productivity,quality, and, cost benefits to a project.

GpiI-3A Organizing a Software Project


Ones communications problems surfaces the process to follow

Ones communications problems surfaces, the process to follow...:

  • Understand the cause of the problems.

  • Put corrective action into place.

  • Enforce an ongoing communicative work environment.

GpiI-3A Organizing a Software Project


Actions to improve communication

Actions to improve communication.

  • When you are wrong, admit it.

  • Exercise tolerance.

  • Meet people.

  • Be quick to assist.

  • Ask others for assistance.

  • Use tact - put your comments in the correct perspective.

GpiI-3A Organizing a Software Project


Actions to improve communication1

Actions to improve communication.

  • Keep others informed - do not surprises.

  • Close problems.

  • Show appreciation.

  • Be a good listener.

  • Greet people - remember their names.

  • Consider compromise.

GpiI-3A Organizing a Software Project


Actions to improve communication2

Actions to improve communication.

  • Be willing to break with tradition.

  • Know what to expect from others.

  • Respect people.

GpiI-3A Organizing a Software Project


Bibliography

Bibliography

  • Mantei, M. “The effect of Programming Team Structures on Programming Task”. CACM March 1981. Reprinted en “Tutorial: Software Engineering Project Management de R. Thayer, IEEE Computer Society Prees, 1988.

  • Whitten, N., Managing Software Development Projects - 2nd de.. John Whiley & Sons Inc. 1995.

GpiI-3A Organizing a Software Project


  • Login