Sepm Unit 1

3 minute read

Published:

Unit 1

Learning Outcomes Achieved

  1. Identify and apply appropriate software engineering and project management methodologies, tools and techniques for the development of solutions to real-world problems

Unit Reading and Forum Post

A key theme for the work assigned this week was understanding how and why software engineering projects fail. One task was to create a post discussing what the three most common reasons are for software engineering project failures, and provide case studies which serve as evidence thereof. From my own reading and analysis, I found that the three most common causes were having a weak task backlog due to a lack of information and poor prioritisation, a lack of cooperation between employees, and an insufficient allocation of resources for testing. I used the case studies of the Federal Aviation Administration (FAA) Advanced Automation System (AAS), and the U.S. Air Force Expeditionary Combat Support System (ECSS) to show the validity of my points.

The unit reading (especially the chapters given in the Mythical Man Month), helped me to build a better mental model of what can go wrong during software engineering, from a project management perspective.

By completing these tasks, I achieved learning outcome 1 because I learned about various risks that can be encountered when working on a real-world software engineering project, and I intend to apply this knowledge in my group assignment by ensuring that we avoid potential pitfalls by having clear tasks defined, along with fostering a positive environment which encourages open communication.

Other Thoughts

I did a little extra research while writing the initial post, I found some interesting research that didn’t fit very well with the rest of my post, but I’ve written those findings here because it was interesting to read:

The findings of Lehtinen et al. (2014) do not directly mention time pressure being a cause, which is often cited as a contributing factor to failed projects. This seems strange at first but is corroborated by other research; time pressure is usually managed by “cutting corners”, which increases maintenance requirements long-term, but does not cause outright project failure (Kuutila et al., 2020).

References

Kuutila, M., Mäntylä, M., Farooq, U. & Claes, M. (2020) Time pressure in software engineering: A systematic review. Information and Software Technology 121. DOI: https://doi.org/10.1016/j.infsof.2020.106257

Group Work

This week, I was assigned a team and we met to discuss rules of engagement and expectations of each other. I’ve attached the team contract below.

Reflection

This module will be highly beneficial to me because of my current plans. My current goal is to become a senior software engineer, and to prove that I am worthy of that position, I need to understand how to deliver high-quality work as fast as possible, and coordinate with other teams and individuals to make that happen. One of the most challenging things I find in my daily work is accurately estimating how much time it will take to deliver a feature, and an effective project manager knows how to produce accurate estimates and divide complex tasks into smaller, actionable subtasks. Therefore, throughout this module, I will be focusing on improving my project management skills by:

  • Getting a more diverse understanding of software engineering project management by reading about various approaches through the module content, and
  • Learing how to maximize my efficiency from a software engineering point of view.

To achieve these outcomes, I’ll be applying them by changing my habits when it comes to working in the real world and on the assignments.

Artefacts

Meeting Minutes
Team Contract
Initial Post