Agility
March 28, 2022
One of my Computer Science modules this year has been Agile Team Development. Our team has been building an ASP.NET web application backed by a relational database, with the aim of supporting an online store for imported drinks.
The project began with a different idea: a calendar synchronisation tool for university timetables. After reviewing the assessment requirements, we changed direction and adopted the web-store scenario. Adjusting to a revised interpretation of the specification was a useful reminder that software projects benefit from clear acceptance criteria and early agreement on scope.
I have been acting as project lead and focusing on the order subsystem. This includes allowing customers to place orders containing multiple items and ensuring that the related data is stored consistently. The wider application covers typical CRUD operations for entities such as suppliers, items, employees, customers and orders.
The module has also highlighted the practical impact of development infrastructure. Some of the provided tooling reflects older versions of Visual Studio and .NET, and the shared SQL Server environment is only available from the university network. Working within those constraints has encouraged us to think carefully about local development, repeatable setup and compatibility with existing systems.
The main lesson so far is that agile development depends on communication as much as implementation. Requirements need to be understood by everyone involved, and a team needs a development environment that supports regular testing and iteration. Those are useful considerations for future projects as well as coursework.