Software Engineering

This knowledge base page contains some selected resources on software engineering. I’m a proponent of software development as an engineering discipline that is to say the systematic application of engineering approaches to the process of developing and maintaining software-intensive systems. Moreover, I have a special focus on the design, evaluation and implementation of software architectures as part of the software engineering process. Therefore, my ambition is not to maintain a complete list of resources on software engineering. If you are looking for something like this, please refer to the Software Engineering Body of Knowledge (SWEBOK).

Fundamentals

  • Basili, V. R.; Larman, C.: Iterative and Incremental Development – A Brief History. In: IEEE Computer, Volume 36, Issue 6, June 2003
  • Boehm, B.W.: Software Risk Management: Principles and Practices. In: IEEE Software, Volume 8, Number 1, January 1991
  • Boehm, B.; Turner, R.: Rebalancing Your Organization’s Agility and Discipline. In: In: Maurer F., Wells D. (eds): Extreme Programming and Agile Methods – XP/Agile Universe 2003. Lecture Notes in Computer Science, Volume 2753. Springer, Berlin, Heidelberg, 2003
  • Boehm, B; Turner, R.: Using Risk to Balance Agile and Plan-Driven Methods. In: IEEE Software, Volume 36, Issue 6, June 2003
  • Brooks, Frederick P.: The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley, Boston et al. 1995
  • Fowler, M.: Refactoring – Improving the Design of Existing Code. Second Edition, Addison-Wesley November 2018
  • Freedman, D. P.; Weinberg, G. M.: Handbook of Walkthroughs, Inspections, and Technical Reviews. Dorset House Publishing Company, 1990
  • Jacobson, I; Griss, M.; Jonsson, P.: Software Reuse – Architecture, Process and Organization for Business Success. Pearson, 1997
  • Sommerville, I.: Software Engineering (Global Edition). 10th Edition, Pearson, 2015
  • Software Engineering Body of Knowledge (SWEBOK)
  • Yourdon, Edward: Death March. 2nd Edition, Prentice Hall 2003
  • to be continued

Software Engineering as a Discipline

Methods

  • Agile Business Consortium: DSDM Agile Project Framework. January 2014
  • Ambler, S.; Lines, M.: Disciplined Agile Delivery: A Practitioner’s Guide to Agile Software Delivery in the Enterprise. IBM Press, May 2012
  • Disciplined Agile Delivery (DAD)
  • Beck, K.: Extreme Programming Explained: Embrace Change. Second Edition, Addison-Wesley Professional, November 2004
  • Beck, K.: Test-Driven Development by Example. Addison-Wesley Signature Series, November 2002
  • Cockburn, A.: Agile Software Development: The Cooperative Game. 2. Edition, Addison-Wesley Professional, October 2006
  • Humphrey, W.S.: The Team Software Process (TSP). Software Engineering Institute, Technical Report CMU/SEI-2000-TR-023, November 2000
  • Jacobson, I.; Booch, G.; Rumbaugh, J.: The Unified Software Development Process. Addison-Wesley Object Technology, February 1999
  • Kruchten, P.: The Rational Unified Process: An Introduction. Third Edition, Addision-Wesley, December 2003
  • Larman, C.; Vodde, B.: Large-Scale Scrum: More with LeSS. Addison-Wesley Signature Series, August 2016
  • Leffingwell, D.: Scaling Software Agility – Best Practices for Large Enterprises. Addison-Wesley Professional Februar 2007
  • Scaled Agile Framework (SAFe)
  • Schwaber, K.; Sutherland, J.: The Scrum Guide – The Definitive Guide to Scrum: The Rules of the Game. November 2020
  • Wikipedia: Software Development Process (contains a list of software development methodologies and frameworks)
  • to be continued

Spotify Model