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
- Lavrishcheva, E. M.: Software Engineering as a Scientific and Engineering Discipline. In: Cybernetics and Systems Analysis, Volume 44, Issue 3, May 2008
- Shaw, M.: Continuing Prospects for an Engineering Discipline of Software. In: IEEE Software, Volume 26, Issue 6, November 2009
- Shaw, M.: Prospects for an Engineering Discipline of Software. In: IEEE Software, Volume 7, Issue 6, November 1990
- to be continued
Essence 
This subsection encompasses some selected resources related to the SEMAT (Software Engineering Method and Theory) initiative and the Essence standard. I’ve developed this list of resources while immersing myself into Essence. Ivar Jacobson has published a LinkedIn article in which he lists valuable resources for learning about Essence. This article was actually my starting point and thus there is a lot of redundancy. Nevertheless, I might have discovered some additional Essence-related nuggets… It is obvious that the list is work in progress and I will add items along my journey learning about and adopting Essence.
Articles, Books & Standards
- Johnson, P.; Ekstedt, M.; Jacobson, I.: Where’s the Theory for Software Engineering? In: IEEE Software, Volume 29, Issue 5, September-October 2012
- Jacobson, I.; Ng, P.-W.; McMahon, P.E. et al.: The Essence of Software Engineering: The SEMAT Kernel. In: Communications of the ACM, Volume 55, Issue 12, December 2012
- Jacobson, I.; Spence, I.; NG, P.W.: Agile and SEMAT: Perfect Partners. In: Communications of the ACM, Volume 56, Issue 11, November 2013
- Jacobson, I.; NG, P.W.; Spence, I.; McMahon, P.E.: Major-league SEMAT: Why Should an Executive Care? In: Communications of the ACM, Volume 57, Issue 4, April 2014
- Jacobson, I.; Seidewitz, E.: A New Software Engineering. Communications of the ACM, Volume 57, Issue 12, November 2014
- McMahon, P.E.: A Thinking Framework to Power Software Development Team Performance. In: CrossTalk, The Journal of Defense Software Engineering, January/February 2015
- Johnson, P.; Ekstedt, M.: The Tarpit – A General Theory of Software Engineering. In: Information and Software Technology, Volume 70, Issue C, Feburary 2016
- Jacobson, I.; Spence, I.; Seidewitz, E.: Industrial-Scale Agile from Craft to Engineering. Communications of the ACM, Volume 59, Issue 12, December 2016
- Jacobson, I.; Spence, I.; NG, P.W.: Is There a Single Method for the Internet of Things? Essence can keep software development for the IoT from becoming unwieldy. In: ACM Queue, Volume 15, Issue 3, June 2017
- Object Management Group: Essence – Kernel and Language for Software Engineering Methods. Standard Document, Version 1.2, October 2018
- Jacobson, I.; Stimson, R.: Tear Down the Method Prisons! Set Free the Practices! In: ACM Queue, Volume 16, Issue 5, October 2018
- Jacobson, Ivar; Lawson, H.; Ng, P.-W.; McMahon, P.E.; Goedicke, M.: The Essentials of Modern Software Engineering. Association for Computing Machinery and Morgan & Claypool, 2019
- Sutherland, J.; Jacobson, I.; Kerr, B.: Scrum Essentials Cards: Experiences of Scrum Teams Improving with Essence. In: ACM Queue, Volume 18, Issue 3, June 2020
- to be continued
Videos & Webinars
- ACM SigSoft Webinar with Ivar Jacobson: 50 years of software engineering, so now what? December 20, 2018 (Recording)
- ACM SigSoft Webinar with Ivar Jacobson and Brian Kerr: Essence in Action. January 10, 2019
- ACM SigSoft Webinar with Jeff Sutherland and Ivar Jacobson: A Better Scrum with Essence. April 27, 2020 (Recording)
- Meetup with Jeff Sutherland and Ivar Jacobson: Essence for Agility launches with two software and agile giants. Wednesday, January 6, 2021 (Recording)
- Meetup with Jeff Sutherland and Ian Spence: Scrum and Scrum@Scale better with Essence. Tuesday, January 26, 2021 (Recording)
- Ivar Jacobson International: Understanding Essence. Thursday, November 5, 2020
- Jacobson, Ivar: Tear Down the Method Prisons! Set Free the Practices! Keynote at the National Research Conference on Information- and Computer Science in Norway. November 24, 2020
- to be continued
Practice Libraries
- Ivar Jacobson International: Essence Practice Library
- to be continued
Practice Communities
- Essence Education Forum (EEF)
- to be continued
Tools, Templates & Icon Libraries
- tbd.
Methods
- 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
- 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