Agile Programming Assignment 1
Agile Programming Assignment 1
Table of Contents
Executive Summary ............................................................................................................... 2
Introduction ........................................................................................................................... 2
Overview of Agile & Conventional Methodologies .................................................................... 2
Agile Methodologies ............................................................................................................... 2
Conventional (Plan-Driven) Methodologies ............................................................................. 2
Comparative Analysis ............................................................................................................ 2
Project Planning and Flexibility ............................................................................................... 2
Client Collaboration and Stakeholder Management ................................................................ 3
Testing and Quality Assurance ............................................................................................... 3
Advantages and Challenges of each Methodologies ............................................................. 3-4
Recommendations for Client Contexts .................................................................................. 4
Future of Software Engineering Methodologies ........................................................... 4
Conclusions .......................................................................................................................... 5
Event Mate Agile MVP Case Study ........................................................................................... 5
Testing and Quality Assurance ............................................................................................... 5
Individual Reflective Statement .............................................................................................. 6
References ........................................................................................................................... 6
Appendix ............................................................................................................................... 6
1
Osman Bob Kamara HE19347 SWE6202
1. Executive Summary
This report gives a critical analysis, by comparing Agile and conventional software
engineering methodologies. The report shows each of their philosophical foundations
and Relevant practices, and also evaluates their suitability across project contexts.
This analysis is formed around planning flexibility, stakeholder collaboration, and
quality assurance. This report is tailored for government systems, start-up
applications, and public sector software.
2. Introduction
A software development approach demonstrates a very crucial role in acquiring the
proposed outcome of a system. Agile and conventional methodology are two opposite
software engineering paradigms. This report aims is to crucially asses these two
methodologies by investigating their core principles, inspecting and comparing their
performance on how well they function across important project aspects, and also
suggesting a suitable application situation.
a. Agile Methodologies
Agile is a gradual iterative methodology that prioritises adaptability, client
cooperation, and speedy delivery, with an agile team delivering working progress
simultaneously in small but potential increments or additional features to the
overall development. It is based on the Agile manifesto in 2001, which mainly
emphasises on responding to gradual change by following a precise plan. Agile
encourages flexible plannings, progressive growth, and early or initial delivery,
instead of the final software development.
Agile well-known frameworks are SCRUM, KANBAN, AND EXTREME PROGRAMMING (XP).
4. Comparative Analysis:
a. Flexibility and Project Planning:
• Through brief iterations or sprints, agile enables dynamic reprioritisation of
work, facilitating quick adaptation to shifting requirements (Highsmith, 2009).
2
Osman Bob Kamara HE19347 SWE6202
Agile Benefits:
• Quicker feedback loops
• A higher level of client satisfaction
• Agile simultaneously deliver small and useful results early and most often
• Based on real-world or client feedbacks, Agile continuously learning and gradually improving its
development.
• Agile mainly prioritises people(client) and collaborations(team-work), which makes it more
reliable and secured in term of errors or bug fixings.
Agile Difficulties:
• Scaling is challenging in Agile for big projects, as Agile works in small teams, but it can be difficult
to manage when trying to scale to multiple teams or department.
• It demands a high level of client availability, in order to run the whole software operations
smoothly, with client availability and collaborations, there is an assurance of little or no bugs or
errors of the final proposed software development.
• Team dependency and skill requirements This is one of the difficulties in Agile methodologies, as
Agile requires a high degree of self-management, A cross-functional skills among the team, and
consistent communication between team members.
Traditional Benefits:
• This clearly defined project scope and requirements: Here all functional and non-functional
requirements are defined upfront, minimizing any ambiguity.
• Predictable budget and Timeline: Here a fixed planning phases makes it easier to estimate
the total costs and delivery timetables, which is useful in contractual agreement between
the client and the developers.
• Formal Documentation: With the use of a comprehensive documentations in traditional
methodologies, it facilitates a long-term maintenance, regulatory compliance and project
handover.
3
Osman Bob Kamara HE19347 SWE6202
• A Stable Team Roles and Workflow: In huge or distributed teams, clear roles and
sequential workflows helps to avoid confusion.
Traditional Difficulties:
• It has a Low capacity for change adaptation, which is a huge problem in the future of the
entire development. Once requirements are established, changes in the middle of the
project are very expensive and challenging.
• High Requirement Risk Misalignment: Prolonged intervals between obtaining requirements
and delivering finished goods may cause them to no longer satisfy the client needs.
• Delayed Feedback Loops: It's common for stakeholders to see a functional product only in
the final stages, which limits their ability to influence development.
• Heavy Documentation Overhead: Keeping up-to-date documentation can be time-
consuming and take resources away from real development.
• Bugs discovered in the last stages of testing may necessitate extensive reworking of earlier
stages, which raises the cost of fixing them.
6. Examples of Cases:
• The FBI Sentinel Project improved responsiveness and delivery time by switching from
Waterfall to Agile (GAO, 2012).
• According to Greenhalgh et al. (2009), the UK NHS National Programme for IT suffered
from strict planning and inadequate stakeholder engagement under a conventional model.
9. Conclusion
Agile and Conventional methodologies serve distinct purposes depending on project
complexity, stakeholder needs, and regulatory environments.
4
Osman Bob Kamara HE19347 SWE6202
Agile is ideal for innovation-driven, dynamic contexts, while Conventional models suit
well-defined, high-stability projects. Successful software engineering in the future will
depend on selecting or tailoring methodologies to project-specific needs, often through
hybrid models.
e. Method of Testing
• Unit Testing: TDD was used for important backend components, such as RSVP logic.
• Acceptance Testing: BDD was applied to situations such as when an event is created
by a registered user, it shows up in their dashboard.
• At the conclusion of every sprint, exploratory testing is done to mimic actual user flows.
5
Osman Bob Kamara HE19347 SWE6202
Evaluation: As a team, we will be able to deliver a working MVP on schedule with the help of
Agile, and stakeholders, our team will be requiring regular feedback from clients, with our team
delivering an incremental release to our clients. For a startup with ambiguous and changing
requirements, the approach worked well.
References
12. Appendix