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.
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.
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
CuestionariosCuestionarios
Early stages
TaskTask AnalysisAnalysis
DomainDomain AnalysisAnalysis IntrospectionIntrospection
RepertoryRepertory GridsGrids, , CardCard sortingsorting, , LadderingLaddering Técnicas GrupalesTécnicas Grupales
Group WorkBrainstormingJoint Application Development (JAD)Requirements Workshops
EthnographyEthnography, , ObservationObservation ProtocolProtocol AnalysisAnalysis, , ApprenticingApprenticing
PrototypingPrototyping Goal Based Approaches, Scenarios, Goal Based Approaches, Scenarios, ViewpointsViewpoints
EntrevistasEntrevistas
EntrevistasEntrevistas
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)
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
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
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