Coordination in software development

  title={Coordination in software development},
  author={Robert E. Kraut and Lynn A. Streeter},
  journal={Commun. ACM},
Since its inception, the software industry has been in crisis. As Blazer noted 20 years ago, “[Software] is unreliable, delivered late, unresponsive to change, inefficient, and expensive … and has been for the past 20 years” [4]. In a survey of software contractors and government contract officers, over half of the respondents believed that calendar overruns, cost overruns, code that required in-house modifications before being usable, and code that was difficult to modify were common problems… 
Splitting the organization and integrating the code: Conway's law revisited
  • J. Herbsleb, Rebecca E. Grinter
  • Computer Science
    Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002)
  • 1999
A case study of what indeed turned out to be the most difficult part of a geographically distributed software project, i.e., integration, and shed light on the problems and mechanisms underlying the coordination needs of development projects generally, be they co-located or distributed.
Notice of RetractionWhy are software projects behind schedule and over budget? An alternative look through development contract
  • Yifan Wang
  • Computer Science
    2011 International Conference on E-Business and E-Government (ICEE)
  • 2011
This paper investigates the development case where software project is contracted to outside professionals and finds that, by leveraging delivery pace and cost performance measurement, software client and software developer can reduce their risks and improve their payoffs in the trade.
(Dis)trust in Software Projects: a Thrice Told Tale: On Dynamic Relationships between Software Engin
This paper will try to analyze how the trust in software projects is understood, perceived and exercised by the key organizational actors involved, including managers, clients, and software engineers.
Economic rationale of high cost and slow delivery in software development
This paper investigates the case where software project development is contracted to outside professionals and finds that, by leveraging delivery pace or cost performance measure, software client can improve its payoff while upholding software developer's payoff unchanged.
Coordination in Large-Scale Software Development : Helpful and Unhelpful Behaviors
This work proposes a methodology to define collaborative work allocation patterns that can be used in order to handle the collaborative software development coordination issues and claims that the collaboration of the developers, designers and testers must be related to and governed by the technical task structure.
From Bugs to Decision Support - Leveraging Historical Issue Reports in Software Evolution
The results show that RSSEs for both IA and CIA can help developers navigate large software projects, in terms of locating development teams and software artifacts.
Global software development in the freeBSD project
FreeBSD is a sophisticated operating system developed and maintained as open-source software by a team of more than 350 individuals located throughout the world. This study uses developer location
Coordination Challenges in Global Software Development
The challenges of coordination in GSD that usually cause problems for developers, clients, vendors and other stakeholders who are involved are presented and some measures to overcome these challenges are suggested.
Sysiphus: Enabling informal collaboration in global software development
Sysiphus is described, a distributed environment providing a uniform framework for system models, collaboration artifacts, and organizational models that encourages participants to make communication and issues explicit in the context of system models and become aware of relevant stakeholders.
A Process Pattern Language for Coordinated Software Development
This study proposes a technique to convert the knowledge base in IS and CS research on coordination into process patterns which are more accessible to practitioners.


No Silver Bullet Essence and Accidents of Software Engineering
This article shall try to show why there is no single development, in either technology or management technique, that by itself promises even one order-of-magnitude improvement in productivity, in reliability, in simplicity.
A field study of the software design process for large systems
A layered behavioral model is used to analyze how three of these problems—the thin spread of application domain knowledge, fluctuating and conflicting requirements, and communication bottlenecks and breakdowns—affected software productivity and quality through their impact on cognitive, social, and organizational processes.
The mythical man-month (anniversary ed.)
The added chapters contain a crisp condensation of all the propositions asserted in the original book, including Brooks' central argument in The Mythical Man-Month: that large programming projects suffer management problems different from small ones due to the division of labor.
The Mythical Man-Month
The author will list some of the assertions in the book and invite dispute or support from the audience in this public discussion of the published book.
Imprecise Program Specification
Abstract : The first section of this report attempts to characterize the field of automatic programming through a general model describing the stages and processing required. The second discusses a
Software Engineering Economics
  • B. Boehm
  • Computer Science, Economics
    IEEE Transactions on Software Engineering
  • 1984
The field of software cost estimation is surveyed, including the major estimation techniques available, the state of the art in algorithmic cost models, and the outstanding research issues inSoftware cost estimation.
Special Boundary Roles in the Innovation Process.
A version of this paper was presented at the Academy of Management meetings, August 1976. The author thanks his colleagues David Lewin, Noel Tichy, and Michael Ginzberg, and an anonymous reviewer
Designing for cooperation: cooperating in design
This article will discuss how to design computer applications that enhance the quality of work and products, and will relate the discussion to current themes in the field of Computer-Supported
Designing for usability—key principles and what designers think
Any system designed for people to use should be (a) easy to learn; (b) useful, i.e., contain functions people really need in their work; (c) easy to use; and (d) pleasant to use. In this note we