Q1. What are Software Development Approaches? Explain Agile Project Management in Detail.
Software Development Approaches:
1. Waterfall Model: Sequential process where each phase (e.g., Requirements → Design →
Development → Testing → Deployment) must be completed before moving to the next.
2. Iterative Model: Develops in repeated cycles, refining the software after each iteration.
3. Spiral Model: Combines iterative and risk-based approaches for large projects.
4. V-Model: A variation of the waterfall model where testing is parallel to development phases.
5. Agile Model: An iterative, incremental approach focused on flexibility and collaboration.
Agile Project Management:
Agile is a modern approach to project management that emphasizes flexibility, adaptability, and
customer satisfaction. It breaks the project into small, manageable increments called "iterations" or
"sprints."
Key Principles of Agile:
1. Individuals and interactions over processes and tools.
2. Working software over comprehensive documentation.
3. Customer collaboration over contract negotiation.
4. Responding to change over following a plan.
Agile Process:
• Divides the project into iterations (1-4 weeks).
• Regular team meetings, customer feedback, and adaptability.
• Focus on delivering working software after every sprint.
Example: A software team developing a mobile app delivers basic login functionality in the first
sprint, then adds features like payment integration in the next sprint.
Q2. Explain Scrum Framework in Detail.
The Scrum framework is an Agile methodology used to manage projects efficiently. It emphasizes
teamwork, iterative progress, and continuous feedback.
Scrum Components:
1. Roles:
o Product Owner: Represents customer needs, prioritizes product backlog.
o Scrum Master: Facilitates Scrum processes, removes obstacles.
o Development Team: Delivers the product increment in each sprint.
2. Artifacts:
o Product Backlog: List of all requirements prioritized by the Product Owner.
o Sprint Backlog: Selected tasks to complete during a sprint.
o Increment: Working software delivered at the end of each sprint.
3. Events (Ceremonies):
o Sprint Planning: Define goals and tasks for the sprint.
o Daily Scrum: 15-minute stand-up meeting to discuss progress.
o Sprint Review: Demonstrate completed work to stakeholders.
o Sprint Retrospective: Reflect on the sprint and identify improvements.
Example: A team develops a new website. In a 2-week sprint, they plan tasks, complete them, and
present the working homepage.
Q3. Advantages and Disadvantages of Agile Methodology
Advantages:
1. Flexibility: Changes can be incorporated at any stage.
2. Customer Satisfaction: Regular feedback ensures the product meets expectations.
3. Faster Delivery: Continuous delivery of working software.
4. Risk Management: Early detection of issues.
5. Collaboration: Strong communication within the team.
Disadvantages:
1. Lack of Documentation: Focus on working software reduces documentation.
2. Scope Creep: Frequent changes can lead to uncontrolled scope growth.
3. Not Suitable for Large Teams: Works better for small teams.
4. High Dependency: Success depends on active customer involvement.
Q4. Short Notes
i) Estimation:
Estimation is the process of predicting the effort, time, and cost required to complete project tasks.
Agile uses techniques like:
• Story Points: Assigning numerical values to tasks based on complexity.
• T-shirt Sizing: Categorizing tasks into sizes like Small, Medium, Large.
ii) Product Backlog:
A prioritized list of all features, requirements, and tasks that need to be completed in a project.
• Managed by the Product Owner.
• Continuously updated based on customer needs.
Example:
Product Backlog:
1. User login functionality (Priority 1)
2. Shopping cart feature (Priority 2)
3. Payment integration (Priority 3)
Q5. Predictive vs. Empirical Management
Predictive Management Empirical Management
Follows a fixed plan and schedule. Adapts based on observation and feedback.
Suitable for well-defined projects. Suitable for dynamic, changing projects.
Example: Waterfall Model. Example: Agile Framework (Scrum).
Q6. Three Stages of Agile Project with Example
1. Concept Stage:
o Define the vision, objectives, and requirements.
o Example: Identify features for an e-commerce app.
2. Iteration Stage:
o Break the project into sprints. Develop, test, and demonstrate.
o Example: Sprint 1 → Build user login. Sprint 2 → Build shopping cart.
3. Delivery Stage:
o Deploy the product increment to the customer.
o Example: Launch the e-commerce app and gather feedback.
Q7. Best Practices for Agile Project Scheduling
1. Use short iterations (1-4 weeks).
2. Prioritize tasks using the Product Backlog.
3. Use tools like Kanban boards or Gantt charts.
4. Maintain flexibility for changes.
5. Conduct daily stand-up meetings to track progress.
Q8. Compare Non-Agile and Agile Projects
Non-Agile Projects Agile Projects
Fixed plan and timeline. Iterative and adaptable process.
Less customer involvement. Regular customer feedback.
Rigid and inflexible. Flexible to changes.
How to Choose:
• Use Agile for dynamic, evolving projects.
• Use Non-Agile for projects with fixed scope and requirements.
Q9. Scrum Model vs. Traditional Approach
Scrum Model:
• Iterative, flexible, customer-focused.
• Example: A team delivers software features every 2 weeks.
Traditional Model:
• Sequential phases (Waterfall), rigid plan.
• Example: A team finishes design → coding → testing → deployment.
Effect: Scrum allows quicker feedback and flexibility, while traditional methods delay changes and
testing.
Q10. Roles and Responsibilities in Agile Project Management
1. Product Owner: Prioritizes the product backlog and represents customer needs.
2. Scrum Master: Facilitates Scrum meetings, removes blockers.
3. Development Team: Builds and tests the product increment.
Q11. What is an Agile Project? Stages of Agile Project
(See Q6 for combined answer).
Q12. Scrum Methodology with Stakeholders
• Product Owner: Manages product backlog.
• Scrum Master: Guides Scrum processes.
• Development Team: Executes tasks.
• Stakeholders: Provide feedback.
Q13. Difference Between Non-Agile and Agile Projects
(See Q8).
Q14. Scheduling and Tracking in Agile Projects
• Scheduling: Plan short iterations and prioritize tasks using the backlog.
• Tracking: Use burndown charts, velocity reports, and daily stand-ups to monitor progress.
Q15. Agile Methodology and its Advantages
(See Q3 for advantages).
Q16. Product Backlog with Diagram
The Product Backlog is a prioritized list of project tasks. It evolves as new requirements arise.
Diagram:
Product Backlog:
+-----------------------------+
| 1. User Authentication |
| 2. Shopping Cart |
| 3. Payment Gateway |
| 4. Email Notification |
+-----------------------------+