© Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software...
-
Upload
dale-greer -
Category
Documents
-
view
213 -
download
0
Transcript of © Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software...
© Blackboard, Inc. All rights reserved.
Back to the Feature: An Agile, User-centric Software Development Lifecycle
Cindy BarrySenior Product Manager
Martha CooleySenior Product Manager
2
Agenda
» Introduction to the Blackboard SDLC» Blackboard Requirement Stages» Phased Development» Client Involvement» Question and Answers
3
Introduction to Blackboard’s SDLC
» Software Development Life Cycle (SDLC): Framework for understanding and building software
Requirements» Outline use cases» Workflows
Quality Assurance» Group and rank use cases» Determine test case coverage FrameworkEngineering» Define conceptual model
Documentation» Determine audience and documentation needs
4
» Iterative: The application
is developed in small sections.
Common SDLC Models» Waterfall: Linear and
sequential.
» Agile: Plan, build,
evaluate, adapt, repeat.
5
Blackboard’s Methodology
» Application Pack Strategy» Targeted releases
» Limited scope» Increased frequency
» Two per year» High quality
» Feature Teams» Includes Requirements, Developers, Quality Assurance,
Performance, and Documentation » Increased communication and collaboration
AdaptivePredictive
Waterfall Agile
Iterative
6
Requirements Stages» Product Roadmap» Product Requirement Document (PRD)» Business Priority Table (BPT)» Functional Requirement Spec (FRS)» Technical Design Document (TDD)
Roadmap
FRS
BPTPRD
TDD
7
Roadmap
» Feature lists collected from numerous sources» Roadmap Committee
» Client-facing departments» Analysis of client needs
» Direct Client Feedback» Focus groups» Blackboard Days» Blackboard Idea Exchange» Client Enhancement Requests» ListServ’s
Roadmap FRSBPTPRD TDD
Roadmap Committee
Product Development
Marketing Sales
Support ServicesExecutive
Management
8
Product Requirements Document» High-level description of release features
» All features listed and ranked» External client-facing» Internal infrastructure and framework
» No development until feature approved
Roadmap FRSBPTPRD TDD
Sign Off
Business Priority Table» Determine business needs per feature
» Detail List of Client-facing Requirements
» Prioritize Requirements per feature» Must Have, Scheduled, Proximity
9
Functional Requirements Specification» Create Use Cases
» One or more use cases for each Business Priority Table item
» Create user “stories”» Rough Scope
» Requirements, Engineering, Quality Assurance, Performance
» Re-evaluate feature list» PRD and BPTs updated, if needed
» Collaborate with Clients» Product Development Partnership (PDP)
» Continuously updatedRoadmap FRSBPTPRD TDD
Sign Off
10
Functional Requirements Specification: Components
• Introduction• Feature Priority List• Explicitly Out of Scope• Description of Feature
• Who will use, When, Why, Where will it appear• Risks
• Use Case Outlines • Workflow Diagram• Behavior Overview
• Provide a description of functionality and how it is used in the problem domain
• Actors• Functional Description• Page Level Specifications
• Continuously updated
11
Functional Requirements Specification: Sample Visio Diagram
12Roadmap FRSBPTPRD TDD
Technical Design Document
» Engineering documents technical design details» Technical Design Document: Components
» Design Assumptions and Constraints» Programming Interfaces, Operations, Classes» Database Specifications» Unit Tests» Performance Considerations» Data Models and UML» API Impacts
» Continuously updated
13
Phased Development
» Full project team engaged» Requirements, Engineering, Quality Assurance,
Performance
» Rough Scope of Requirements» Phased milestones
» Re-evaluate feature list based on scope
» Dedicated development environment (DevPod’s)» Three per team, one for each OS
» Requirements and Dependencies» Project team reviews and contributes to FRS and TDD
Roadmap FRSBPTPRD TDD
Sign Off
Sign Off
14
Phased Development continued
» Requirements» One phase ahead of development» Detail functionality, workflows, page design for use cases
» Engineering» Build unit tests, build functionality, API test harness, validate
» Quality Assurance» Detail uses cases for phase functionality, audit requirements» Test against development builds (DevPods)
» Manual and automated test cases
» Performance» Build and run performance tests
» Phase Audits» Requirements / Engineering / QA» Show and Tell
» Move onto next phase
UserFeedback
Requirements
ImplementationVerification
Design
15
Verification» Quality
» Entrance and Exit Criteria
» Cycles» Run test cases and Performance tests» Find, fix, and verify issues» Go/No Go at each Cycle
» User testing of features » Internal demo box
» Beta: User acceptance testing
» Early Availability» General Availability Quality
Cycle 1
Cycle 2
Cycle n
Beta
EarlyAvailability
Acceptance
Acceptance
16
Client Involvement» Blackboard Idea ExchangeTM (BIE)
» Focus Groups, Surveys: help decide what to build» Product Development Partners (PDP): help build» Product testing (Beta and Early Availability): help test
» Blackboard Days, Conferences, Client Visits» Clients email us
» Clients: Support» Report issues and enhancements
BIE PDPProduct Testing
Focus Groups
Surveys Client Visits
Client Involvement
Support Enhancement
Tickets
Blackboard Days
Conferences
17
Thank you
» Questions
» Contact Information» [email protected]
» 202-463-4860 x2873
» [email protected]» 202-463-4860 x2465