๐Ÿ“š BA Case Study: Customer Portal Implementation

A Real-World Scenario Demonstrating BA Work Across Agile & Waterfall

๐Ÿ“‹ Project Overview

Understanding the business context and scope

๐ŸŽฏThe Business Situation

Company: CloudSync, a mid-size SaaS company (150 employees) that provides project management software.

Problem: Customers must contact support for basic account functions (password resets, billing info, upgrade plans). This creates 200+ support tickets monthly, costing ~$5,000/month in support labor.

Opportunity: Build a customer self-service portal where customers can manage their accounts, view billing, and upgrade plans independently.

Business Goals:

  • Reduce support tickets by 60%
  • Increase upsells through easier upgrades
  • Improve customer satisfaction (NPS +5 points)
  • Launch within 6 months

๐Ÿ‘ฅStakeholders & RACI

Key Stakeholders:

Task Product Engineering Support Finance
Project Approval A C C A
Requirements R/A C C I
Development I R/A I I
UAT C I R/A I

๐Ÿ“ŠProject Stats

  • Duration: 6 months (Sept - Feb)
  • Budget: $150,000
  • Team Size: 1 BA, 4 Developers, 1 Designer, 1 QA
  • Methodology: Hybrid (Waterfall for planning, Agile for delivery - 2 week sprints)
  • Key Milestones: Requirements complete (Month 1), MVP ready (Month 3), Full UAT (Month 5), Launch (Month 6)

๐Ÿ” Discovery & Planning Phase (Waterfall Approach)

Understanding needs and laying the foundation - Weeks 1-4

๐ŸŽคBA Discovery Activities

What the BA Did
  • Conducted 15+ interviews: Support team, Product team, Finance, Sample customers
  • Analyzed support tickets to identify top 10 customer requests
  • Reviewed competitor customer portals (3 competitors studied)
  • Researched security requirements (data protection, compliance)
โš ๏ธ Challenge Encountered

During support interviews, the BA found conflicting opinions:

  • Support wants customers to handle password resets (reduce tickets)
  • Finance wants to track usage for upselling (need detailed activity logs)
  • Product worried about complexity (wants MVP first)
โœ“ BA Solution

Created a phased roadmap: Phase 1 (MVP) = password resets + basic account info. Phase 2 = billing & upgrades. Phase 3 = analytics & reporting. This addressed all concerns while keeping MVP scope manageable.

๐Ÿ“ŠBusiness Rules Documented

Sample Business Rules Identified:
BR-001: Users can reset own password only
BR-002: Account owners can manage team members (add/remove)
BR-003: Billing info visible only to account owner and Finance role
BR-004: Users see upgrade recommendations based on usage
BR-005: After 3 failed login attempts, account locked for 15 minutes

๐ŸŽฏStakeholder Analysis

Stakeholder Interest Influence BA Strategy
VP Support Reduce tickets High Weekly status updates; show ticket reduction projections
CFO ROI & cost savings Critical Track cost savings; monthly business case updates
Customers Easy self-service Medium Early testing group; feedback incorporated
Engineering Lead Technical feasibility High Architecture discussions; realistic scope

๐Ÿ“‹ Requirements & Design Phase (End of Waterfall)

Creating specifications and artifacts - Weeks 3-5

๐Ÿ“„Requirements Document Excerpt

FR-001: User Authentication
Description: Users must authenticate to access their account portal

Requirements:
โ€ข Users log in with email + password
โ€ข System validates credentials against user database
โ€ข Failed login attempts tracked (max 3 before lockout)
โ€ข Lockout duration: 15 minutes
โ€ข Forgot password workflow available

Security: All credentials transmitted over HTTPS; passwords hashed with bcrypt

๐ŸŽจWireframe (Account Dashboard)

Customer Portal Dashboard
HEADER: CloudSync Logo | Welcome, [Name] | Logout
SIDEBAR
- Account
- Billing
- Team
- Settings
MAIN CONTENT: Account Overview
Plan: [Current Plan] | [Upgrade Button]
Usage: 45% of monthly limit

BA Annotations: Users can click tabs to view different sections. Upgrade button leads to pricing page with one-click purchase option. Usage bar shows visual progress toward plan limits.

๐ŸŽฌKey Use Case: Password Reset

Use Case: UC-003 - Self-Service Password Reset
Actor: Customer
Preconditions: User has account; user locked out

Main Flow:
1. User clicks "Forgot Password" on login page
2. System displays email entry field
3. User enters registered email
4. System generates reset link (valid for 1 hour)
5. System sends email with reset link
6. User clicks link in email
7. System displays password reset form
8. User enters new password (must meet requirements)
9. System validates password
10. Password updated; user redirected to login

Alternative Flow (Invalid Email):
At step 3: If email not in system, system displays "Email not found" but says nothing else (security)
Does not reveal if email exists in system

๐Ÿ”„Process Flow: Team Member Management

Current State (What Support Does):

Customer emails support
โ†“
Support adds user in admin system
โ†“
Support emails customer with new login
โ†“
Manual, error-prone, takes 1-2 days

Future State (What Portal Does):

Account owner clicks "Add Team Member"
โ†“
Enters email & assigns role
โ†“
System sends invite to new user
โ†“
User accepts invite & creates login
โ†“
Instant, self-service, no support needed

๐Ÿš€ Agile Execution Phase (2-Week Sprints)

Building and iterating - Weeks 6-20 (5 Sprints)

๐Ÿ“–Sprint 1 Example: User Stories

User Story 1: Login
As a customer
I want to log in to the portal
So that I can access my account information

Acceptance Criteria:
โœ“ Login page displays email & password fields
โœ“ Valid credentials grant access to dashboard
โœ“ Invalid credentials show error message
โœ“ After 3 failed attempts, account locked for 15 min
โœ“ "Forgot Password" link available

Estimated Story Points: 5
Sprint: Sprint 1

๐Ÿ—“๏ธSprint Structure

Typical 2-Week Sprint Cycle
  • Monday AM (Day 1): Sprint Planning - BA walks team through user stories, clarifies requirements
  • Mon-Fri (Days 1-5): Development - Developers build features; BA available for questions
  • Daily Stand-ups: 15-min meetings - "What I did, what I'm doing, blockers?"
  • Thursday (Day 9): Code Review & QA Testing begins
  • Friday (Day 10): Sprint Review (demo to stakeholders) + Sprint Retrospective
BA's Role in Agile: The BA is NOT the project manager. The BA clarifies requirements, answers "why" questions, accepts completed work against acceptance criteria, and helps prioritize backlog for next sprint.

๐Ÿ“ŠSprint Backlog Example (Sprint 2)

User Story Points Status Owner
View account overview 3 Done Dev 1
View subscription details 5 In Progress Dev 2
Password reset flow 5 In Progress Dev 3
Update profile info 3 Testing Dev 1
Team member management 8 Not Started Dev 4

๐ŸŽฏSample Sprint Retrospective Notes

What Went Well
  • User stories were clear - minimal back-and-forth questions
  • QA testing caught issues early in sprint
  • Team communicated blockers immediately
What Needs Improvement
  • Design handoff was late - impacted Dev 1's start
  • Some requirements weren't complete - needed clarification mid-sprint
  • Database performance issues discovered late (needed earlier consideration)
Actions for Next Sprint
  • BA to complete all requirement details before sprint planning
  • Design & Dev to have sync meeting before sprint starts
  • Early performance testing on new features

โšก Challenges & How the BA Navigated Them

Real problems and real solutions - Throughout the project

1๏ธโƒฃChallenge: Scope Creep

The Problem (Week 8)

Finance asks: "Can we add analytics dashboard to show customer usage trends?" Product wants: "What about billing history?" Support needs: "We should let customers submit tickets from portal too."

Suddenly the scope has tripled. Launch timeline now at risk.

BA's Approach

1. Validate Impact: BA calculated: +6 weeks of work, +3 developers needed = $75K additional cost.

2. Stakeholder Meeting: BA brought CFO and VP Support together. Showed: "MVP solves the core problem (60% ticket reduction) in budget. These features nice-to-have."

3. Create Roadmap: BA proposed Phase 2 (6 weeks post-launch) for analytics. Phase 3 for ticket submission. Got everyone aligned on phasing.

4. Document Decision: BA recorded in project wiki: "Why Phase 1 scope is X. What we deferred and why. Expected Phase 2 timeline."

Result: Scope protected. Timeline kept. Stakeholders understand roadmap. Everyone knows what's coming.

2๏ธโƒฃChallenge: Conflicting Requirements

The Problem (Week 12)

Support team says: "Customers should be able to instantly upgrade their plan." Finance says: "We need approval process for upgrades > $500/month to prevent fraud."

These are mutually exclusive. The BA must find compromise or escalate.

BA's Approach

1. Dig Deeper: BA asked Finance: "Why >$500? What's the actual risk?" Answer: They'd seen 3 fraudulent upgrades last year.

2. Ask Questions: BA asked Support: "What percentage of upgrades are >$500?" Answer: Only 15%.

3. Propose Solution: "Customers can instantly upgrade to <$500/month. Anything higher goes to Finance for 24-hour approval. Still 85% instant."

4. Implement: BA updated requirements to include this hybrid approach. Finance accepted (fraud prevented), Support happy (most upgrades instant).

Result: Conflict resolved. Both sides get something. Solution is documented in business rules.

3๏ธโƒฃChallenge: Technical Discovery

The Problem (Week 6)

During Sprint 1, developers discover: "We can't easily connect the portal to the existing billing system. They use completely different data formats. This will take 2x longer than estimated."

This is a technical blocker affecting timeline.

BA's Approach

1. Root Cause Analysis: BA asked: "Why wasn't this discovered in planning?" Answer: Technical architecture review was skipped due to rushed timeline.

2. Get Technical Details: BA worked with Tech Lead to understand: What's the actual integration approach? Any workarounds? Timeline realistic?

3. Impact Assessment: BA calculated: If we delay billing features by 2 weeks, does it hit launch date? Answer: Yes, but only by 1 week.

4. Replan & Communicate: BA reprioritzed: Show billing info (read-only) in MVP. Full upgrade functionality in follow-up sprint. Presented new timeline to Finance & VP Support.

Result: Realistic scope. Technical debt addressed. Stakeholders prepared for adjusted timeline.

โœ… Testing & Launch Phase

Validation and go-live preparation - Weeks 18-24

๐Ÿ“‹BA's Test Plan

Test Plan Overview
Scope:
โ€ข Functional testing: All features work as designed
โ€ข Security testing: Authentication, authorization, data protection
โ€ข Performance testing: Portal loads in < 2 seconds
โ€ข User acceptance testing: Real customers validate workflows

Test Phases:
โ€ข Phase 1 (Dev testing): QA tests in dev environment (Weeks 18-19)
โ€ข Phase 2 (UAT): 10 customer volunteers test in staging (Week 20)
โ€ข Phase 3 (Production validation): Post-launch sanity checks (Week 21)

Success Criteria:
โ€ข 100% of critical functionality working
โ€ข <5% of test cases failing
โ€ข No security vulnerabilities found
โ€ข Average customer rating on ease-of-use: 4/5 or higher

๐ŸงชSample Test Cases

Test ID Scenario Steps Expected Status
TC-001 Valid Login Enter correct email/password; click Login Dashboard displays โœ“ Pass
TC-002 Wrong Password Enter email; wrong password; click Login Error shown; 1 of 3 attempts logged โœ“ Pass
TC-003 Account Lockout Fail login 3x in quick succession Account locked for 15 min; message displayed โœ“ Pass
TC-004 Upgrade Plan Click upgrade; select new plan; complete payment Plan changes; confirmation email sent โœ“ Pass
TC-005 Add Team Member Enter team member email; select role; click Add Invite sent; member visible in list โœ“ Pass

๐Ÿ‘ฅUser Acceptance Testing (UAT)

BA's Role in UAT
  • Recruit 10 beta customers representing different user types
  • Train them on how to test (send documentation)
  • Provide test scenarios and tasks to complete
  • Collect feedback via survey and interviews
  • Prioritize issues: Critical (blocks launch) vs. Nice-to-have
  • Work with dev team to fix critical issues before launch
UAT Feedback Summary
Critical Issue Found: "Password reset email went to spam folder" - Found by 3 users. Fix: Adjust email configuration.

Minor Issue: "Button text says 'Confirm' but I expected 'Apply'" - Minor UX confusion. Will monitor post-launch.

Feature Request: "I want to download my billing statements as PDFs" - Out of scope for v1. Added to backlog for Phase 2.

๐Ÿš€Go-Live Activities

Launch Day Checklist (BA Responsible For)
  • โœ“ Final production data validation (test accounts migrated correctly)
  • โœ“ Communication sent to all customers: "Portal is live, here's how to use it"
  • โœ“ Help documentation live (FAQ, tutorials)
  • โœ“ Support team trained and standing by
  • โœ“ Monitor first hour: Check for critical issues
  • โœ“ Daily syncs with support for first week to catch issues

๐Ÿ’ก Key Lessons Learned

What the BA learned and what this means for future projects

๐Ÿ“šBA Lessons & Skills Applied

Technical Skills Used
  • Data & Databases: Understood billing data structure to design portal queries
  • Security: Worked with security team on authentication, encryption, GDPR compliance
  • APIs: Documented requirements for portal-to-billing-system integration
Analysis Skills Used
  • Requirements Gathering: 15+ interviews revealed actual customer needs (different from what was assumed)
  • Root Cause Analysis: When "scope creep" hit, BA traced back to "rushed planning"
  • Systems Thinking: Understood how portal impacts Support workflows, Finance processes, customer experience
Communication Skills Used
  • Clear Writing: Requirements docs were so clear that dev questions dropped 30% vs. other projects
  • Presentation: Monthly executive briefings showing progress, ROI, and timeline kept stakeholders engaged
  • Facilitation: Conflict resolution meetings between Finance, Support, and Product resulted in creative solutions
Leadership Skills Used
  • Stakeholder Management: Regular 1:1s with Finance, Support, Product kept everyone feeling heard
  • Conflict Resolution: Resolved 3 major conflicts (scope, requirements, technical) without escalation
  • Change Management: Helped support team prepare for reduced tickets; trained them on monitoring portal metrics

๐ŸŽฏProject Outcomes

Goal Target Actual Status
Reduce support tickets 60% reduction 58% reduction (Month 1 post-launch) โœ“ Met
Increase upsells +15% upgrades +22% upgrades (Quarter 1) โœ“ Exceeded
Improve NPS +5 points +7 points โœ“ Exceeded
Launch timeline 6 months 6 months 1 week โœ“ Met
Budget $150,000 $147,000 โœ“ Under budget

๐Ÿ”‘Key Takeaways for Future BAs

What Went Right
  • โŒโŒ Hybrid Agile/Waterfall approach worked: Rigorous planning up front, flexible execution during builds
  • Strong stakeholder management prevented major conflicts from escalating
  • Phased approach solved scope creep: "Phase 1, 2, 3" roadmap gave everyone clarity
  • BA availability during development (quick questions answered = faster progress)
What to Improve Next Time
  • Do technical architecture review DURING planning (not discovery)
  • Create test plan at same time as requirements (not during UAT)
  • Involve database team earlier (integration challenges discovered late)
  • More frequent customer feedback during development (not just UAT)
BA's Most Valuable Moments
  • ๐Ÿ† Resolving Finance vs. Support conflict โ†’ Everyone got something
  • ๐Ÿ† Creating phased roadmap โ†’ Scope creep eliminated
  • ๐Ÿ† Catching technical debt early โ†’ Timeline risk identified and managed
  • ๐Ÿ† Translating support pain into business case โ†’ Executives bought in

๐Ÿš€What's Next for the BA?

Post-Launch: The BA's job doesn't end at go-live. For next 4 weeks:
โ€ข Daily monitoring of support tickets and portal usage
โ€ข Gathering customer feedback for Phase 2
โ€ข Documenting lessons learned
โ€ข Planning Phase 2 features based on actual usage data
โ€ข Supporting your team members who'll maintain the portal

Career Impact: This project demonstrated the BA can:
โ€ข Lead cross-functional projects without formal authority
โ€ข Manage complex stakeholder dynamics
โ€ข Deliver on time and on budget
โ€ข Drive real business outcomes

Result: Promotion to Senior BA, expanded responsibilities, higher credibility with leadership.