someone working with laptop

Agile software development project through the eyes of a Waterfall-project manager

17.06.2024

When you are a manager of conventional Waterfall-type design & engineering projects needing to make an instant transition into the world of software development with Agile methods, what should you do? First, take a deep breath. Second, dive in, study the field and gain knowledge. Third, combine your findings and experience into a thesis you wish you had on day one.

The process to develop software is wildly different from the process to design e.g. a ship, and requires a different set of skills, routines and attitude. The author noticed this when he was asked to steer a ship maintenance management software project instead of a ship design project.

Know your limits

There exists vast amounts of literature to study the differences of the disciplines, as both Agile or Waterfall are nothing new. The problem rather lies in coming up with a suitable framework to limit oneself in order to avoid exhaustion. The selection here was to base the paper on the publication SWEBOK (guide to Software Engineering Body of Knowledge), by IEEE (Institute of Electrical and Electronics Engineers). Even though it is somewhat aged, the publication provides relevant and extensive information on issues related to software development.

For an additional layer of specificity, also other sources are cited, not forgetting the Agile Manifesto. Focus was kept on the point of view of Project Managers, filtering and summarizing information needed to manage a software development project. The key issues, such as different Agile methodologies, social aspects and challenges are presented first.

Summary of the thesis contents.

Software development processes

Another limitation was the concentration solely on software development, i.e. the activities done before software is ready to be implemented. SWEBOK (2014, 5-8) divides software development into four processes:

  • Requirements process, during which the software’s functional and non-functional requirements are gathered, analyzed and refined.
  • Design process, when the software’s architecture, design and technological solutions are formed. An important tool here are UML (Unified Modeling Language) diagrams.
  • Construction process, the time when the software features are built in a cyclical evolution.
  • Testing process, which ultimately validates the created content’s functions and interoperability through acceptance criteria.

The processes occur simultaneously in each iterative cycle, but depending on the maturity of the software development project, one of these processes can be considered to be emphasized as the ”main process” at current time.

Software development team

The thesis also opens up the development team. Team roles are very much specialized in software development, and success demands cross-sectional collaboration between all relevant parties.

It’s also important to understand that the team is not working in a vacuum, but instead is surrounded by stakeholders. Line of communication between the customer and the team is open and in full use throughout the process, and the product is presented and validated step by step in Agile, which in turn is uncommon in a Waterfall approach.

Theory and practice in discussion

A real value-adding aspect of the thesis is the information provided from an actual software development case-project. This information ties theory and practice together nicely and shows how well the two relate to each other. The case descriptions contain several problems and pitfalls the project came against, with the intention to send a message that things can go wrong in the practical world, even with the best of methods and even working with experts with decades of experience.

By learning from the described problems (and reading the tips at the end of each chapter), it is possible for up-and-coming software project managers to start off with the right toolbox, understanding the theory and not tripping in the first steps of practice.

Thesis in Theseus: Software development project overview from management perspective : case: maintenance management software

Photo: Pexels