Coding for the common good - writing software in organizations with care
Tobias Boczanski (Goethe University Frankfurt)
Laura Kocksch (Ruhr-University Bochum)
Paper short abstract:
In agile teams developers continuously have to coordinate fixing and planning activities, e.g., assign responsibility for flawed code or collaborate to trace back dependencies. In focusing on code practices, we describe how the organization translates into common visions of good software.
Paper long abstract:
In our two-month ethnographic study we investigated how software developers in a firm coordinate their work practices through code. When bugs were reported, developers engaged in practices of remembering previous actions and scheduling next steps accordingly. They had to go back to the past when the original code was written (2 years to 2 months ago) and simultaneously sustain the shared vision of the future software. In order to combine both, past and future, developers adopted the code and dedicated care for it. Code care included situated practices of documentation (with future developments in mind), contributing to the enterprise Wiki system, and taking pride in the code as an expert software developer and making it look "nicer" - more efficient, shorter, elegant, and more aesthetic. They did not do this for functional reasons but to enact their shared vision of a good software product. Taking care of one's code served as a translation of organizational needs into valued developer's practices. The code tied the firm's plans to situated actions of developers. We are interested in the way invisible work practices like code care relate organizational work to visions of a "good" software product. This paper discusses how functional software requirements and social accountability, responsibility and norms are co-configured through code care activities. How does a shared vision of good software emerge, and how does it connect the firm with developer practices through caring activities? This lense on code care allows us to situate the organization in development practice.
- Confluence, collaboration and intersection