1/161
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
What are the 4 core values of the Agile Manifesto?
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
Individuals and interactions over ___ and ___
processes and tools
Working software over ___
comprehensive documentation
Customer collaboration over ___
contract negotiation
Responding to change over ___
following a plan
Why does Agile prioritize working software over comprehensive documentation?
Documentation can quickly become outdated, while functioning product provides immediate value and feedback. A prototype users can test is more useful than a long specification document.
What is the key difference between iterative and incremental development?
Incremental: Add new functionality step by step (build more parts). Iterative: Refine and improve existing functionality (make existing parts better).
Give an example of incremental development
Increment 1: Login, Increment 2: Profile, Increment 3: Cart (adding new features)
Give an example of iterative development
Iteration 1: Basic login, Iteration 2: Faster login, Iteration 3: Better UX (improving the same feature)
What is Agile methodology?
A family of software development methodologies that produce software in short iterations and allow for greater changes in design, emphasizing flexibility and customer collaboration.
What are the 6 rephrased Agile principles covered in the lecture?
Short releases and iterations, 2. Incremental design, 3. User involvement, 4. Embrace change, 5. People not process, 6. Maintain simplicity
What does "Short releases and iterations" mean in Agile?
Divide work into small pieces, release software as often as possible, each release/sprint should have newer functionalities/bug fixes based on priorities.
What does "Incremental design" mean in Agile?
Don't complete design upfront because not enough is known early. Delay design decisions as much as possible and improve existing design when more knowledge is acquired.
What does "User involvement" mean in Agile?
Instead of producing formal, complete standards at the beginning, ask users to provide constant feedback. Customers should be closely involved throughout development.
What does "Embrace change" mean in Agile?
Expect system requirements to change and design the system to accommodate these changes.
What does "People, not process" mean in Agile?
Recognize and exploit the skills of the development team. Team members should develop their own ways of working without prescriptive processes.
What does "Maintain simplicity" mean in Agile?
Focus on simplicity in both the software being developed and the development process (including communication). Actively work to eliminate complexity from the system.
What does "sustainable pace" mean in Agile principles?
No more long hours or sleepless nights; replaced the 40 hours a week notion to prevent burnout and maintain productivity.
What are the 3 major concepts that drive RUP?
What are the 4 phases of RUP (in order)?
What happens during the Inception phase of RUP?
Planning phase that establishes: scope and goals, critical use cases, schedule and resources, implementation/testing methodologies, and potential risks.
What happens during the Elaboration phase of RUP?
Most critical phase where unknowns are resolved. Establishes: all major requirements, baseline design, platforms/methodologies, major test scenarios, and measurement metrics.
What happens during the Construction phase of RUP?
Production phase that: completes most implementation in timely manner, achieves releasable code version for restricted users, establishes remaining activities to complete goals.
What happens during the Transition phase of RUP?
Last phase before general release. Integrates all fixes and components, includes noncode artifacts (manuals, educational materials), establishes final product, user readiness, and deployment strategy.
Why is the Elaboration phase considered the most critical in RUP?
Because most of the unknowns should be resolved during this phase, establishing the foundation for successful construction.
What is Scrum?
A project management framework for creating, improving, and delivering high-quality products iteratively and incrementally, emphasizing teamwork, collaboration, communication, transparency, and continual improvement.
What are the 3 Scrum roles (committed members)?
What are the key responsibilities of the Product Owner?
Setting product vision, communicating with clients/stakeholders, managing product backlog (creating, ordering, communicating items), ensuring backlog transparency, and approving delivered sprints.
What are the key responsibilities of the Scrum Master?
Facilitating smooth communication between PO and dev team, ensuring team progress and deadline meeting, removing obstacles, ensuring team follows Scrum methodology, training and leading daily meetings.
What are the key responsibilities of the Development Team?
Executing sprints under PO's vision and SM's direction, turning Product Backlog items into valuable product functionality, managing progress during Sprint. Cross-functional with specialized skills.
Why must the Product Owner be a single person, not a committee?
To ensure clear decision-making, consistent vision, and accountability for the product backlog and product value.
What does "cross-functional" mean in the context of the Development Team?
Members from different areas/departments with specialized skills working together on the same team.
What are the 3 Scrum Artifacts?
What is a Product Backlog?
List of all features, functions, requirements, enhancements, and fixes to be made to the product in future releases. Maintained and managed by the Product Owner.
What attributes do Product Backlog items have?
Description, order, estimate duration, value, and test descriptions for completeness when "Done."
What are the 3 forms of Product Backlog items?
What is a User Story?
An informal statement expressing a small feature from the end-user's perspective while clearly showing the value. Format: "As a [role], I want to [action], so that I can [benefit]."
Give an example of a User Story
"As a Website Visitor, I want to login, so that I can access my expenses" OR "As a Website Visitor, I want to reset password, so that I can regain access."
What is an Action Task in Product Backlog?
Corresponds to an action item to be executed (e.g., "Implement UI for login with minimal design" or "Implement BL to verify authentication against internal DB").
What is an Epic in Product Backlog?
A set of stories that correspond to a major feature/component to be implemented.
What is a Sprint Backlog?
Composed of Sprint Goal + list of all work items (usually TASKS) that must be done by the end of the sprint timebox. Tasks are taken from product backlog, prioritized, and assigned during sprint planning.
What is a timebox in Scrum?
The time frame/duration that should not be exceeded to complete a task/sprint/meeting. Sprint timebox ranges from 2-4 weeks.
What is a Product Increment?
The set of all tasks, use cases, user stories, product backlog items that are developed during sprint(s), marked as completed based on "done definition," and made available to end users as software.
What are the 4 Scrum Ceremonies/Events?
What happens during Sprint Planning?
Takes place at start of Sprint to select items from Product Backlog for current Sprint. Attended by all members, chaired by PO. Addresses: Why is this Sprint valuable? What can be done? How will work get done?
What happens during Daily Scrum?
Daily brief 15-minute timebox meeting for developers. Each member discusses: What did I do yesterday? What will I do today? Are there any impediments in my way?
Who must attend Daily Scrum meetings?
Developers. PO and SM only attend if they are developers too.
What happens during Sprint Review?
Inspect Sprint outcome and determine future adaptations. Scrum Team presents results to stakeholders, discusses progress toward Product Goal, collaborates on what to do next. Timeboxed to max 4 hours for one-month sprint.
What happens during Sprint Retrospective?
Plan ways to increase quality and effectiveness. Team inspects how last Sprint went regarding individuals, interactions, processes, tools, and Definition of Done. Timeboxed to max 3 hours for one-month sprint.
What is the purpose of a Scrum Burndown Chart?
Track progress by showing estimated hours/points remaining over time. Used to predict if a sprint can be completed on time by computing Burndown Velocity (work completed / time elapsed).
What are the 5 values of Scrum?
What does "Commitment" mean in Scrum values?
Members commit to achieving goals and supporting each other.
What does "Focus" mean in Scrum values?
Primary focus is on the work of the Sprint to make the best possible progress toward goals.
What does "Openness" mean in Scrum values?
Team and stakeholders are open about work and challenges (share progress, information).
What does "Respect" mean in Scrum values?
Team members respect each other to be capable, independent people.
What does "Courage" mean in Scrum values?
Team members have courage to do the right thing and work on tough, challenging problems.
What is the Scrum term derived from and what does it represent?
Drawn from Rugby game indicating restarting play after stoppage. For software development, developers work as a team during each iteration, then restart fresh from the same point.
Why is Scrum more suited to current application trends?
Startup Apps and Mobile Apps are mostly needed in a short time of few months (not years), making Scrum's iterative, incremental approach ideal.
What is the difference between "Committed" and "Involved" members in Scrum?
Committed (Scrum Team): fully committed to project success, smaller teams of 10 or less, accountable for creating valuable increment. Involved: have interest in success (executives, customers) but not on core team.
What are the 12 principles of XP?
What is XP (Extreme Programming)?
The most widely used agile process that uses user stories, test-driven development, direct customer involvement, pair programming, and continuous code refactoring and integration.
What is Code Standard in XP?
Conventional recommendations of coding style to ensure consistency, readability, and maintenance (includes naming variables, exceptions, SQL syntax, indentation, constructing classes).
What is Refactoring in XP?
Process to change and restructure code without changing its behavior/functionalities. Aims to improve readability, maintenance, remove redundancy, ensure proper scope, no long functions, remove unnecessary logic.
What is Pair Programming in XP?
Two programmers operating on the same code and unit tests on the same system. One focuses on coding, the other reviews, inspects, suggests improvements, and fixes mistakes along the way.
Why does XP use Pair Programming?
Supports collective ownership and responsibility, acts as informal review process (each line looked at by at least two people), encourages refactoring to improve structure, readability, and maintainability.
What is Test-Driven Development (TDD) in XP?
Automated unit tests are written and created BEFORE the code itself. Every piece of code must pass the initially created test. Allows immediate feedback to produce reliable software.
What is Collective Code Ownership in XP?
The whole team is responsible for design and building. Each member with access can review and update code. Encourages cooperation and freedom to bring new ideas and features.
What is Continuous Integration (CI) in XP?
Developers integrate changes made every few hours or daily. After every code compilation and build, integrate it and execute all tests automatically for entire project (also known as Continuous Delivery).
What is Small Release in XP?
Teams release MVP quickly and keep developing with small, incremental updates/releases. Allows frequent feedback, early bug detection, and monitoring product in production.
What is Onsite Customer in XP?
Similar to Product Owner in Scrum. Customers/end-users fully participate in development, present all the time to answer questions, craft vision, set priorities, plan releases, define user stories/acceptance criteria.
What is Sustainable Pace in XP?
No overtime for employees. Refactoring and reviewing code helps staff relax, be at same pace, and refresh minds about what's done.
What is System Metaphor in XP?
A story everyone (customers, programmers, managers) can tell about how the system works. Uses naming concepts for classes/methods that make it easy to guess functionality from name only.
What is Simple Design in XP?
Team won't do complex or big architecture upfront; starts with simple design that emerges and evolves over iterations. Ensures working MVP initially, then adds features in coming iterations.
What is Planning Game in XP?
Meeting at beginning of iteration cycle where development team and customer discuss and approve product features. At end: developers plan for upcoming iteration/release and assign tasks.
What are 3 benefits of XP?
Stable system, clear/clean code, fast delivery of features, no overtime, better collaboration, good transparency, customer satisfaction (any 3 from list)
What are 3 drawbacks of XP?
Unclear estimates (hours, budget, duration), time waste, lack of documentation, pair programming can take longer, code over design, lack of long-term vision (any 3 from list)
What are the 2 major problems for Agile methodologies?
Why was the plan-and-document approach problematic for software?
Often verbose documentation of limited use, rarely used during implementation. By the time system is ready after 1 year of requirements, 1 year design, 1 year implementation, it may already be obsolete.
What is the key principle for choosing a process model?
There is no best software process. No process works well for every project. Processes must be selected, adapted, re-adjusted, and applied as appropriate for each project, team, and organizational context.
Compare how Agile vs Traditional processes handle changes
Traditional processes resist changes late in development (high cost to change). Agile processes embrace changes throughout development (designed to accommodate changes with lower cost).
Why does Agile value responding to change over following a plan?
The world changes—technologies evolve, markets shift, user needs grow. Plans should evolve too. If user priorities change, Agile teams adjust work instead of insisting on finishing the original plan.
Why does Agile prioritize customer collaboration over contract negotiation?
Requirements change, and direct collaboration ensures the product always meets real needs of users. Continuous collaboration ensures product meets real needs better than rigidly sticking to signed contract.
Why do Agile teams value individuals and interactions over processes and tools?
Great software comes from collaboration, creativity, and quick feedback, not from blindly following rigid workflows. Daily stand-up meetings and team discussions are more valuable than just ticketing systems or long reports.
What is the relationship between Product Increments in Scrum?
Product increments should build upon each other until the team completes the project. Each increment adds value and functionality to previous increments.
How does the Sprint Goal help the Scrum team?
It keeps the team focused. When tempted to add features, they ask "Does this help us achieve the Sprint Goal?" This keeps them on track and prevents scope creep.
Why is Product Backlog refinement important?
It's the act of breaking down and defining Product Backlog items into smaller, more precise items. Helps ensure items are well-defined before Sprint Planning, reducing confusion during sprint execution.
What is the difference between Sprint Review and Sprint Retrospective?
Sprint Review: inspect product outcome, present to stakeholders, determine future adaptations (WHAT was built). Sprint Retrospective: inspect process, how team worked, plan improvements (HOW we worked).
Why are Scrum ceremonies held at same time and place?
To reduce complexity and create consistency. Regular rhythm helps team plan and reduces overhead of scheduling.
What makes the Development Team "self-organizing" in Scrum?
They decide how to turn Product Backlog items into increments, manage their own progress during Sprint, and adjust their plan based on daily discussions without needing external direction for execution details.
Why is XP called "eXtreme"?
It takes good programming practices to extreme levels: if code review is good, review constantly (pair programming); if testing is good, test all the time (TDD); if integration is good, integrate continuously.
TRUE or FALSE: In RUP, phases are named after activities like design, testing, or coding.
FALSE. Phases are Inception, Elaboration, Construction, and Transition. An iteration may include many activities in varying degrees within each phase.
TRUE or FALSE: In Scrum, the Product Owner can be a committee of people.
FALSE. Product Owner MUST be a single person, not a committee, to ensure clear decision-making and accountability.
TRUE or FALSE: Daily Scrum meetings must include the Product Owner and Scrum Master.
FALSE. Daily Scrum is for developers only. PO and SM attend only if they are also developers.
TRUE or FALSE: In XP, unit tests are written after the code is completed.
FALSE. In Test-Driven Development (TDD), automated unit tests are written and created BEFORE the code itself.
TRUE or FALSE: Agile methodologies have no value for documentation.
FALSE. The Agile Manifesto states "while there is value in the items on the right, we value the items on the left more." Documentation has value, but working software is prioritized.
TRUE or FALSE: Sprint Backlog cannot be modified once Sprint Planning is complete.
FALSE. Depending on project state, tasks may be added to, removed from, or re-prioritized in the sprint backlog during the sprint.
TRUE or FALSE: Refactoring in XP means changing the code's behavior/functionality.
FALSE. Refactoring is changing and restructuring code WITHOUT changing its behavior/functionalities.
TRUE or FALSE: Incremental development means improving existing features.
FALSE. Incremental development means adding NEW functionality step by step (building more parts). Iterative development means improving existing features.
TRUE or FALSE: There is one best software process that works for all projects.
FALSE. There is no best software process. No process works well for every project. Processes must be selected and adapted for each specific context.
TRUE or FALSE: In Scrum, the Scrum Master manages the Product Backlog.
FALSE. The Product Owner is responsible for managing the Product Backlog. The Scrum Master facilitates the process and removes impediments.