Agile vs. Traditional Flashcards
(20 cards)
What is the main goal of Agile methods in software engineering?
Agile methods aim to be flexible about software engineering stages, adapting processes to fit the project’s needs and responding quickly to change, rather than following rigid, traditional processes.
When might traditional software engineering methods be preferred over Agile?
Traditional methods are better suited for projects with big teams, large budgets, and fixed requirements, where detailed planning, documentation, and formal testing are prioritized.
List three key differences between traditional and Agile methods.
Traditional: Waterfall/V-Model, requirements tables, detailed UML/specs, integration and user testing phases, separate skill teams.
Agile: Spiral/SCRUM/iterative models, user stories/personas, rapid prototyping, TDD/CI/paired coding, frequent client interaction, integrated skills teams.
What are some common limitations of traditional software engineering methods?
Traditional methods rely on heavy documentation, have long waiting times between teams, are slow and expensive to fix bugs, offer little developer freedom, and make managing change difficult.
What is the Agile Manifesto and when was it created?
The Agile Manifesto was created in 2001 by 17 software experts to improve software engineering by making methodologies adaptable and reducing unnecessary bureaucracy.
What are the four core Agile values?
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan.
Name three Agile principles agreed upon in 2001.
Satisfy the customer through early and continuous delivery of valuable software.
Welcome changing requirements, even late in development.
Deliver working software frequently, preferring shorter timescales.
How is progress primarily measured in Agile projects?
Working software is the primary measure of progress in Agile projects.
What is the role of face-to-face communication in Agile?
Face-to-face conversation is considered the most efficient and effective method of conveying information within a development team.
According to recent surveys, what are the top benefits of adopting Agile?
Top benefits include managing changing priorities, increased visibility, better business/IT alignment, faster delivery, improved predictability, risk reduction, and higher software quality.
How is the success of Agile delivery most commonly measured?
Success is most commonly measured by business value delivered and customer/user satisfaction, followed by delivery velocity and iteration burndown.
What is eXtreme Programming (XP) and what are its key practices?
XP is an iterative Agile approach focused on rapid, incremental releases, test-first development, continuous integration, pair programming, collective code ownership, and maintaining a sustainable pace.
What is the main difference between Scrum and Kanban?
Scrum organizes work into fixed-length sprints managed by a Scrum Master, while Kanban uses a continuously updated priority list and a Kanban board to manage workflow and limit work in progress.
How does Agile handle requirements differently from traditional methods?
Agile uses user stories and personas for requirements, emphasizing ongoing collaboration and change, while traditional methods rely on detailed requirements documents and fixed plans.
What is “Scrumban”?
Scrumban is a hybrid Agile approach that combines elements of Scrum and Kanban, allowing teams to tailor practices to their specific needs.
Why do Agile projects emphasize frequent client interaction?
Frequent client interaction ensures that the product meets evolving needs, allows for rapid feedback, and enables quick adaptation to changes.
How do Agile teams measure productivity and quality?
Agile teams use metrics like velocity, iteration burndown, defects over time, test pass/fail rates, and customer satisfaction to measure productivity and quality.
What is the Agile approach to design and documentation?
Agile favors simple design, rapid prototyping, and minimal necessary documentation, focusing on delivering working software and adapting as needed.
What is the importance of continuous integration in Agile?
Continuous integration ensures that code changes are regularly merged and tested, reducing integration problems and ensuring that the system is always in a working state.
Scrum vs XP vs Kanban
Scrum is optimising by time and delivery
XP is about team effectiveness
Kanban is about speed of feature delivery