This lesson is being piloted (Beta version)
If you teach this lesson, please tell the authors and provide feedback by opening an issue in the source repository

Section 5: Managing and Improving Software Over Its Lifetime

Overview

Teaching: 5 min
Exercises: 0 min
Questions
  • How do we manage the process of developing and improving our software?

  • How do we ensure we reuse other people’s code while maintaining the sustainability of our own software?

Objectives
  • Use established tools to track and manage software problems and enhancements in a team.

  • Understand the importance of critical reflection to improving software quality and reusability.

  • Improve software through feedback, work estimation, prioritisation and agile development.

In this section of the course we look at managing the development and evolution of software - how to keep track of the tasks the team has to do, how to improve the quality and reusability of our software for others as well as ourselves, and how to assess other people’s software for reuse within our project. The focus in this section will move beyond just software development to software management: internal planning and prioritising tasks for future development, management of internal communication as well as how the outside world interacts with and makes use of our software, how others can interact with ourselves to report issues, and the ways we can successfully manage software improvement in response to feedback.

Managing software

In this section we will:

Key Points

  • For software to succeed it needs to be managed as well as developed.

  • Estimating the effort to deliver work items is a foundational tool for prioritising that work.