A Practical High Volume Software Product Line - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

A Practical High Volume Software Product Line

Description:

Roles/personas. Essential tasks. Packages. Screens/Actions. IA. Look and feel. Feature Modeling ... Inheritance, AOP, mixins (object/class), code blocks ... – PowerPoint PPT presentation

Number of Views:78
Avg rating:3.0/5.0
Slides: 18
Provided by: Pbe78
Category:

less

Transcript and Presenter's Notes

Title: A Practical High Volume Software Product Line


1
A Practical High Volume Software Product Line
  • Peter Bell
  • CEO/CTO
  • SystemsForge
  • ooPLSA 07

2
Overview
  • What we do
  • The problem
  • Our approach
  • Lessons learned

3
What We Do . . .
  • Custom web applications
  • Small/mid sized businesses
  • 10,000 - 50,000
  • Content management
  • E-commerce
  • Document management
  • Workflow
  • . . .

4
The Problems
  • Clients dont know
  • Elicit requirements
  • Clients dont care
  • Efficient feature reuse
  • Clients DO care
  • Build anything, change everything

5
Clients Dont Know . . .
  • Problem
  • Marketing managers/CEOs
  • No software experience
  • Vague requirements
  • Fixed bid/scope/timeframe
  • Need
  • Quick, flexible approach

6
Clients Dont Care . . .
  • Problem
  • Dont want to specify everything
  • Mainly want good enough
  • Need
  • Reusable best practices
  • Efficient fabrication

7
Clients DO Care . . .
  • Care about some things
  • Covers all areas
  • Build anything - change everything

8
Our Approach
  • Software product line
  • Specification process
  • Feature model
  • Decision support
  • Domain Specific Languages
  • Dynamic framework

9
Software Product Lines
  • Lots of similar applications
  • Framework
  • Components
  • Configuration
  • Extension
  • Bounded/Unbounded
  • Layered approach

10
Specification Process
  • Business intent
  • Roles/personas
  • Essential tasks
  • Packages
  • Screens/Actions
  • IA
  • Look and feel

11
Feature Modeling
  • Commercial products
  • purevariants
  • Big Lever
  • Our approach
  • Feature tree
  • Essential/optional metadata
  • Feature constraints

12
Decision Support
  • Associating optional metadata
  • Decision tree
  • Non-technical users

13
Domain Specific Languages
  • Efficiently encode executable intent
  • Everything is a DSL
  • Language, API, XML, Data model, etc.
  • Flexibility in implementation

When I use a word, it means just what I choose
it to mean
- Humpty Dumpty
14
Domain Specific Languages
  • Abstract grammar vs. Concrete Syntax
  • Projections (storage/editing)
  • Edit cms
  • Store db
  • Publish XML
  • Consume Framework/API

15
Dynamic Framework
  • Powered by parameterization
  • Where are the classes?
  • Merging DSLs with code
  • Inheritance, AOP, mixins (object/class), code
    blocks

16
Lessons Learned
  • Reuse specs - not code
  • Framework vs. code generation
  • Evolution is key

17
Questions?
  • Read the paper )
  • Website www.systemsforge.com
  • Blog www.pbell.com

Email peter_at_pbell.com - Yahoo freshstartsw -
AIM appgeneration
Write a Comment
User Comments (0)
About PowerShow.com