People and Methodologies in Software Development
This is a well written doctorate thesis, by
Alistair Cockburn, about software development methodology and how
people on the development project work with a methodology. Reading this
will help you understand how to manage application development projects
better and understand better how to work with people on a project. Here
is a mirror
of this thesis.
People
and Methodologies in Software Development
Submitted
as partial fulfillment of the degree Doctor Philosophiae
At the Faculty of Mathematics and Natural Sciences, University of Oslo,
Norway
February 25, 2003
Abstract
This thesis reports on research performed over a
ten-year period, interviewing project teams, participating directly on
projects, and reviewing proposals and case studies. The research
addressed three questions relating to people and software development
methodologies (Q1 through Q3),
and produced six results (R1 through R6).
Questions:
1) Do we need yet
another
software development methodology, or can we expect a convergence and
reduction at some point in time?
2) If convergence, what
must
be the characteristics of the converged methodology? If no convergence,
how can project teams deal with the growing number of methodologies?
3)
How
does the methodology relate to the people on the project?
Results:
1)
A methodology is a formula describing conventions of
interaction between roles.
2) People's characteristics,
which
vary from person to person and even from moment to moment, form a
first-order driver of the team's behavior and results. Such issues as
how well they get along with each other and the fit (or misfit) of
their personal characteristics with their job roles create significant,
project-specific constraints on the methodology. This result indicates
that people's personal characteristics place a limit on the effect of
methodologies in general.
3) Every project needs a slightly
different methodology, based on those people characteristics, the
project's specific priorities, and the technologies being used. This
result indicates that a team's methodology should be personalized to
the team during the project and may even change during the project.
4)
A
set of principles were found that can be used to shape an effective
methodology to the above constraints. These principles deal with the
amount of coordination and verification required in the project, the
trade-off between rework and serialization of work, and the trade-off
between tacit and externalized knowledge in use by the team.
5)
A
technique was found to create a situationally specific methodology
during the project and in time to serve the project, and to evolve it
as the project progresses.
6) All the above
suggests a
repeating cycle of behavior to use on projects.
1) The
members establish conventions for their interactions — a base
methodology — at the start of the project. This can be
likened to them "programming" themselves.
2) They then perform
their jobs in the normal scurry of project life, often getting too
caught up to reflect on how they are doing.
3) They schedule
regular periods of reflection in which they reconsider and adjust their
working conventions.
These results have been used
successfully on several industrial projects having the usual time and
cost pressures on the staff.
Table
of Contents:
1.
The Research Topic
1.1
Clarification of Words
1.2
Background to Question 1
1.3
Background to Question 2
1.4
Background to Question 3
1.5
Placing This Work in Context
1.6
Personal Motivation and Direction
2.
The Research Approach
2.1
The Research Practice
2.2
The Research Theory
3.
Issues and Results Chronologically
3.1
The Impact of Object-Orientation on Application Development
3.2
Selecting a Project's Methodology
3.3
The Interaction of Social Issues and Software Architecture
3.4
Characterizing People as First-Order, Non-Linear Components in Software
Development
3.5
Project Winifred Case Study
3.6
Just-in-Time Methodology Construction
3.7
Balancing Lightness with Sufficiency
4.
Consolidation ed Results and Reflection
4.1
Answering the Questions
4.2
Consolidation and Reliability of Results
4.3
Relating to Mathiassen's Reflective Systems Development
4.4
Reflection: The Limits of People-Plus-Methodologies
Technorati Tags: software development, software development methodology, application development methodology
Popularity: 6% [?]
Related Posts:





























