🛠️ Methodology
1. What Is a Methodology?
A methodology is the structured approach used to plan, develop, and deliver your project. It includes the software development model you adopt, the reasoning behind that choice, and the steps or phases you'll follow throughout the lifecycle of the project.
A clear methodology helps ensure that the project is completed efficiently, is aligned with the intended goals, and is adaptable when changes are needed. It also demonstrates to evaluators that the project was managed professionally and systematically.
2. Common Software Development Methodologies
There are various methodologies that students can choose from, depending on the nature of their project:
- Waterfall: A linear, phase-based model best suited for projects with fixed and well-understood requirements.
- Agile (e.g., Scrum, Kanban): An iterative and flexible model that accommodates frequent updates and ongoing user feedback.
- Spiral: Combines elements of both design and prototyping, ideal for large, high-risk projects.
- V-Model: Focuses heavily on validation and verification at each development stage, often used in critical systems.
The chosen methodology should fit the project type, scope, available resources, and team workflow.
3. Justifying Your Chosen Methodology
Your methodology should be selected based on several factors, such as:
- How clearly defined your requirements are
- Whether or not you expect ongoing feedback or scope changes
- The size and structure of your team
- The level of technical risk or complexity involved
- Time, budget, and access to users or tools
Justifying your methodology shows evaluators that you made thoughtful decisions tailored to your project’s specific needs.
4. Phases You Might Follow
Regardless of which methodology is chosen, most projects follow similar high-level phases:
- Requirement Analysis: Define what the system will do and gather user needs.
- Design: Plan system architecture, UI, and database structures.
- Implementation: Code and build the actual system or product.
- Testing: Verify functionality, fix bugs, and validate the results.
- Deployment: Launch a working version in a real or test environment.
- Documentation and Maintenance: Provide manuals, guides, and plans for ongoing support.
These phases may be executed sequentially (as in Waterfall) or in cycles (as in Agile).
Example – Habit Tracking Mobile App:
- The team chose the Agile Scrum methodology to build the app in short, iterative sprints.
- Core user stories included creating habits, sending reminders, and tracking completion rates.
- Sprint reviews allowed for regular feedback from test users and mentors.
- Later sprints focused on enhancements like dark mode and streak visualization based on early feedback.
Example – Educational Cartoon Series:
- The team followed a Waterfall model due to the linear nature of animation production.
- Scripts and storyboards were finalized before voiceover and animation work began.
- Each episode was reviewed by educators before final rendering.
- This method ensured consistency and met fixed deadlines for academic review.
5. Why Define Your Methodology?
Clearly defining your methodology:
- Clarifies your process for evaluators and teammates
- Demonstrates planning skills and professional thinking
- Helps manage risks and respond to challenges systematically
- Provides structure and milestones to track progress