This document discusses using agile methodologies for requirement determination in system analysis. It describes continual user involvement, agile usage-centered design, and eXtreme Programming's planning game as agile methods. Continual user involvement removes stereotypes by involving users throughout analysis and design through iterative feedback. Agile usage-centered design develops paper prototypes of user interfaces through a 9 step process. eXtreme Programming's planning game involves a business player and development player who collaborate through exploration, commitment, and steering phases to choose tasks and adjust plans. The outcome is a system requirement specification document describing features, behavior, and requirements of the system.
2. Background
Objectives of system analysis phase is requirement determination and
requirement structuring
Traditional methods like interviewing, direct observation for requirement
determination
Enhanced methods include JAD, Prototyping
One of the prevalent method is Agile methodology.
4. Continual User Involvement
Removes user involvement stereotype of Waterfall model
Involve user in entire analysis and design phase
Analysis-design-code-test cycle
Feedback from user
Iterative process
User must be in a position to give up his/her normal responsibilities to
involve entirely on system’s development.
Useful only for small development projects
5. Agile Usage-Centered Design
Adapted by Jeff Patton for agile methodologies in 9 steps:
1. Gather group of IS developing team including analysts, users, programmers, testers
etc.
2. Record the suggestions and complaints from each of them called venting session.
3. Determine what tasks requires user roles and develop a role model of users on a 3*5
cards.
4. Sort the cards in terms of priority and similarity
5. Group the task card based on the similarity and grab a stack of card. This is called
interaction context.
6. For each interaction context, write the task description directly on the card.
7. Treat each task as a tentative set of tasks to be supported by a single aspect of user
interface and develop a paper prototype for that interface. Hence prototyped
screens of captured requirements are created.
8. Bring out the users and let users evaluate the prototype.
9. Refine requirements accordingly.
6. eXtreme Programming:
The Planning Game
Two-person programming teams coding parallelly
A Customer on-site during development
Planning, analysis, design and construction are fused into single phase
Way of determining requirements and specifications is Planning Game
The planning game includes 2 players: Business and Development
Planning game has 3 phases: Exploration, Commitment and Steering.
7. Exploration Commitment
Sorts the stories
according to
necessity
Sorts the stories
according to risk
[Task is chosen by
the business and
carried out by
development.]
Steering
Reviews Progress
[Both the team
adjust a new plan ]
Business
Development
Writes a Story card
according to
necessity of the
system
Provides an estimate
from their own
perspective
8. System Requirement Specification
Outcome of requirement determination phase
Document that describes features and behavior of system
Includes functional requirements, technical requirements, constraints,
assumptions and acceptance criteria, business drivers, business model
Non-functional requirements like security, training techniques are also
included
Cost, delivery schedules, product assurance plans like configuration
management, verification and validation procedures are not included