A photograph of a racially and gender diverse team of six making decisions.
Software engineering is inherently social.

Cooperative Software Development

by Amy J. Ko

1st edition

This book is an introduction to the many human, social, and political aspects of software engineering. It’s unique in two ways. First, unlike many software engineering books, it explictly avoids centering technical questions about software engineering, instead focusing on the many ways that software engineering work is cognitive, social, and organizational. Second, it does so by engaging extensively with academic research literature, summarizing key findings, but also questioning them, opening a dialog about the nature of software engineering work and the many factors that shape it. Anyone that reads it will be better prepared to critically engage in creating software in teams.

This book is a living document. Do you see ways to improve it?  Submit an issue  or a  pull request  to its  GitHub repository .

This material is based upon work supported by the National Science Foundation under Grant No. 0952733. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.

Margaret Hamilton working on the Apollo flight software. Chapter 1

History

~10 min read
A software team hard at work Chapter 2

Organizations

~10 min read
A man and a woman having a conversation Chapter 3

Communication

~5 min read
A women working at a laptop Chapter 4

Productivity

~10 min read
A screenshot of the Zoho issue tracker. Chapter 5

Quality

~10 min read
An architectural structure showing the framework of a glass structure Chapter 6

Requirements

~10 min read
A photograph of a church hallway with arches. Chapter 7

Architecture

~10 min read
A blueprint for an architectural plan Chapter 8

Specifications

~5 min read
A photograph of a river Chapter 9

Process

~10 min read
A visualization of many interconnected node Chapter 10

Comprehension

~10 min read
A check mark Chapter 11

Verification

~15 min read
A photograph of a lifeguide monitoring a beach. Chapter 12

Monitoring

~10 min read
Four variations on an at sign. Chapter 13

Evolution

~5 min read
An illustration of a fly swatter. Chapter 14

Debugging

~10 min read

References

Everything cited

Index

Common words and where they are

Search

Find where words occur

Media

Images and video in the book

Thank you to the excellent software engineering research community for the continued feedback and of course for all of the insightful research upon which this book is based. And thank you the students who always have insightful things to add!

Creative Commons Attribution-NoDerivatives 4.0

Want to print this book or generate a PDF? See all chapters on a single page and then print or export. Long books can take some time to render.

Amy J. Ko (2024). Cooperative Software Development. …, retrieved 3/11/2024.