Skip to main content

Software Development as a Collaborative Writing Project

  • Conference paper
  • 2608 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4044))

Abstract

Software describes an imagined machine. To be software, the description must be executable, which means written so a computer can animate it. Non-executable descriptions (specifications, designs, &c.) are instrumental to this work; they are intermediate texts. We advance a model of software development as the collaborative writing of a series of descriptions. We propose the chief distinction of agile development to be the exclusion from this process of the human translation of intermediate texts. We distinguish supported and unsupported communication. We analyse the success of Extreme Programming in terms of avoiding unsupported communication and prioritising feedback from executable descriptions. We describe functional programming techniques to construct notations that allow programmers and users to collaborate writing executable system descriptions, collapsing distinctions between analysis, design, coding and testing. We describe a metric of code clarity, semantic density, which has been essential to the success of this work. We report the use of these techniques in the Pensions division of Britain’s largest insurer, and its effect on the business.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Graves, R.: The Greek Myths, p. 263. Folio Soc., London (1996)

    Google Scholar 

  2. Sykes, M.: Director, Global Markets Finance, Deutsche Bank, London addressing Kx Systems User Meeting; see report in Vector, vol. 21(2), http://www.vector.org.uk/archive/v212/kx212.htm

  3. Fodor, J.: The Modularity of Mind. MIT Press, Boston (1983)

    Google Scholar 

  4. Wittgenstein, L.: Logische-Philosophische Abhandlung. Cambridge (1922)

    Google Scholar 

  5. Wittgenstein, L.: Philosophical Investigations: German Text, with a Revised English Translation Blackwell, Oxford (2002)

    Google Scholar 

  6. Taylor, S.: The Experience of Being Understood: on requirements specification as a Wittgensteinian language game, http://www.5jt.com/articles.php?article=beingunderstood

  7. Graves, R.: ibid., p. 291

    Google Scholar 

  8. Beck, K.: Extreme Programming Explained: Embrace Change, p. 165. Addison-Wesley, Boston (2000)

    Google Scholar 

  9. Beck, K.: ibid, p.131

    Google Scholar 

  10. Whitehead, A.N.: An Introduction to Mathematics, p. 59. H. Holt & Co, London (1911), http://www.headmap.org/unlearn/alfred/1.htm

    MATH  Google Scholar 

  11. Iverson, K.E.: Notation as a Tool of Thought 1979 ACM Turing Award lecture. Communications of the ACM 23(8), See http://elliscave.com/APL_J/tool.pdf

  12. Taylor, S.J.: Pair Programming With The Users. Vector 22(1), http://www.vector.org.uk/archive/v221/sjt221.htm

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bussell, B., Taylor, S. (2006). Software Development as a Collaborative Writing Project. In: Abrahamsson, P., Marchesi, M., Succi, G. (eds) Extreme Programming and Agile Processes in Software Engineering. XP 2006. Lecture Notes in Computer Science, vol 4044. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11774129_3

Download citation

  • DOI: https://doi.org/10.1007/11774129_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-35094-1

  • Online ISBN: 978-3-540-35095-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics