
- •Foreword
- •Preface the purpose of this book
- •Intended audience
- •Book organization
- •About b2t training
- •Chapter 1: Possess a Clear Understanding of Business Analysis overview
- •What is business analysis?
- •Business Analysis vs. Software Development
- •The Role of the Business Analyst
- •Business Analyst Traits
- •History of Business Analysis
- •Where Do Business Analysts Come From?
- •From it
- •Case in Point
- •From Business
- •Case in Point
- •Where Do Business Analysts Report?
- •Who makes a great business analyst?
- •Case in Point
- •Business Analyst Suitability (- відповідність) Questionnaire
- •Suitability Questionnaire
- •Answers
- •Business Analyst Career Progression
- •Key business analysis terms/concepts
- •What Is a Requirement?
- •Iiba Business Analysis Body of Knowledge® (babok®) definition of requirement:
- •Core Requirements Components
- •Why Document Requirements?
- •Why Do Requirements Need to Be Detailed?
- •High-Level Requirements Are Interpreted Differently
- •Many Analysts Only Use Text to Document Requirements
- •Complex Business Rules Must Be Found
- •Requirements Must Be Translated
- •Case in Point
- •What Is a Project?
- •What Is a Product?
- •What Is a Solution?
- •Case in Point
- •What Is a Deliverable?
- •System vs. Software
- •It Depends
- •Business analysis certification
- •Iiba babok®
- •Summary of key points
- •Bibliography
- •Chapter 2: Know Your Audience overview
- •Establish trust with your stakeholders
- •With whom does the business analyst work?
- •Executive or Project Sponsor
- •Case in Point: Giving the Sponsor Bad News
- •Project Manager
- •Why Does a Project Need a Project Manager and a Business Analyst?
- •Project Manager and Business Analyst Skills Comparison
- •Tips for Those Performing Both Roles
- •Other Business Analysis Professionals
- •Subject Matter Experts and Users
- •Getting to Know Your Subject Matter Experts
- •A Manager Who Does Not Understand His or Her Employees’ Work
- •When the Expert Is Not Really an Expert
- •When the Expert Is Truly an Expert
- •The Expert Who Is Reluctant to Talk
- •The Expert Who Is Angry about Previous Project Failures
- •The Expert Who Hates His or Her Job
- •Quality Assurance Analyst
- •When “qa” Is a Bad Word in Your Organization
- •Usability Professional
- •It Architect
- •Case in Point
- •It Developer
- •Case in Point
- •The Developer Who Is Very Creative
- •The Developer Who Codes Exactly to Specs
- •The Developer’s Industry Knowledge
- •Data Administrator/Architect/Analyst
- •Database Designer/Administrator
- •Stakeholder Analysis
- •Balancing stakeholder needs
- •Case in Point
- •Understanding the Political Environment
- •Working with dispersed teams
- •Physical Distance
- •Time Zone Differences
- •Nationality/Cultural Differences
- •Language Differences
- •Using Team Collaboration Tools
- •Using a Shared Presentation
- •Sharing a Document
- •Summary of key points
- •Bibliography
- •Chapter 3: Know Your Project
- •Why has the organization decided to fund this project?
- •Business Case Development
- •Case in Point
- •Project Initiated Because of a Problem
- •Case in Point
- •Project Initiated to Eliminate Costs (Jobs)
- •Project Initiated by Outside Regulation
- •Project Initiated by an Opportunity
- •Projects for Marketing or Advertising
- •Case in Point
- •Projects to Align Business Processes
- •Strategic planning
- •Portfolio and Program Management
- •How Does Your Project Relate to Others?
- •Enterprise Architecture
- •Business Architecture
- •The Organizational Chart
- •Locations
- •Swot (Strengths, Weaknesses, Opportunities, Threats)
- •Products
- •Information Architecture
- •Application Architecture
- •Technology Architecture
- •Case in Point
- •Security Architecture
- •Communicating Strategic Plans
- •Project Identification
- •Project initiation
- •Naming the Project
- •Initiation
- •Approach or Methodology
- •Statement of Purpose
- •Objectives
- •Problems/Opportunities
- •Stakeholders
- •Business Risks
- •Items Out of Scope
- •Assumptions
- •Scope of the Business Area
- •Scoping the Analysis Area Using a Context-Level Data Flow Diagram
- •Area of Study
- •High-Level Business Processes
- •Scoping the Analysis Area Using a Use Case Diagram
- •Project Initiation Summary Revisit Scope Frequently
- •Scope Creep
- •Summary of key points
- •Bibliography
- •Chapter 4: Know Your Business Environment overview
- •Case in Point
- •How does a business analyst learn about the enterprise?
- •Read the Company’s Marketing Materials
- •Read the Company’s Financial Reports
- •Review the Corporate Strategic Plan
- •Seeing things from the business perspective
- •Case in Point
- •Prioritizing Requests
- •Case in Point
- •How a business analyst learns the business: elicitation techniques
- •Review Existing Documentation
- •Case in Point
- •Observation
- •Case in Point
- •Case in Point
- •Interviews
- •Surveys and Questionnaires
- •Facilitated Sessions
- •Why Use a Facilitated Session?
- •Challenges for the Business Analyst as the Facilitator
- •Focus Groups
- •Competitive Analysis
- •Interface Analysis
- •Learn the current (as is) system
- •Case in Point
- •What is a business process?
- •Essential Analysis
- •Perfect Technology
- •No Storage Limitations or Constraints
- •Case in Point
- •Completely Error-Free Processing
- •Case in Point
- •No Performance Limitations
- •Technology Is Available at No Cost
- •Case in Point
- •Summary of Perfect Technology
- •Essential Business Processes
- •Case in Point
- •What Is the Difference between a Process and a Use Case?
- •Describing a Process
- •Seeing Things from the Top and from the Bottom
- •Implementation Planning
- •Training
- •Rollout Plan
- •Schedule
- •Metrics
- •Procedures/Organizational Changes
- •Summary of tips for learning your business
- •Summary of key points
- •Bibliography
- •Chapter 5: Know Your Technical Environment overview
- •Case in Point
- •Why does a business analyst need to understand the technical environment?
- •Understand Technology, But Don’t Talk Like a Technologist
- •Case in Point
- •What does a business analyst need to know about technology?
- •Software Development/Programming Terminology
- •Does a Business Analyst Need to Know How to Develop Software?
- •Software Development Methodologies
- •Methodology/Software Development Life Cycle
- •Waterfall
- •Planning Phase
- •Analysis Phase
- •Design Phase
- •Construction Phase
- •Testing Phase
- •Information Engineering
- •Joint Application Development/Design
- •Rapid Application Development
- •Iterative/Incremental Development Approaches
- •Object-Oriented Analysis and Design
- •Rational Unified Process
- •Agile Development Approaches
- •An Organization’s Formal Methodology
- •Why Don’t Most Methodologies Detail the Business Analysis Approach?
- •An Organization’s Informal Standards
- •Technical Architecture
- •Operating Systems
- •Case in Point
- •Computer Networking
- •Data Management
- •Relational Database
- •Structured Query Language
- •Software Usability/Human Interface Design
- •Software Testing
- •Case in Point
- •Software Testing Phases
- •Unit Testing
- •Integration Testing
- •System Testing
- •Regression Testing
- •Case in Point
- •User Acceptance Testing
- •Post-Implementation User Assessment
- •Working with it Communicating with Developers
- •When to Get it Involved in a Project
- •It Corporate Culture
- •Summary of key points
- •Bibliography
- •Chapter 6: Know Your Analysis Techniques overview
- •Case in Point
- •Categorizing and presenting requirements Collecting and Managing Requirements
- •What Is a Requirement?
- •Categorizing Requirements
- •Case in Point
- •Why Categorize Requirements?
- •Developing a System for Organizing Requirements
- •Iiba babok Categories
- •A Recommended Categorization System
- •Business Requirements
- •Functional Requirements
- •Technical Requirements
- •Core requirements components
- •Overview of Core Requirements Components Data (Entities and Attributes)
- •Processes (Use Cases)
- •External Agents (Actors)
- •Business Rules
- •Case in Point
- •Core Requirements Component: Entities (Data)
- •Core Requirements Component: Attributes (Data)
- •Attribute Uniqueness
- •Mandatory or Optional
- •Attribute Repetitions
- •Core Requirements Component: Processes (Use Cases)
- •Core Requirements Component: External Agents (Actors)
- •Internal vs. External
- •Core Requirements Component: Business Rules
- •Finding Business Rules
- •Analysis techniques and presentation formats
- •Glossary
- •Workflow Diagrams
- •Why Use Workflow Diagrams?
- •Entity Relationship Diagramming
- •Why Build a Logical Data Model?
- •Business Process Modeling with the Decomposition Diagram
- •Why Build a Decomposition Diagram?
- •Use Case Diagram
- •Use Case Descriptions
- •Why Use Use Cases?
- •Case in Point
- •Prototypes/Simulations
- •Why Use Prototypes/Simulations?
- •Other Techniques Event Modeling
- •Entity State Transition/uml State Machine Diagrams
- •Object Modeling/Class Modeling
- •User Stories
- •Traceability Matrices
- •Gap Analysis
- •Data Flow Diagramming
- •Choosing the Appropriate Techniques
- •Using Text to Present Requirements
- •Using Graphics to Present Requirements
- •Using a Combination of Text and Graphics
- •Choosing an Approach
- •Case in Point
- •Business Analyst Preferences
- •Case in Point
- •Subject Matter Expert Preferences
- •Case in Point
- •Developer Preferences
- •Project Manager Preferences
- •Standards
- •Case in Point
- •As is vs. To be analysis
- •Packaging requirements How Formally Should Requirements Be Documented?
- •What Is a Requirements Package?
- •Case in Point
- •Request for Proposal Requirements Package
- •Characteristics of Excellent Requirements
- •Getting Sign-Off
- •Requirements Tools, Repositories, and Management
- •Summary of key points
- •Bibliography
- •Chapter 7: Increase Your Value overview
- •Build your foundation Skill: Get Started
- •Skill: Think Analytically
- •Skill: Note Taking
- •Technique: Brainstorming
- •Skill: Work with Complex Details
- •Case in Point
- •How Much Detail? Just Enough!
- •Case in Point
- •Time management Skill: Understand the Nature of Project Work
- •Skill: Work on the Most Important Work First (Prioritize)
- •Case in Point
- •Technique: Understand the 80-20 Rule
- •Technique: Timeboxing
- •Build your relationships and communication skills Skill: Build Strong Relationships
- •Skill: Ask the Right Questions
- •Case in Point
- •Skill: Listen Actively
- •Barriers to Listening
- •Listening for Requirements
- •Skill: Write Effectively
- •Case in Point
- •Skill: Make Excellent Presentations
- •Skill: Facilitate and Build Consensus
- •Skill: Conduct Effective Meetings
- •Prepare for the Meeting/Select Appropriate Attendees
- •Meeting Agenda
- •Conducting the Meeting
- •Tips for Conducting Successful Meetings
- •Follow-Up/Meeting Minutes
- •Skill: Conduct Requirements Reviews
- •How to Conduct a Review
- •Step 1. Decide on the Purpose of the Review
- •Step 2. Schedule Time with Participants
- •Steps 3 and 4. Distribute Review Materials and Have Participants Review Materials Prior to the Session
- •Case in Point
- •Step 5. Conduct the Review Session
- •Steps 6 and 7. Record Review Notes and Update Material
- •Step 8. Conduct a Second Review If Necessary
- •Typical Requirements Feedback Corrections
- •Missing Requirements
- •Unclear Sentences
- •Scope Creep
- •Keep learning new analysis techniques Technique: Avoid Analysis Paralysis!
- •Technique: Root Cause Analysis
- •The Five Whys
- •Case in Point
- •Skill: Intelligent Disobedience
- •Continually improve your skills
- •Skill: Make Recommendations for Solutions
- •Understand the Problem
- •Imagine Possible Solutions
- •Case in Point
- •Evaluate Solutions to Select the Best
- •Skill: Be Able to Accept Constructive Criticism
- •Case in Point
- •Skill: Recognize and Act on Your Weaknesses
- •Technique: Lessons Learned
- •Business analysis planning
- •Technique: Map the Project
- •Examples of Mapped Projects
- •Skill: Plan Your Work
- •Technique: Assess Business Impact
- •Case in Point
- •Factors That Determine Business Impact
- •Case in Point
- •Technique: Conduct Stakeholder Analysis
- •Technique: Plan Your Communications
- •Skill: Choose Appropriate Requirements Deliverables
- •Skill: Develop a Business Analysis Task List
- •Skill: Estimate Your Time
- •Summary of key points
- •Bibliography
Standards
Setting standard analysis techniques and deliverables is difficult. Projects vary greatly, and the analysis necessary differs in quantity, perspective, and level of detail. Organizations should be careful when setting business analysis standards. Requiring a particular requirement deliverable for every project seems like a good way to introduce consistency into requirements but may result in wasted work for projects for which the technique is not appropriate. New BAs need guidance when choosing techniques. Ideally, this guidance is provided by a mentor rather than a set of standards. There is a benefit in trying to use the same set of presentation formats (e.g., decomposition diagram, ERD) on most projects because stakeholders will become accustomed to them and become efficient at reviews.
|
Case in Point
One organization with which I was doing some consulting work had a standard list of required requirements deliverables. The BAs were complaining because the time required to prepare these deliverables slowed down their projects and they felt many of the deliverables were a waste of time. I was asked to review the list and give my opinion. I was surprised to see two diagrams right at the top of the list which are both used to show the scope of an analysis area: the context-level DFD and the IDEF0 context diagram. These two analysis techniques are very similar, but they were developed from two different software development approaches. They are both excellent techniques, but my question was “Why do both?” The answer was that the manager who had developed the list preferred the IDEF technique (she had used it successfully at another company), while other analysts were familiar and successful with the context-level DFD. So they were both included!
My recommendation was simple: require one of the two diagrams but not both. Allow the analyst to choose the appropriate technique for each project. My recommendation was not immediately accepted. Management’s concern was that the analysts would not know which diagram to use. Flexibility in standards requires the BA to understand the differences in the techniques and make intelligent decisions about which one to use. Experienced BAs must be given flexibility to choose requirements deliverables that clearly communicate specific project needs. Newer BAs should discuss deliverable selection with their mentor or manager. Having a rule that requires the same deliverable to be used for every project creates unnecessary deliverables and wastes valuable time.
|
|
Tables 6.7 and 6.8 show examples of guidelines for deliverables for different types of projects and different audiences, respectively.
As is vs. To be analysis
When eliciting, analyzing, and documenting requirements, the BA must always be aware of the state of the business environment he or she is capturing. There are two states: the current state of the business, commonly referred to as the as is, and a potential future state of the business, commonly referred to as the to be. It is very easy to forget about this difference and allow requirements to include both in a confusing mix in a single diagram. This is an easy mistake because when business stakeholders talk about their work, they will often tell you (1) what they currently do, (2) why they see a need for a change, and (3) their recommendation for a change. An experienced BA listens carefully for these three very different pieces of information and dissects them into their components. For example:
I log in to our accounts receivable system to enter the customer purchase information and make sure that the information is correct. Then I have to log in to our customer relationship management (CRM) system to enter the customer profile. This is a waste of time because I have already entered the address into accounts receivable (AR) and I have to type it again. The AR system should send this information to the CRM system to save me time.
Table 6.7: Deliverables to Project Matrix
Table 6.8: Deliverables to Audience Matrix
The BA must be careful to listen for the facts vs. opinions or ideas in this discussion. The current process (as is) was described briefly, but the speaker got distracted by describing his or her problem and recommendation. Did the BA get a clear, complete description of the current state? No. The BA needs to ask more detailed follow-up questions:
What specific data items are entered in AR to process the payment?
How is the information validated?
What if the payment information is not correct or is incomplete?
Is the CRM system still updated?
What specific information is entered into the CRM system?
How many fields are entered into both systems?
Are the fields named the same?
Why does the procedure require this double entry?
What if this customer is already in the CRM system?
Is the profile updated?
Business analysis professionals must be very careful not to jump to conclusions or recommendations without understanding the as is state. If solutions to business problems were extremely obvious, they probably would have already been implemented. An analyst wouldn’t be needed in such situations. Rarely are good-quality solutions that obvious or simple. There are a whole complex set of parameters that impact the problem and situation, and all must be considered before a solution is proposed.
Do you need to document every detail of the current state when you know that it is going to change? This is a judgment call that the BA and team must make. The current state needs to be understood and considered carefully, but it does not always benefit the team to create detailed, presentation-quality documents that describe it (see the discussion in Chapter 4 on learning the current system).
Every project and situation within a project must be evaluated individually. Depending on the reason for a project, the BA will determine the type of documentation that is appropriate. Returning to the AR example, why are you learning about the as is procedure? Is the goal to document the current procedure because new employees will be hired and must learn this job? Has the BA been asked to look for possible process improvements or streamline the efficiency of this task? Is a new AR software package being installed that will change this procedure? Is the organization considering building an interface from AR to CRM? From CRM to AR? This reinforces the importance of understanding why a project was initiated (see the section on project initiation in Chapter 3).
If a project was initiated as a process improvement project, understanding the current system is very important when making recommendations for changes. If you will be proposing a change, you will probably be asked to present your reasons for the recommendation. Showing the current process next to the proposed process is a great way to articulate the improvements that you anticipate. In addition, when planning for the change itself, it is important to know where you are starting from to build a detailed change plan. In other words, if moving from A to B, you need to know where A is to make the move.
If a project was initiated with a solution already selected (e.g., a new AR package), recommendations will be limited to how to best utilize the new functionality. In this case, it may not be necessary to formally present the as is state because the organization has already decided that it is inefficient or not appropriate. In this situation, the BA needs to understand the as is state to the extent that important tasks are covered by the new system and to write conversion requirements, but may decide not to create any documentation about the old procedures or processes. The as is state is old because the organization has already decided on a new process.