Upcoming SlideShare
Loading in …5
×

# Six Blind Men And An Elephant

3,522 views
3,274 views

Published on

Like the blind men in the familiar parable, business analysts are at risk of drawing false conclusions about requirements when they rely on a single perspective. This presentation illustrates the importance of using multiple model views to get a complete picture of the required solution.

Published in: Career
0 Comments
1 Like
Statistics
Notes
• Full Name
Comment goes here.

Are you sure you want to Yes No
Your message goes here
• Be the first to comment

No Downloads
Views
Total views
3,522
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
• WelcomeInvite people to ask questions during the presentation.
• Ancient fable from IndiaPoem by John Godfrey Saxe (19th century English poet)It was six men of IndostanTo learning much inclined,Who went to see the Elephant(Though all of them were blind),That each by observationMight satisfy his mind.I’ll spare you the rest of the poem, suffice it to say…Each blind man touched a different part of the elephant, and never having encountered such a creature before, attempted to describe it to the others…
• First blind man touches the Side (broad and sturdy) = Wall
• Second blind man touches the Tusk (round, smooth and sharp) = Spear
• Third blind man touches the Trunk(squirming) = Snake
• Fourth blind man touches the Knee= Tree
• Fifthblind man touches the Ear= Fan
• Sixth blind man touches the Tail(swinging) = Rope
• And so these men of IndostanDisputed loud and long,Each in his own opinionExceeding stiff and strong,Though each was partly in the right,And all were in the wrong!Like the blind men in the parable, business analysts are at risk of drawing false conclusions about requirements when they rely on a single perspective. To get a complete picture of the problem area undergoing analysis, BAs must use multiple models that capture complementary views of the domainOnly together do these models form a true picture of reality
• What is a model?Models are a representation and simplification of reality developed to convey information to a specific audienceto support analysis, communication and understanding. (BABOKGlossary)Is everyone here familiar with the BABOK?Can anyone guess how many times the word “Model” appears in the BABOK? -- 294 (give or take a few – counted by hand)Task 6.3 of Requirements Analysis knowledge area: Specify and Model Requirements
• Models may be either textual or graphical, or some combination of both.Which is better, textual or graphical?Has anyone ever had to assemble something following text-only directions with no pictures?How about directions that are all pictures with no words (IKEA)?SIMPLE ANSWER: Whichever best creates understanding among stakeholdersBABOK: Whether or not a diagram is used in place of or in addition to a textual description is often determined by the audience for the information, as well as the level of detail in a particular model. BABOK: The use of models following a standardized notation can help overcome language barriers by eliminating the need for many textual descriptions.
• Models can:Describe a situation or define a problemDefine boundaries for business domains and sub-domains, and describe the components within each defined boundaryDescribe thought processes and action flowsCategorize and create hierarchies of itemsShow components and their relationshipsShow business logicModels may be used not only to document requirements in their final form, but also as a tool while performing elicitation activities.
• BABOK: Model Selectionthe objective of developing a model is to simplify reality in a way that is usefulNo single model can be a complete description of reality;It will usually be beneficial to create multiple models of and perspectives on the requirements in order to ensure understanding, although any given requirement should only appear in one model in order to avoid confusion or contradictions. Model ViewsBehaviour: process, action, function, task, procedure Structure: data or objects and how they relate to each otherDynamics: time, lifecycleControl: business rules that constrain the other threeEach model represents a different view into the reality of the business domain. It is usually necessary to develop multiple models using different modeling techniques to completely analyze and document requirements. The business analyst must determine which types of models will be required to describe the solution scope and meet the informational needs of stakeholdersThe choice of which model(s) to use for a particular set of requirements is determined by the type of information to be communicated, as well as the audience who will consume the information. Now I’m going to show you examples of different types of diagrams for each of the model views. Where possible, I will always start with the UML notation since it covers almost every view.Is everyone familiar with UML (Unified Modeling Language)?
• To highlight the differences between model views and techniques, I’ve used the same domain, that of registering for an IIBA Chapter meetingUML: Use Case DiagramA use case diagram visually depicts the use cases supported by a system, the actors who trigger those use cases, and relationships between the use cases.Each use case represents a discrete set of functionality that brings value to an actorUse cases are good at clarifying scope and providing a high-level understanding of user behavioral goals, normal situations, alternatives or exception paths through an activity or business process. Alternates: Scenarios (represents one path through a use case)User Stories (represents one instance of a scenario) -- AgileNote: UML does not define notation for use case specification, but without the text the model doesn’t tell us muchThe way UML captures this information is through Activity Diagrams and Sequence Diagrams
• UML: Activity DiagramBABOK: A model that illustrates the flow of processes and/ or complex use cases by showing each activity along with information flows and concurrent activities. This diagram shows the process for preregistering for an IIBA chapter eventNotation Elements.Activities: The individual steps or pieces of work that must be completed in order to execute the business process. May be a single task or be decomposed into a subprocessDecisions (gateways): Forks where the flow of work proceeds in two or more flows and, optionally, where separate flows merge together. A decision may create mutually exclusive or parallel flows. Events: Events occur outside the scope of a process and may be the result of actions taken, messages received, or the passage of time. Events may create, interrupt, or terminate processes. Flow: Indicate the direction of the step-by-step sequence of the workflow. Terminal Points: Represent the beginning or end of a process or process flow. Alternates: Workflow diagram (classic flowchart)BPMN (Business Process Modeling Notation)
• Business Process Modeling Notation (BPMN) is a popular alternative to Activity DiagramsNotation is very similarBPMN can show messaging while UML cannotBPMN can be machine executed? (verify)Both standards emerged around the same time and both are maintained by the Object Management Group (OMG)Note: Swimlanes can be applied to Activity and BPMN diagrams as well as classic flowcharts
• UML: Sequence DiagramPurposeSequence diagrams are used to model the logic of usage scenarios, by showing the information passed between objects in the system through the execution of the scenario. Description A sequence diagram shows how classes and objects interact during a scenario. The classes required to execute the scenario are displayed on the diagram, as are the messages they pass to one another (triggered by steps in the use case). The sequence diagram shows how objects used in the scenario interact but not how they are related to one another. Sequence diagrams are also often used to show how user interface components or software components interact.Key FeaturesThe sequence diagram shows particular instances of each object with a lifeline beneath each object to indicate when the object is created and destroyed. The earliest events in the scenario are depicted at the top of the lifeline, with later events shown further down. The sequence diagram only specifies the ordering of events and not the exact timing. The sequence diagram shows the stimuli flowing between objects. The stimulus is a message and the arrival of the stimulus at the object is called an event. A message is shown as an arrow pointing from the lifeline of the object sending the message to the lifeline of the object receiving it.
• UML: Class DiagramClass ModelA type of data model that depicts information groups as classes (and the relationships among them)ClassA descriptor for a set of system objects that share the same attributes, operations, relationships, and behavior. A class represents a concept in the system under design. When used as an analysis model, a class will generally also correspond to a real-world entity.Alternates: Entity Relationship DiagramData Dictionary
• UML: Class DiagramWhat it shows: Alternate: Entity Relationship DiagramData Dictionary
• State DiagramsA state diagram shows how the behavior of a concept, entity or object changes in response to events.A state diagram specifies a sequence of states that an object goes through during its lifetime, and defines which events cause a transition between those states. There are many titles for the state diagram including State Machine Diagram, State Transition Diagram, and Entity Life Cycle Diagram.
• Data Flow DiagramsPurpose: To show how information is input, processed, stored, and output from a system.Description: The Data Flow Diagram (DFD) provides a visual representation of how information is moved through a system. It shows the:External Entities that provide data to, or receive data from, a systemThe Processes of the system that transform dataThe Data Stores in which data is collected for some period of timeThe Data Flows by which data moves between External Entities, Processes and Data StoresAn asterisk within the process is used to identify data processes that have further decomposition models.
• UML:?????????What it shows: Alternate:Business RulesDecision TablesDecision Trees
• What it shows: Alternate:Business RulesDecision TablesDecision Trees
• UML:?????????What it shows: Alternate:Business RulesDecision TablesDecision Trees
• The previous model types can be used to depict both the high-level and detailed views of the problem or solution.Scope ModelingScope models are used to describe the scope of analysis or the scope of a solution.Scope models serve as a basis for defining and delimiting the scope of business analysis and project work. Scope models allow the definition of a “complete” scope—that is, the boundaries of the scope correspond with the natural boundaries of a business domain.There are many different standards for scope modeling. In general, the scope model selected will depend on the analysis techniques selected to further explore the scope.
• One of the most common is a context diagram top-level data flow diagramIt uses a single data process to describe the scope and shows the external entities and data stores that provide data to and receive data from the system. Context diagrams are still used on many projects that do not otherwise use data flow diagrams.External events happen in an External Entity. They are external to the boundaries of the system being studied (a customer makes a request, a partner sends a message).Temporal events are driven by time (e.g. monthly or annual reports). The time is determined by time-related business rules (e.g. produce this report at the end of every day, or prepare a tax return at the end of each tax period).When events have been identified, the next question asked is “What processes are required to provide a complete response to this event?” The answers to this question identify the processes of the system. These processes may then be documented, and further analyzed, using an appropriate process modeling technique.Alternatives:Features -- a service that the solution provides to fulfill one or more stakeholder needs. Features are high-level abstractions of the solution that must later be expanded into fully described functional and supplemental requirements. They allow for early priority and scope management and for validating the stakeholders’ view of the solution.Business Use Case Diagram -- visually depicts the use cases required by the business and defines those supported by a system, as well as the actors who trigger those use cases, and relationships between the use cases.Business Process -- A high-level business process model may also be used as a scope model.
• One of the most common is a context diagram top-level data flow diagramIt uses a single data process to describe the scope and shows the external entities and data stores that provide data to and receive data from the system. Context diagrams are still used on many projects that do not otherwise use data flow diagrams.External events happen in an External Entity. They are external to the boundaries of the system being studied (a customer makes a request, a partner sends a message).Temporal events are driven by time (e.g. monthly or annual reports). The time is determined by time-related business rules (e.g. produce this report at the end of every day, or prepare a tax return at the end of each tax period).When events have been identified, the next question asked is “What processes are required to provide a complete response to this event?” The answers to this question identify the processes of the system. These processes may then be documented, and further analyzed, using an appropriate process modeling technique.Alternatives:Features -- a service that the solution provides to fulfill one or more stakeholder needs. Features are high-level abstractions of the solution that must later be expanded into fully described functional and supplemental requirements. They allow for early priority and scope management and for validating the stakeholders’ view of the solution.Business Use Case Diagram -- visually depicts the use cases required by the business and defines those supported by a system, as well as the actors who trigger those use cases, and relationships between the use cases.Business Process -- A high-level business process model may also be used as a scope model.
• One of the most common is a context diagram top-level data flow diagramIt uses a single data process to describe the scope and shows the external entities and data stores that provide data to and receive data from the system. Context diagrams are still used on many projects that do not otherwise use data flow diagrams.External events happen in an External Entity. They are external to the boundaries of the system being studied (a customer makes a request, a partner sends a message).Temporal events are driven by time (e.g. monthly or annual reports). The time is determined by time-related business rules (e.g. produce this report at the end of every day, or prepare a tax return at the end of each tax period).When events have been identified, the next question asked is “What processes are required to provide a complete response to this event?” The answers to this question identify the processes of the system. These processes may then be documented, and further analyzed, using an appropriate process modeling technique.Alternatives:Features -- a service that the solution provides to fulfill one or more stakeholder needs. Features are high-level abstractions of the solution that must later be expanded into fully described functional and supplemental requirements. They allow for early priority and scope management and for validating the stakeholders’ view of the solution.Business Use Case Diagram -- visually depicts the use cases required by the business and defines those supported by a system, as well as the actors who trigger those use cases, and relationships between the use cases.Business Process -- A high-level business process model may also be used as a scope model.
• One of the most common is a context diagram top-level data flow diagramIt uses a single data process to describe the scope and shows the external entities and data stores that provide data to and receive data from the system. Context diagrams are still used on many projects that do not otherwise use data flow diagrams.External events happen in an External Entity. They are external to the boundaries of the system being studied (a customer makes a request, a partner sends a message).Temporal events are driven by time (e.g. monthly or annual reports). The time is determined by time-related business rules (e.g. produce this report at the end of every day, or prepare a tax return at the end of each tax period).When events have been identified, the next question asked is “What processes are required to provide a complete response to this event?” The answers to this question identify the processes of the system. These processes may then be documented, and further analyzed, using an appropriate process modeling technique.Alternatives:Features -- a service that the solution provides to fulfill one or more stakeholder needs. Features are high-level abstractions of the solution that must later be expanded into fully described functional and supplemental requirements. They allow for early priority and scope management and for validating the stakeholders’ view of the solution.Business Use Case Diagram -- visually depicts the use cases required by the business and defines those supported by a system, as well as the actors who trigger those use cases, and relationships between the use cases.Business Process -- A high-level business process model may also be used as a scope model.
• Summary and conclusion:Like the blind men in the parable, business analysts are at risk of drawing false conclusions about requirements when they rely on a single perspective. This presentation illustrated the importance of using multiple models views to get a complete understanding of the problem or solution. The different model views each answer a distinct question (who, what, when, why and how) about the problem. Each model view can also be described at varying levels of granularity, from scope to high-level to detailed.Finally, a variety of techniques are available to document each of the model types. UML covers almost all of them all but other types are also possible for certain views.It is only by using these complimentary model views at different levels of detail that the business analyst avoids making blind assumptions about requirements, Failing do so creates a risk of ending up with a “white elephant” as a solution.
• ### Six Blind Men And An Elephant

1. 1. Six Blind Men and an Elephant<br />Using Multiple Models to Get a Complete View of Requirements<br />Gary Bellamy http://ca.linkedin.com/in/garybellamy<br />
2. 2. The Fable<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
3. 3. An Elephant is like a Wall!<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
4. 4. An Elephant is like a Spear!<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
5. 5. An Elephant is like a Snake!<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
6. 6. An Elephant is like a Tree!<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
7. 7. An Elephant is like a Fan!<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
8. 8. An Elephant is like a Rope!<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
9. 9. Multiple Views<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
10. 10. What is a Model?<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
11. 11. Model Formats<br />BODY<br />EAR<br />TUSK<br />LEG<br />TAIL<br />TRUNK<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
12. 12. Why Model?<br /><ul><li>Describe situation or define problem
13. 13. Define domainboundaries and components
14. 14. Describe thought processes and action flows
15. 15. Categorize and create hierarchies
16. 16. Show components and their relationships
17. 17. Show business logic</li></ul>http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
18. 18. Model Views<br />Control<br />Source: EBG Consulting<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
19. 19. Behavior View<br />UML: Use Case Diagram (and Specification)<br />ID: UC1<br />Name: Submit Registration<br />Description: Registrant reviews event information and, based on interest and availability, preregisters for the event.<br />Precondition: Promotional email received<br />Basic Flow:<br />Registrant checks topic<br />Registrant checks speaker<br />Registrant Likes topic and speaker<br />Registrant checks availability at event date and time<br />Registrant is available <br />Registrant notifies registrar of intent to attend event.<br />Post-condition<br />Registrant is pre-registered<br />Exception 1:<br />Registrant does not like topic <br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
20. 20. Behavior View<br />UML: Activity Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
21. 21. Behavior View<br />Business Process Modeling <br />Notation (BPMN)<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
22. 22. Behavior View<br />UML: Sequence Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
23. 23. Structure View<br />UML: Class Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
24. 24. Structure View<br />Entity Relationship Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
25. 25. Dynamics View<br />UML: State Machine Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
26. 26. Dynamics View<br />Data Flow Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
27. 27. Control View<br />Structured English<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
28. 28. Control View<br />Decision Table<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
29. 29. Control View<br />Decision Tree<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
30. 30. Model Levels<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
31. 31. Scope Level<br />Context Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
32. 32. Scope Level<br />UML: Business Use Case Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
33. 33. Scope Level<br />UML: Business Use Case Diagram<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
34. 34. Scope Level<br />UML: Domain Model<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />
35. 35. Don’t capture requirements blindly<br />http://ca.linkedin.com/in/garybellamy<br />Gary Bellamy<br />