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
- Association of Computing Machinery (ACM) – Special Interest Group in Software Engineering (SIGSOFT): Impact Project
- Lavrishcheva, E. M.: Software Engineering as a Scientific and Engineering Discipline. In: Cybernetics and Systems Analysis, Volume 44, Issue 3, May 2008
- Parnas, D.L.: Stop the numbers game. In: Communications of the ACM, Volume 50, Number 11, p. 19–21, 2007
- Shaw, M.: Continuing Prospects for an Engineering Discipline of Software. In: IEEE Software, Volume 26, Issue 6, November 2009
- Shaw, M.: Progress toward and Engineering Discipline of Software. GOTO Amsterdam Conference 2015
- Shaw, M.: Prospects for an Engineering Discipline of Software. In: IEEE Software, Volume 7, Issue 6, November 1990
- to be continued
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
- Kniberg, H.; Ivarsson, A.: Scaling Agile @ Spotify with Tribes, Squads, Chapters & Guilds. October 2012
- Kniberg, H.: Spotify engineering culture (Part 1). Video on Vimeo, 2014
- Kniberg, H.: Spotify engineering culture (Part 2). Video on Vimeo, 2014
- Šmite, D.; Moe, N.B.; Levinta, G.; Floryan, M.: Spotify Guilds: How to Succeed With Knowledge Sharing in Large-Scale Agile Organizations. In: IEEE Software, Volume 36, Issue 2, March-April 2019
- to be continued