Karl Popper’s Critical Rationalism in Agile Software Development

  • Mandy Northover
  • Andrew Boake
  • Derrick G. Kourie
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4068)


Sir Karl Popper’s critical rationalism – a philosophy in the fallibilist tradition of Socrates, Kant and Peirce – is applied systematically to illuminate the values and principles underlying contemporary software development. The two aspects of Popper’s philosophy, the natural and the social, provide a comprehensive and unified philosophical basis for understanding the newly emerged “agile” methodologies. It is argued in the first four sections of the paper – Philosophy of Science, Evolutionary Theory of Knowledge, Metaphysics, and The Open Society – that the agile approach to software development is strongly endorsed by Popper’s philosophy of critical rationalism. In the final section, the relevance of Christopher Alexander’s ideas to agile methodologies and their similarity to Popper’s philosophy is demonstrated.


Open Society Social Engineering Pair Programming Agile Practice Agile Software Development 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Coutts, D.: The Test Case as a Scientific Experiment,
  2. 2.
    Hall, W.P.: Managing Maintenance Knowledge in the Context of Large Engineering Projects: Theory and Case Study. Journal of Information & Knowledge Management 2(2) (2003)Google Scholar
  3. 3.
    Snelting, G.: Paul Feyerabend and Software Technology. Journal of the German Computer Science Society (1998)Google Scholar
  4. 4.
    Moss, M.: Why Management Theory Needs Popper: The Relevance of Falsification. The Journal of Philosophy of Management 3(3) (2002)Google Scholar
  5. 5.
    Firestone, J.M., McElroy, M.W.: The Open Enterprise: Building Business Architectures for Openness and Sustainable Innovation. KMCI Online Press (2003)Google Scholar
  6. 6.
    Manifesto for Agile Software Development,
  7. 7.
    Magee, B.: Popper. In: Kermode, F. (ed.). Fontana Press, Glasgow (1973)Google Scholar
  8. 8.
    Popper, K.: A Pocket Popper. In: Miller, D. (ed.). Fontana Press, Glasgow (1983)Google Scholar
  9. 9.
    Popper, K.: All Life is Problem Solving. Routledge, New York (1999)Google Scholar
  10. 10.
    Chau, T., Maurer, F., Melnik, G.: Knowledge Sharing: Agile Methods vs. Tayloristic Methods. In: IEEE International Workshops on Enabling Technologies, Austria (2003)Google Scholar
  11. 11.
    Popper, K.: The Open Society and its Enemies: The Spell of Plato, vol. 1. Routledge, London (1966)Google Scholar
  12. 12.
    Beck, K., Andres, C.: Extreme Programming Explained: Embrace Change, 2nd edn. Addison-Wesley, Boston (2005)Google Scholar
  13. 13.
    DeMarco, T., Lister, T.: Peopleware: Productive Projects and Teams, 2nd edn. Dorset House Publishing Co., New York (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Mandy Northover
    • 1
  • Andrew Boake
    • 1
  • Derrick G. Kourie
    • 1
  1. 1.Espresso Research Group, Department of Computer Science, School of Information TechnologyUniversity of PretoriaPretoriaSouth Africa

Personalised recommendations