What is a software development methodology?
A structured process or framework that defines how to plan, develop, test, deploy, and maintain software efficiently.
Why are software development methodologies important?
They help manage complexity, organize work, ensure quality, maintain timelines, and improve communication among team members.
What does SDLC stand for?
Software Development Life Cycle — the step-by-step process followed during the development of software.
What are the main phases of the Software Development Life Cycle (SDLC)?
Requirement Analysis, System Design, Implementation (Coding), Testing, Deployment, and Maintenance.
What is the goal of the requirement analysis phase?
To gather, understand, and document what the users or stakeholders expect from the system.
What happens during the system design phase?
Developers design the software architecture, database, and user interfaces based on the requirements.
What happens during the implementation (coding) phase?
Developers write the actual code to turn the design into a working product.
What is done during the testing phase?
Testers check the software for bugs, errors, and ensure it meets the specified requirements.
What is the purpose of the deployment phase?
To deliver the finished system to the users or make it live on production servers.
What is the focus of the maintenance phase?
Fixing bugs, improving performance, and adding new features after deployment.
How are SDLC and software methodologies related?
SDLC defines what stages occur, while methodologies define how those stages are executed.
How does the Waterfall model apply SDLC?
It performs all SDLC stages sequentially, completing one fully before moving to the next.
How does the Agile model apply SDLC?
It performs SDLC stages iteratively in short cycles (sprints) with continuous feedback and improvement.
Example: How does the requirement phase look in a university admission system?
Collecting information about how students apply, upload documents, and how admins review and process applications.
Example: What happens in the testing phase for a web-based admission system?
Testing features such as login, form submission, document upload, and admin approvals to ensure functionality.
What is the main objective of a software process model?
To provide structure and discipline for managing software projects and achieving consistent results.
What are some common software development methodologies?
Waterfall, Agile, Spiral, V-Model, and Iterative/Incremental models.
What kind of projects typically use the Waterfall model?
Projects with stable, well-defined requirements such as government or documentation-heavy systems.
What kind of projects typically use the Agile model?
Projects with changing requirements, like startups, SaaS platforms, and web applications.
Why is documentation important in traditional methodologies like Waterfall?
It ensures traceability, accountability, and clear communication among all stakeholders.
What is iterative development?
A process where software is built and improved through repeated cycles of planning, building, testing, and reviewing.
What is incremental development?
Building a software system piece by piece, adding new functionality in each increment or version.
What does stakeholder mean in software development?
Anyone who has an interest in the software project — such as clients, users, developers, and project managers.
What is the main advantage of following a defined development methodology?
It improves project predictability, quality, and team coordination while reducing risks.