Software Engineering Project: Round 1

This post is part of the Software Engineering Project series.

In my third year of study as a BSc. Computer Science student I take a module called Software Engineering. This module aims to teach us how to develop systems with actual clients in a more realistic environment. The first part of the module has what they call a mini project in which we develop a system for a real actual client in phases using the waterfall technique. To add extra spice to our life we also get assigned to groups that we have to work in for each phase or round of the project. I decided that it would be a great idea to document what I learn every phase so that I am forced to evaluate the experience and focus on the negative and the positives and then try to make the next round better.

So without further ado lets dive in.

In round 1, the requirements phase I learn the following:

  • People need a lot of direction especially if the situation is new, they won’t just do something that needs to be done. This is understandable but frustrating if you also are not sure what needs to be done but you have to tell other people what too do. You must plan and accept this as a necessary evil which means that you won’t be personally as productive but the group as whole will be. This can also be made easier by establishing what should be learned and making it a official task for each member that has a deadline.
  • When working on a project you must make sure that all the people have the same understanding of what the project is about and how the group is going to tackle the problem. This also includes the over arching design philosophy and design goals. I had this idea that since the group members where all in the same meetings as me and heard the answers that I heard that they would have close to the same understanding. This was very wrong. Next time I must make sure that all the members of the team understand the same overview of the project and their work fits with the overview.
  • When learning new techniques or technology some people are scared or afraid to try it and they delay. Make sure that those people are guided or assisted to not become a bottle neck near the deadline.
  • Make sure to arrange that work be done in steps with deadlines for each step to insure that everything is not left to the day before. Also review the submitted work early and often to insure that the work agrees with the overview of the assignment.

I just noticed that a lot of what I said above is basically agile development!

So that is what I have learned in the first round. I will now try to implement this in the second round and hopefully do better and learn more.

Tags// , ,