Home|Contents|Prev|Next|Chat


CSC 715 Answers 2 - L3 Agile + L4 Requirements I

SE-L3Q1 Agile Manifesto and principles

Values: individuals and interactions over processes/tools; working software over documentation; customer collaboration over contract negotiation; responding to change over following a plan. Sommerville's five principles: customer involvement, incremental delivery, people not process, embrace change, maintain simplicity.

SE-L3Q2 Extreme Programming (XP) practices

User stories, continuous integration, test-first development (TDD), pair programming, collective ownership, simple design, refactoring, sustainable pace. Most important (arguably): TDD - think first, immediate feedback, built-in regression suite.

SE-L3Q3 Scrum

Short fixed sprints (2-4 weeks). Roles: Product Owner (backlog/priorities), Scrum Master (facilitates, removes obstacles), Development Team. Activities: Sprint Planning, Daily Scrum, Sprint Review, Retrospective.

SE-L3Q4 Plan-driven vs agile

Plan-driven: detailed up-front planning/documentation, sequential, change is expensive. Agile: iterative, customer involved, working software early, change expected. Choose plan-driven for stable requirements / safety-critical or large distributed systems; agile for uncertain requirements, involved customer, small experienced team, rapid delivery.

SE-L3Q5 Scaling agile to large systems

Challenges: coordination across teams, shared architecture, complex requirements, culture expecting plans. Adaptations: Scrum of Scrums, architectural roles, more formal interface documentation, hybrid approaches.

SE-L4Q1 User vs system requirements

User requirements: high-level natural-language statements of services and constraints for customers/managers. System requirements: detailed descriptions for developers/testers. Two levels bridge the abstract view and the precise detail.

SE-L4Q2 Functional vs non-functional

Functional: what the system does (e.g. "search the appointments list"). Non-functional: constraints on the system/process - performance, security, usability, reliability (e.g. "respond within 2 seconds").

SE-L4Q3 Four elicitation techniques

  1. Interviews - flexible; interviewees may not know/withhold.
  2. Scenarios - easy for users to criticise; may miss exceptions.
  3. Use cases - standard for functional; weak for non-functional.
  4. Ethnography - reveals real practice; time-consuming.

SE-L4Q4 Requirements validation

Checks the requirements are what the customer wants, complete, consistent and realistic; important because late fixes are expensive. Techniques: reviews/inspections, prototyping, test-case generation.

SE-L4Q5 Ethnography: contribution and limits

Observe people at work to reveal implicit knowledge, work-arounds and social factors. Limits: time-consuming, observer may change behaviour, cannot reveal future-system requirements.


Home|Contents|Prev|Next|Top|Chat