1 The Business End of Data Modeling Bob Lambert [email protected], @boblambert12October 30, 2014 SQL Server Users Group Lynchburg, Virginia
2 Introductions Bob Lambert>20 years in app dev, data warehousing, and project management Data modeling, Transact SQL, Oracle PL/SQL, requirements definition CapTech Data Management, Systems Integration, IT Management Consulting Charlotte, Richmond, Washington, Baltimore, Philadelphia Web:
3 The Business End of Data ModelingThe requirements side of data modeling and how it prepares you the database developer to design and build the right solution. When critical business definition elements are missing what you the database professional can do to produce a successful result. © 2008 CapTech Ventures, All rights reserved.
4 Look like a project you’ve been on?© 2008 CapTech Ventures, All rights reserved.
5 Standish Group Study of Project OutcomesSuccess: The project is completed on-time and on-budget, with all features and functions as initially specified. Challenged: The project is completed and operational but over-budget, over the time estimate, and offers fewer features and functions than originally specified. Failed: The project is canceled at some point during the development cycle.
6 Standish’s conclusion“The three major reasons that a project will succeed are user involvement, executive management support, and a clear statement of requirements.”
7 What are requirements? A shared vision of desired project outcomeDocumented cost/benefit impact Endorsed by a business sponsor and supported by key participants Consensus scope, objectives, and constraints, including Definition of system boundaries and interfaces Identification of key constraints Definition of the business processes and information required to achieve objectives Identification of the IT application’s role in business processes and information management Process automation Data management
8 Projects often shortchange the Information part of requirementsAlthough there are exceptions, in my experience, Business Requirements Document Templates often lack Data Model sections Projects applying object-oriented approaches often focus on behavior via Use Case analysis. Class models tend not to factor business concepts into normalized units. Business reengineering is a process-based technique that often omits data-focused analysis. Application Projects often feature the “data person” who does all the “data stuff”, while responsibility for functional requirements are shared among the entire team Agile teams sometimes focus on minimal requirements analysis in favor of delivery of perceived value on time
9 Data Requirements: The Logical Data ModelA graphical representation of People, places, things, and events of interest to the organization (entities) Core business rules governing business entities, the relationships between them Characteristics (attributes) of business entities and relationships Independent of any physical implementation A logical data model can be at different levels of detail Conceptual – a general view of business concepts High level –further detail, still accessible to a broad audience Low level – detailed and precise (Names of data model levels vary from source to source) Any resemblance of this data model example to CapTech’s internal practices is purely accidental
10 Logical Data Modeling Promotes IT/Business AlignmentBusiness Process Definition Application Development Precise Business Language Database Design Definition of rational and efficient business rules and processes Business-consistent database design or class modeling
11 Logical Data Model Characteristics and ComponentsA Logical data model is implementation-independent and primitive Components: Entity Relationship Diagram (ERD) Entity: a person, place, thing, or event of significance to the business Relationship: a significant association between two entities Attribute: any detail that qualifies, identifies, classifies, or expresses the state of an entity or relationship Metadata: Definitions and other supporting information describing objects represented on an entity relationship diagram.
12 Implementation IndependenceWhich of these two statements belongs in a requirements document? Why? “Each accident report includes a photo of the damage taken by the estimator” “Each accident report record will include a field containing the name of the damage photo file. That file must be in JPEG format.” Implementation Independence means: “What not How” not related to technical specifics AKA “logical” or “essential” © 2008 CapTech Ventures, All rights reserved.
13 Entities: Business Critical Objects and EventsDefinition An object or event critical to the business A thing of significance, either real or conceptual, about which the business or system being modeled needs to hold information. Entities are the boxes on a logical data model Categories of entities Fundamental: exist on their own without reference to other entities (e.g. employee, building) Attributive: require the existence of another entity (employee dependent, cubicle) Associative: define the relationship between two other entities (an employee’s cubicle assignment) Subtype: a specific entity that is a special case of a more general entity type (“car” might be a subtype of “vehicle” © 2008 CapTech Ventures, All rights reserved.
14 Relationships = Business RulesDefinition An association among two or more entities Define how critical business objects and events interact Relationships are the lines between boxes on a logical data model Relationship Notes There are three common types: one to one, one to many, and many to many There may be more than one relationship between any two entities Examples What happens when a mechanical issue is registered for an aircraft? How many students can enroll in a given class? How does a customer place an order? © 2008 CapTech Ventures, All rights reserved.
15 Attributes: Describe EntitiesDefinition An identifiable property of an entity Consists of a name, data type, domain, and optionally presentation format and default value Domain The set of possible values of an entity Identifies any business rules or restrictions that define correct values for the attribute Good Practices with Attributes Attribute names use a standard convention and standard abbreviations Each entity is uniquely identified by an attribute or a group of attributes Document and maintain attribute metadata © 2008 CapTech Ventures, All rights reserved.
16 Primitiveness: Derived vs. Atomic AttributesAtomic (or Primitive) Attributes Individual object or event: Cost of an item, Quantity purchased The deepest level of detail needed by the business Derived and Summary Data Combines characteristics of many objects and events Can integrate data across different reporting dimensions Defined as a formula based on other data Use only atomic attributes in logical data modeling © 2008 CapTech Ventures, All rights reserved.
17 Metadata: Business Context for Model ContentMetadata makes the Logical Data Model accessible to a broad audience Why was the model created and what was its scope Modeling conventions and quality standards Abbreviations Entity and attribute definitions Model limitations and next steps
18 Logical Data Model = Clear Business LanguageYou can derive a data model from a precise text description of a business area and You can derive a precise text description of a business area from a logical data model © 2008 CapTech Ventures, All rights reserved.
19 The data model in EnglishA person may be a contact A client employs many contacts A project may be sponsored by a client contact An assignment is for a project A consultant is assigned to a project A project may be internal (not associated with a client or contact) A consultant is a person
20 A Detailed Logical Data Model is NormalizedIn a good, detailed, logical data model: Every entity is identified by a natural key Every distinct business object or event is shown as an entity Every attribute describes the entity that it belongs to (Informally) a database is normalized when No table has repeating groups Every column in a table is functionally dependent on the whole key No column depends on anything but the key Detailed definition of objects, events, attributes, and business rules gets you a solid first cut database design
21 The Business End of Data ModelingThe requirements side of data modeling and how it prepares you the database developer to design and build the right solution. When critical business definition elements are missing what you the database professional can do to produce a successful result. © 2008 CapTech Ventures, All rights reserved.
22 Your mission Build a database that is a foundation for meeting business needs, documented or not: Deliver to the shared vision of desired project outcome Meet project objectives Manage data required to support in-scope processes Design, deploy, and maintain a database that Stores and maintains: Data about business objects and events Attributes describing those objects and events Relationships among those objects and events Operates efficiently with the application being developed
23 Six tools for succeeding in database design without solid requirementsNotes Build rapport with business Friendly (but still professional) contacts make it easier to address tough questions when needed. Build step by step in small chunks that deliver business value Rework, if needed, is easier and you can align plans with the business step by step. Track risks and issues Tactfully, make sure everyone is aware of the business questions that aren’t yet resolved. Take time to normalize before designing The normalized model translates to business objects, events, attributes, and rules, making your app more likely to meet business needs. You don’t have time to skip documentation Change happens: how can you change something when you don’t remember why you did it? Hold design reviews with business and technical players Make sure everyone understands and endorses database design decisions.
24 Three Typical ScenariosThe Great Leap “We’re very excited about automating our business processes but we don’t quite know what to expect. How will Irma keep the ledger up to date when the new system automatically assigns customer numbers?” Reckless Abandon “Budget and schedule are very tight. I need you to start coding as soon as possible and not waste time on front-end documentation” Benign Neglect “Your business contacts are on 80% travel and will be very tough to reach. Here’s our two page vision statement. That should give you everything you need to build the new system.” © 2008 CapTech Ventures, All rights reserved.
25 The Great Leap: Modernizing Outdated Business Processes“We’re very excited about automating our business processes but we don’t quite know what to expect. How will Irma keep the ledger up to date when the new system automatically assigns customer numbers?” Tool Notes Build rapport with business participants Friendly (but still professional) contacts make it easier to address tough questions when needed. Build step by step in small chunks that deliver business value Replace the outmoded ledger last. Build trust and understanding by starting with the easy chunks that make their life easier. Track risks and issues Make sure everyone is aware of the business questions that aren’t yet resolved. Take time to normalize before designing Start database design by building your own “just good enough” logical data model. Translate it to English before reviewing it with business players. You don’t have time to skip documentation Change happens: how can you change something when you don’t remember why you did it? Hold design reviews with business and technical players Plan these carefully to limit the amount of new “jargon” you expose to business participants.
26 Reckless Abandon: When requirements are devalued“Budget and schedule are very tight. I need you to start coding as soon as possible and not waste time on front end documentation” Tool Notes Build rapport with business participants Friendly (but still professional) contacts makes it easier to address tough questions when needed. Build step by step in small chunks that deliver business value Rework, if needed, is easier and you can align plans with the business step by step. Track risks and issues Use the risk and issue process as a way to flesh out requirements, promote risk/issue management as a way to make sure the tight project stays on track. Take time to normalize before designing The normalized model translates to business objects, events, attributes, and rules, making your app more likely to meet business needs. You don’t have time to skip documentation Be careful to avoid any impression that you are “wasting time” in documentation. Make it as informal and brief as possible, just good enough for your successor to understand. Hold design reviews with business and technical players Use design reviews as a forum for raising and resolving requirements questions.
27 Benign Neglect: When business participants are not available“Your business contacts are on 80% travel and will be very tough to reach. Here’s our two page vision statement. That should give you everything you need to build the new system.” Tool Notes Build rapport with business participants Use collaborative tools like discussion boards, shared document storage, and desktop sharing to enable remote participation. Adjust schedules as needed to accommodate people in different time zones. Build step by step in small chunks that deliver business value Rework, if needed, is easier and you can align plans with the business step by step. Track risks and issues Tactfully, make sure everyone is aware of the business questions that aren’t yet resolved. Take time to normalize before designing The normalized model translates to business objects, events, attributes, and rules, making your app more likely to meet business needs. You don’t have time to skip documentation Document everything, include summaries for easy review and make them accessible for remote participants. Hold design reviews with business and technical players Schedule face to face reviews well in advance and plan them carefully to make meetings valuable to all involved.
28 The Business End “The three major reasons that a project will succeed are user involvement, executive management support, and a clear statement of requirements.” One key element of requirements describes the people, places, things, and events of interest to the organization, business rules governing them, the relationships among them, and their attributes. This statement of requirements is the logical data model. A detailed logical data model is a normalized database pre-design. You can improve your chances of overcoming missing or insufficient requirements by: Building rapport with business participants Building in small chunks that deliver business value Tracking risks and issues Taking time to normalize before designing Not skipping documentation Holding design reviews with business and technical players
29 Thanks for attending! For more on the business side of data modeling I recommend Data Modeling for the Business by Steve Hoberman et al. See A surprisingly good reference on risk and issue management: This presentation is posted at . Questions welcome at and