ingeniería de requerimientos-clase05 · ingeniería de requerimientos uaq requirements elicitation...

10
Ingeniería de Requerimientos Ingeniería de Requerimientos UAQ Requirements Requirements Elicitation Elicitation Definición Definición The process of identifying the needs and constraints of the various stakeholders for a software system. Elicitation focuses on discovering the user requirements. The process of seeking, uncovering, acquiring, and elaborating requirements for computer based systems. It is generally understood that requirements are elicited rather than just captured or collected. This implies there are discovery, emergence, and development elements in the elicitation process.

Upload: others

Post on 16-Oct-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

Ingeniería de RequerimientosIngeniería de Requerimientos

UAQ

RequirementsRequirements ElicitationElicitation

DefiniciónDefinición

The process of identifying the needs and constraints of the various stakeholders for a software system. Elicitation focuses on discovering the user requirements.

The process of seeking, uncovering, acquiring, and elaborating requirements for computer based systems. It is generally understood that requirements are elicited rather than just captured or collected. This implies there are discovery, emergence, and development elements in the elicitation process.

Page 2: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

Retos en la obtención de Retos en la obtención de RequerimientosRequerimientos

Los síndromes según MadiganThe “Yes, But” syndrome stems from human nature and the users inability to experience the software as they might a physical device.The Undiscovered Ruins syndrome, the more you find, the more you realize still remain“User and Developer” syndrome reflects the profound differences between the two, making communication difficult.“The sins of your predecessors” syndrome where marketing (user) and developers do not trust each other based on previous interactions, so marketing wants everything and developers commit to nothing.

TheThe “Yes, But” syndrome “Yes, But” syndrome

First time users see the system the first reaction is either, “wow this is so cool” or “Yes, but, hmmmmm, now that I see it, what about this…? Wouldn’t it be nice …?Users reaction is simply human natureNeed to employ techniques that get the “yes, buts” out early.Anticipate that there will be “yes, buts” and add time and resources to plan for feedback.Tends to be User Interface centric, these tend to be the touch points of the system by the users.

TheThe “Undiscovered Ruins” “Undiscovered Ruins” SyndromeSyndrome

Teams struggle with determining when they are done with requirements elicitation.

Is done when all the requirements are elicited or have they found at least enough?Like asking an archeologist “how many undiscovered ruins are there?”

First scope the requirements elicitation effort by defining the problem or problems that are to be solved with the system.Employ techniques that help find some of those ruins and have the stakeholders buy-into the requirements.

The “User and the Developer” The “User and the Developer” SyndromeSyndrome

CharacteristicUsers do not know what they want, or they know what they want but cannot articulate it.Users think they know what they want until developers give them what they said they wanted.Analysts think they understand user problems better than users do.Everybody believes everybody else is politically motivated.

ResponseRecognize and appreciate the user as domain experts; try different techniques.Provide alternative elicitation techniques earlier; storyboard, role playing, prototypes, and so on.Put the analyst in the users place. Try role playing for an hour or a day.Yes, its part of human nature, so lets get on with the program.

Page 3: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

The “Living with the Sins of your The “Living with the Sins of your Predecessors” syndromePredecessors” syndrome

Like it or not your users (marketing) and developers remember what happened in the past.Quality programs that promised things would be different.The last project where requirements were vague and/or were delivered short of expectations.The team “unilaterally” cut important features out of the last release.Need to build trust, slowly. Do not over commit to features, schedule, or budget.Build success by delivering highest priority features early in the process.

RequirementsRequirements ElicitationElicitation

Técnicas

TécnicasTécnicas

InterviewsQuestionnairesTask AnalysisDomain AnalysisIntrospectionRepertory GridsCard SortingLadderingGroup WorkBrainstormingJoint ApplicationDevelopment (JAD)

RequirementsWorkshopsEthnographyObservationProtocol AnalysisApprenticingPrototypingGoal BasedApproachesScenariosViewpoints

EntrevistasEntrevistas

Used for eliciting Used for eliciting detailed detailed

information from information from an individualan individual

Page 4: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

CuestionariosCuestionarios

Early stages

TaskTask AnalysisAnalysis

DomainDomain AnalysisAnalysis IntrospectionIntrospection

Page 5: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

RepertoryRepertory GridsGrids, , CardCard sortingsorting, , LadderingLaddering Técnicas GrupalesTécnicas Grupales

Group WorkBrainstormingJoint Application Development (JAD)Requirements Workshops

EthnographyEthnography, , ObservationObservation ProtocolProtocol AnalysisAnalysis, , ApprenticingApprenticing

Page 6: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

PrototypingPrototyping Goal Based Approaches, Scenarios, Goal Based Approaches, Scenarios, ViewpointsViewpoints

EntrevistasEntrevistas

EntrevistasEntrevistas

Page 7: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

EntrevistasEntrevistas EntrevistasEntrevistas

EstructuradasEstructuradas

NoNo--estructuradasestructuradas

SemiSemi--estructuradasestructuradas

EntrevistasEntrevistas

Rich collection of information

Good for uncovering opinions, feelings, goals, as well as

hard factsCan probe in depth, &

adapt follow up questions to what the

person tells you

Large amount of qualitative data can be hard to analyze

Hard to compare different

respondents

Interviewing is a difficult skill to

master

EntrevistasEntrevistas

Unanswerable questionsTacit knowledge (and post-hoc rationalizations)Removal from contextInterviewer’s attitude may cause bias (e.g. variable attentiveness)

Page 8: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

Fases de la EntrevistaFases de la Entrevista

Identifying Identifying candidatescandidates

Conducting Conducting the interviewthe interview

Preparing for Preparing for an interviewan interview

Following upFollowing up

I. Identificando a los candidatosI. Identificando a los candidatosUse the “Identifying Stakeholders” Questionnaire

Start with the person who has authorized or is sponsoring the project

Use the organization chart to identify other relevant people –those who know why the system is being build and who will use it

II. PreparaciónII. Preparación

Making arrangementswith the people to beinterviewed

Preparing a listof questions

PreparaciónPreparación

Making arrangementsSchedule in advanceMake the interviewees aware of the goals of the interviewGive them any relevant materialsRemind them a day or two in advanceSecure permission for recording on audio o video type in advance

Page 9: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

PreparaciónPreparación

Preparing a list of questionsUse the general ideas as guidanceOrganize the list of questions into a logical order and arrange it as groups of questions about related issuesDecide how much time to devote to each issueYou can not prepare all the questions in advance; use the information you get during the interview to create additional questions as you go

EjecuciónEjecución

Beginning the interviewIntroduce yourselfReview the goalsExplain any mathematical or graphical notations that you might use

General guidelinesImprove your understanding by summarizing, rephrasing, showing implicationsBe an active listenerBe courteous; keep the interviewee at easeRemain in control; bring the interview back on trackUse non-verbal communication techniques

Keeping the process visible

Ejecución Ejecución

Qué y Como Preguntar

EjecuciónEjecución

Putting questions in contextAvoid switching context too often – it prologs the interview and increases the confusionExplicitly state the new context

Page 10: Ingeniería de Requerimientos-Clase05 · Ingeniería de Requerimientos UAQ Requirements Elicitation Definición zThe process of identifying the needs and constraints of the various

EjecuciónEjecución

Checking for errorsCheck for errors periodically, recognize when they occur, and correct them

Most common kinds of errorsObservational errorsRecall errorsInterpretation errorsFocus errorsAmbiguitiesConflictsFacts that are simply not true

CierreCierre

Interview ends when

Leave 5 - 10 minutes for summarizing and consolidatingDescribe briefly the major issues that you believe have adequately explored and those issues that you believe require additional informationExplain the follow up actions that will be takenSolicit and answer questions about the interview, the follow up actions, and what will happen with the information collected

Thank the interviewee for the time and effort

SeguimientoSeguimiento

Send the interviewee the written expression of thanksProduce a written summary of the interviewReorganize or reorder the topics discussedConsolidate related informationUncover ambiguities, confronting information, or missing informationGive the interviewee the copy of the summary and request confirmation that the summary reflects the information exchangedReview the procedures used to prepare for and conduct the interview; find a way to improve the process in the future