© Blackboard, Inc. All rights reserved. Back to the Feature: An Agile, User-centric Software...

Preview:

Citation preview

© 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

» Suggestions@blackboard.com

» 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» cbarry@blackboard.com

» 202-463-4860 x2873

» mcooley@blackboard.com» 202-463-4860 x2465

Recommended