What are early software development teams?

What are early software development teams?

These are considered to be young teams, amateur software practitioners, ones with limited pro-
gramming knowledge;

  • Novice developers or beginners
  • Small start-up teams
  • Amateur software practitioners
  • Junior developers especially university students.

Most of these are just learning software development while working on prototypes for
their final year projects.

The processes or activities they undertake to develop project prototypes most times
cause them to incur technical debt in their projects.

Software engineering students are supposed to learn engineering methods, processes,
techniques, and measurement. They benefit from the use of tools for managing software de-
velopment, analysing and modelling software artefacts, assessing and controlling quality, controlled
approach to software evolution and reuse.

In many Universities and other institutions of learning in Uganda, students are required to demonstrate independent skills in implementing non-trivial software engineering or research projects by pursuing lengthy supervised projects to introduce concepts
of software development processes such as prototyping, documenting, software designing, testing,
and deploying well-engineered solutions.

The final product of such projects is a Real time software, Embedded software, System Software, Business software, Scientific and engineering software.

Universities, colleges provide the students with the opportunity to collaborate with others in a team of four or three students pursuing the same course to undertake a research project from the point of requirements analysis to deploying a tested and well engineered solution, with the assistance of a Project Supervisor(s). The duration of the final year project is approximately eight months or two semesters.
The following are steps involved in students’ final year projects;


  • Students pursuing the same course form groups of up to three or four members that are able to collaborate
  • Students then identify a problem domain with consultation from faculty advisor or supervisor and then design a proposal which has to be approved.
  • Requirements gathering from the stakeholders and develop a System Requirements Specification - SRS
  • Students then use this SRS to design the project prototype
  • Iterative prototyping processes are carried out that lead into a Software Design Document -SDD
  • Using the prototypes, the students implement the final product following the SDD
  • Testing and deployment of the product developed
  • Presentation of the project to the selected college lecturers for grading is the last step

The projects have a short time frame in which students should deliver working prototypes,
consequently, the students who are at the early stages of software development take shortcuts to
complete the project prototypes thus implementing ideas that are costly to refactor when adding new
features. These shortcuts affect the nternal quality of software products as students plan
tests, schedule refactoring, code reviews which they never implement.

Therefore students working onvthese projects that utilize intensive prototype processes must be aware of the effects of taking
shortcuts. This study aims to devise a framework that will enable young software development
teams to identify, evaluate and measure technical debt in early stage prototyping phase of software
engineering and when to pay off the debts to minimise the costs that are incurred in late repayment.


Feb. 1, 2023, 9:09 a.m. | Authored by Mugoya Dihfahsih


create username To join the discussion