1. PRAGMATIC SOFTWARE
INNOVATION
VALUE CREATION IN SOFTWARE TEAMS
I VAN AAEN, DEPARTMENT OF COMPUTER SCIENCE
OCTOBER 23 2014
Pragmatic Software Innovation
• High-cost development must produce high-value
results
• Software teams need to opportunistically pursue
innovation in everyday projects to create value
• Software innovation is typically a learning process
across knowledge areas
• Software innovation is often accidental – but rarely
random
• Pragmatic software innovation is about inquiring
into problem domain needs and ways to meet these
needs in a valuable way
2. Inquiry in
traditional
Software
Engineering
were presented by SAIC and TRW [Kitaoka 00, Bostelaar 00].
CUMMULATIVE
COST
RQTS PLAN
LIFE CYCLE
PLAN
PROGRESS
THROUGH
STEPS
RISK ANALYSIS
RISK ANALYSIS
RISK ANALYSIS
RISK
ANAL.
PROTO-TYPE1
CONCEPT OF
OPERATION
PROTOTYPE3
PROTOTYPE2
EMULATIONS
MODELS
EVALUATE
ALTERNATIVES
IDENTIFY,
RESOLVE RISKS
OPERATIONAL
PROTOTYPE
BENCHMARKS
DETERMINE
OBJECTIVES,
ALTERNATIVES,
CONSTRAINTS
COMMITMENT
PARTITION
REVIEW
DEVELOP-MENT
PLAN
INTEGRATION
AND TEST
PLAN
SOFTWARE
RQTS
REQUIREMENTS
VALIDATION
DESIGN VALIDATION
AND VERIFICATION
SOFTWARE
PRODUCT
DESIGN
DETAILED
DESIGN
CODE
DEVELOP, VERIFY
NEXT LEVEL PRODUCT
IMPLEMEN-TATION
ACCEPT-ANCE
TEST
INTEGRA-TION
AND
TEST
UNIT
TEST
PLAN NEXT
PHASES
Figure 1: Original Diagram of Spiral Development
2 CMU/SEI-2000-SR-008
Boehm, B. W. (1988). A spiral
model of software development
and enhancement. Computer,
21(5), 61-72.
Inquiry in Iterative Development
24 hours
30 days
Product Backlog
As prioritized by Product Owner
Sprint Backlog
Backlog tasks
expanded
by team
Potentially Shippable
Product Increment
Daily Scrum
Meeting
3. Software Technologies and Innovation
Level of Detail
Integration Testing
Project Time
Low
High
Requirements
Elicitation
System
Testing
Object Design Unit Testing
Acceptance
Testing
Analysis
Design
• Object-orientation
• Abstractions
• Software libraries
• Patterns
• Refactoring
• Automated testing
• Integrated Development
Environments (IDEs)
• Iterative development
• Competent staff
• Self-organizing teams
• Software-intensive systems
• Increasingly emergent
systems
• ...
Modern development allows for changes even late in a project
We no longer should stop innovating once we start building
Requirements Approaches vs
Design Activities
Requirement approaches have limitations compared to
design activities
Design activities are:
• Flexible rather than rigid
• Reflective rather than prescriptive
• Problem-setting rather than problem-solving
Satisfying all requirements does not ensure a best design
L i m , Y. - K . , S t o l t e r m a n , E . , A n d Te n e n b e rg , J . 2 0 0 8 . T h e A n a t o m y O f P r o t o t y p e s : P r o t o t y p e s A s F i l t e r s ,
P r o t o t y p e s A s M a n i f e s t a t i o n s O f D e s i g n I d e a s . Acm Tr a n s . C o m p u t . - H u m . I n t e r a c t . 1 5 , 2 , 1 – 2 7 .
4. Pragmatism
"The Covered Wagon of the Great Western Migration.
1886 in Loup Valley, Nebraska"
Learning by doing
• Practical problems demand creative
problem solutions
• The pragmatic problem solving
process of trial & error
John Dewey (1859-1952): Logic: The Theory of
Inquiry (1938)
Expanding cycle
of means
Converging cycle of
ends-in-views
New means
New ends
Deweyan
Pragmatism
Ideas for
problem
solution
Inquiry
Exploration
Experimentation
Means/Ends-in-view
Evaluation &
Reflection
Problematic
open
indeterminate
situation
Stable and
determinate
situation
5. The Telerehab Case
• A system to support physiotherapy for newly
operated patients
• Rehabilitation at home under physiotherapist
supervision
• Using
• A Microsoft Kinect in combination with a
video link, a PC or tablet in the patient’s home
• A cam-equipped PC in the therapist’s office
Ends Change as Means Emerge
Product
Process
Project
1st Vision X-ray
2nd Biofeedback
3rd Trend Analyst
4th Timestretch
1st Prototype Highlight movements
2nd Prototype Classify movements
3rd Prototype Data Integration
1st Use Context Instruction
2nd Learning
3rd Coaching
4th Quality time
Paradigm
4th Aggregate data
1st Evaluation Connection problem
2nd Evaluation Unused data
3rd Evaluation No productivity gain
4th Stress risk
6. Means and ends are Inseparable
Product
Process
Project
Articulated
use context
Articulated
needs
Alternative
use context
Discovered
needs
Paradigm
Designed
solution
Untapped
potential
Design
alternative
s
Emerging
options
Visiont
(relative to the use context known at a given time t)
Evaluationst
• Design
• Use context
• Needs
• Experiments
(relative to the vision
at time t)
Solutions create needs we didn’t know about
Any solution is a new beginning
Innovation and Iterations
24 hours
30 days
Product Backlog
As prioritized by Product Owner
Sprint Backlog
Backlog tasks
expanded
by team
Potentially Shippable
Product Increment
Daily Scrum
Meeting
Review, Reflection
and Planning
Every iteration is a learning cycle
Every learning cycle offers new opportunities
Possibly major
revisions to the
Product Backlog
7. Paradigm
Where customer/user and developer
expertise meets
Do we get it right?
New value: Reflection over requirements
Alice Through the Looking Glass - Guildford Castle Gardens
Jeanne Argent
Product
Discovering new technological options
Can we do more?
New value: Affordance over solution
Marc Capuano electric violin
8. Project
Improvisation over a shared theme
Are we on the right track?
New value: Vision over assignments
Process
We must be able to improvise and seize
opportunities
How do we select and mature ideas on the
fly?
New value: Facilitation over structuration
Justitia statue found on burg square of Bruges, Belgium
Photo: Ivo Berg
9. Expanding cycle
of means
Converging cycle of
ends-in-views
New
features
New goals
Pragmatic
Software
Innovation
Technical
platform
Configuration
• Use context (Paradigm)
• Design + affordance (Product)
• Vision (Project)
• Criteria (Process)
Needs and
constraints
Initial problem
and
capabilities
Release
Product or
Service
Thank You
Polasek: Man Carving His Own Destiny