Getting It Right 20070920

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Notes on slide 1

    Anyone developing software will agree that getting it right—building software that is destined for success—is critical. It is no fun to build the wrong software or to build software that fails—fails to do what is needed, fails to delight its users, fails to meet its users’ needs. Managing requirements, and the process of defining requirements can materially contribute to building the right software. But business rules are not requirements, and they must be found, developed and managed differently. What you will learn: The differences between rules and requirements. How they can and should be developed together. What techniques work for capturing and managing them. What to watch for.

    3 Favorites & 1 Group

    Getting It Right 20070920 - Presentation Transcript

    1. Getting it Right Rules and Requirements in Software James Taylor Scott Sehlhorst
    2. Agenda
      • Challenges in Specifying Systems
      • Business Rules Specification
      • Requirements Specification
      • Using them together
    3. Introductions
      • James Taylor
      • Smart Enough Systems
      • Blogs:
        • www.edmblog.com
        • www.ebizq.net/blogs/decision_management
      • Book:
        • Smart (Enough) Systems with Neil Raden
      • Scott Sehlhorst
      • Tyner Blain
      • Blog:
        • www.tynerblain.com/blog
    4. Agenda
      • Challenges in Specifying Systems
      • Business Rules Specification
      • Requirements Specification
      • Using them together
    5. Challenges in Specifying Systems Elicitation of requirements, processes, rules is error prone
    6. Challenges in Specifying Systems Elicitation of requirements, processes, rules is error prone Implementation of complex software takes too long
    7. Challenges in Specifying Systems Elicitation of requirements, processes, rules is error prone Implementation of complex software takes too long Changing existing applications takes too long
    8. Challenges in Specifying Systems Elicitation of requirements, processes, rules is error prone Maintenance costs are excessive Implementation of complex software takes too long Changing existing applications takes too long
    9. The Challenges / Goals
    10. The Challenges / Goals
    11. The Challenges / Goals
    12. Rules & Requirements
      • Both capture business knowledge
      • Both clarify customer needs and expectations
      • Both reflect business need
    13. Why Separate Rules from Requirements?
      • Rules change independently of requirements
      • Rules are reused throughout the requirements
      • Isolated rules can be analyzed for accuracy and completeness
      • Separation in documentation leads to separation in implementation
      • Simplified approval process
      • Reuse yields reduced work
      • Reuse allows leverage of rules across projects
      • Analysis can be automated
      • Faster implementation
      • More maintainable code
      • Simplified change management
    14. Different Models for Different Needs
    15. Agenda
      • Challenges in Specifying Systems
      • Business Rules Specification
      • Requirements Specification
      • Using them together
    16. What are Business Rules?
    17. What are Business Rules?
      • “ … a directive intended to influence behavior.”
    18. What are Business Rules?
      • “… a formal expression of knowledge or preference, a guidance system for steering behavior...”
    19. What are Business Rules?
      • “… statements of the actions you should take when certain business conditions are true.”
    20. What are Business Rules?
      • “… heuristics or tools to make business decisions ”
    21. What is a Rule?
    22. What is a Rule?
      • Data Edits and Constraints
    23. What is a Rule?
      • Computation Rules
    24. What is a Rule?
      • Inferences
      • Process Flow Rules
    25. What is a Rule?
      • Action Enablers
    26. Capturing Rules
      • The capturing of rules can be summarized in the following steps:
        • Document your process
        • Identify decisions in the process
        • Identify and validate the rules that make up each decision
    27. Documenting Rules
      • Documenting Rules
        • Each individual rule is documented distinctly
        • Sets of rules are combined to reach decisions
        • Rules can have hierarchies and relationships to each other
        • Decisions (rulesets) can have dependencies on one another
    28. Agenda
      • Challenges in Specifying Systems
      • Business Rules Specification
      • Requirements Specification
      • Using them together
    29. Requirements Framework
    30. Requirements Framework Define Scope Define Vision Define Goals Identify Use Cases Map to Goals Prioritize Use Cases Nonfunctional Req’s. Map to Goals Release Planning
    31. Requirements Framework Define Scope Define Vision Define Goals Identify Use Cases Map to Goals Product Backlog Prioritize Use Cases Release Planning Nonfunctional Req’s. Map to Goals Sprint Backlog
    32. Requirements Framework Define Scope Define Vision Define Goals Identify Use Cases Map to Goals Per Release Product Backlog Prioritize Use Cases Release Planning Use Case & Req’s Nonfunctional Req’s. Map to Goals Review Implement Sprint Backlog
    33. Requirements Framework Define Scope Define Vision Define Goals Identify Use Cases Map to Goals Per Release Product Backlog Prioritize Use Cases Release Planning Use Case & Req’s Nonfunctional Req’s. Map to Goals Review Implement Sprint Backlog Iterate
    34. Traceability (Within Requirements)
    35. Agenda
      • Challenges in Specifying Systems
      • Business Rules Specification
      • Requirements Specification
      • Using them together
    36. Rules and Requirements Overview
    37. Rules and Requirements Overview
    38. Rules and Requirements Overview
    39. Rules and Requirements Overview
    40. Traceability (Rules <-> Requirements)
    41. Traceability (Rules <-> Requirements)
    42. Traceability (Rules <-> Requirements)
    43. Traceability (Rules <-> Requirements)
    44. Process Candidates for Business Rules
      • Multiple decision steps in the process
        • Assess, Compare
        • Calculate, Compute
        • Check, Confirm
        • Qualify, Decide
        • Determine, Diagnose, Evaluate
        • Estimate, Process
        • Test, Validate, Verify
    45. Process Candidates for Business Rules
      • Symbolic reasoning
        • if then
        • unless
        • only if
        • is a necessary condition for
        • is a sufficient condition for
        • consequently
        • therefore
    46. Process Candidates for Business Rules
      • Complex rules, decisions, multi-level reasoning
        • risk analysis
        • underwriting
        • identifying allowed combinations / configurations
    47. Elicitation
    48. Framework for Documentation
      • Process Documentation or Use Cases or Both?
    49. Process Documentation
    50. Use Cases
      • Look for Rules in the following
        • Description
          • Embedded constraints
        • Triggers
          • Action enablers
        • Preconditions
          • Constraints
        • All Flows
          • Computations
          • Decisions
    51. Use Case: Description
      • A pilot performs an FAA mandated list of equipment and operational inspections prior to every flight. All inspections must pass before the flight is allowed to take off per corporate policy.
      • A pilot performs an FAA mandated list of equipment and operational inspections prior to every flight. All inspections must pass before the flight is allowed to take off per corporate policy .
      • A pilot performs an FAA mandated list of equipment and operational inspections [see FAA-1] prior to flights.
      • A pilot performs an FAA mandated list of equipment and operational inspections [see FAA-1] prior to flights.
    52. Use Case: Triggers
      • Every Friday at 5pm
      • Order size exceeds $1KK
      • More than 100 orders are queued
      • It is time to process pending orders [See BR021, Order-processing triggers ].
    53. Use Case: Preconditions
      • The amount of the loan has been identified:
        • Loan amount is below $250K
        • Loan represents >80% equity
      • A maximum amount for the loan has been identified [See BR033, Determining proper loan process ].
    54. Use Case: Normal Flow
      • 1.  User provides personal information. [See FR22 for details]
      • 2.  System requests loan approval
      • 3.  Loan-Approval System responds that loan is approved.
      • 4.  System requests loan initiation
      • 5.  Loan-Processing System responds that loan has been created and funds are available
      • 6.  System notifies user that loan has been approved.
      • 1.  User provides personal information per BR1255 [Required Loan Application Information]
      • 2.  System requests loan approval per BR1256 [Required Loan Approval Information]
      • 3.  Loan-Approval System responds that loan is approved.
      • 4.  System requests loan initiation per BR1266 [Loan Initiation Requirements]
      • 5.  Loan-Processing System responds that loan has been created and funds are available
      • 6.  System notifies user that loan has been approved.
    55. Functional Requirements
      • Use Case Normal Flow Step
        • 1.  User provides personal information.
      • Functional Requirements
        • The system shall require the user to input the following information:
          • Name
          • Social Security Number
          • Age
          • … .
      • Use Case Normal Flow Step
        • 1.  User provides personal information per BR1255 [Required Loan Application Information]
      • Functional Requirements
        • The system shall require the user to input information per BR1255 [Required Loan Application Information]
    56. System Approaches
      • Formality of RMS
      • … should be consistent with your rules-management approach
    57. Review of Use Cases & Rules
    58. Good Reasons for Business Rules Management
      • Regulations and compliance are issues
      • Decisions change often
      • Many rules
      • Complex rules or complex interactions between them
      • Domain expertise is required to understand the rules
      • Business user want or need control
      • Highly variable business process
      • Automation of rule execution makes compliance automatic
      • Rules are easier to change than code
      • A repository of rules can be navigated and managed
      • Rule engines handle (some of) the complexity
      • Business users can manage the rules directly
      • Decision Points add variability to a stable process
    59. The one slide you need
      • The rules of a decision are not part of requirements, or of processes
      • Decisions are important and different
      • Managing rules, requirements and processes separately but traceably gives you maximum accuracy while retaining agility
      • Beware of hidden decisions, hidden rules
      • Managing rules in parallel with requirements always helps
      • Managing rules at design and execution time, with a business rules management system, really helps with volatile rules
      • Rules Are Not Requirements!
    60. Thanks James Taylor – [email_address] Scott Sehlhorst – [email_address]
    61. Resources
      • Blogs
        • www.edmblog.com
        • www.ebizq.net/blogs/decision_management
        • www.tynerblain.com/blog
      • Wikis
        • www.smartenoughsystems.com/wiki
      • Articles
        • http://www.businessrulesgroup.org/brmanifesto.htm
        • http://wiki.ittoolbox.com/index.php/What_makes_a_good_Business_Rule ?
      • Books:
        • Smart (Enough) Systems , Taylor and Raden, Prentice Hall
        • Use Cases: Requirements in Context , Kulak and Guiney
        • Writing Effective Use Cases , Cockburn
        • Patterns for Effective Use Cases , Bramble, Cockburn, Pols, Adolph
    62.  
    63. Example Situation: Insurance Agent Sign-Up
      • Vision: Provide affordable life insurance
      • Goal: Grow client base by 10%
        • Strategy: Increase # agents by 20%
      • Scope: Simplified agent signup process
      • Use Case: New Agent Application Processing
    64. Use Case: New Agent Application Processing [UC04]
      • Triggers
        • Agent application received
      • Preconditions
        • Completed agent application has been submitted [ BR22, Required application data ]
      • Normal Flow
        • System validates agent data [ BR23, Agent rejection criteria ]
        • System assigns manager [ BR25, Reporting hierarchy rules ]
        • System updates commission allocation data [ B77, Commission structure ]
        • System notifies user that application has been processed
        • System sends welcome letter [per Welcome letter template ]
      • Alternate Flow
        • A3 Non-commissioned agent
        • A3.1 System requests salary data from hiring manager …
      • Exception Flow
        • E1. Agent rejected
        • E1.1 System notifies user of rejection reason [per Rejection letter template ]
      • Post-conditions
        • New agent is active in the system
    65. Functional Requirements
      • FR01: The system shall notify active agents on the same business day that their application is processed.
      • FR02: The system shall notify rejected agents of rejection [per Rejection letter template ]
      • FR03: Rejection notice shall include rejection reason [ BR23, Agent rejection criteria ]

    + Decision Management SolutionsDecision Management Solutions, 3 years ago

    custom

    2081 views, 3 favs, 6 embeds more stats

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 2081
      • 1882 on SlideShare
      • 199 from embeds
    • Comments 0
    • Favorites 3
    • Downloads 74
    Most viewed embeds
    • 78 views on http://jtonedm.com
    • 64 views on http://smartenoughsystems.com
    • 47 views on http://www.ebizq.net
    • 8 views on http://www.bp-3.com
    • 1 views on http://www.netvibes.com

    more

    All embeds
    • 78 views on http://jtonedm.com
    • 64 views on http://smartenoughsystems.com
    • 47 views on http://www.ebizq.net
    • 8 views on http://www.bp-3.com
    • 1 views on http://www.netvibes.com
    • 1 views on http://ux.brighttalk.net

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories

    Groups / Events