Post on 30-May-2015
description
transcript
I VA N A A E N , D E PA R T M E N T O F C O M P U T E R S C I E N C E O C T O B E R 2 3 2 0 1 4
PRAGMATIC SOFTWARE INNOVATION
VA L U E C R E AT I O N I N S O F T WA R E T E A M S
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
Inquiry in traditional Software
Engineering
2 CMU/SEI-2000-SR-008
applications discussed in [Bernstein 00] and [DeMillo 00] use a complementary best practiceas their anchor point milestones: the AT&T/Lucent/Telcordia Architecture Review Board pro-cess [AT&T 93]. Xerox’s Time-to-Market process uses the anchor point milestones as hard-ware-software synchronization points for its printer business line [Hantos 00].
Several successful large aerospace spiral projects were also discussed. The best documentedof these is the CCPDS-R project discussed in [Royce 98]. Its Ada Process Model was thepredecessor of the Rational Unified Process and USC MBASE approach, which have bothbeen used on a number of successful spiral projects [Jacobson 99, Boehm 98], as has the SPCEvolutionary Spiral Process [SPC 94]. Further successful large aerospace spiral projectswere presented by SAIC and TRW [Kitaoka 00, Bostelaar 00].
RQTS PLANLIFE CYCLE PLAN
CONCEPT OFOPERATION
EMULATIONS MODELS BENCHMARKS
REVIEW
COMMITMENTPARTITION
RISK ANALYSIS
RISKANAL.
RISK ANALYSIS
RISK ANALYSIS
PROTO-TYPE1
PROTOTYPE3
OPERATIONALPROTOTYPE
EVALUATEALTERNATIVESIDENTIFY,RESOLVE RISKS
PROGRESSTHROUGHSTEPS
CUMMULATIVECOST
DETERMINEOBJECTIVES,ALTERNATIVES,CONSTRAINTS
DEVELOP-MENT PLAN
INTEGRATIONAND TEST
PLANDESIGN VALIDATIONAND VERIFICATION
REQUIREMENTSVALIDATION
SOFTWAREPRODUCTDESIGN
DEVELOP, VERIFYNEXT LEVEL PRODUCT
SOFTWARERQTS
IMPLEMEN-TATION
ACCEPT-ANCE TEST
INTEGRA-TION AND
TEST
UNITTEST
CODE
DETAILEDDESIGN
PROTOTYPE2
PLAN NEXTPHASES
Figure 1: Original Diagram of Spiral Development
Boehm, B. W. (1988). A spiral model of software development and enhancement. Computer, 21(5), 61-72.
Inquiry in Iterative Development
30 days
24 hours
Product BacklogAs prioritized by Product Owner
Sprint Backlog
Backlog tasksexpandedby team
Potentially ShippableProduct Increment
Daily ScrumMeeting
Software Technologies and Innovation
Level of Detail
Project Time
Low
High
Requirements Elicitation
System Testing
Unit TestingObject Design
Integration Testing
AcceptanceTesting
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 projectWe 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 r g , 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 . A c m T r 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 .
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
• 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
The Telerehab Case
Ends Change as Means Emerge
Product
Process
Project
Paradigm
1st Use Context Instruction
2nd Learning
3rd Coaching
4th Quality time
1st Prototype Highlight movements
2nd Prototype Classify movements
3rd Prototype Data Integration
4th Aggregate data
1st Vision X-ray
2nd Biofeedback
3rd Trend Analyst
4th Timestretch
1st Evaluation Connection problem
2nd Evaluation Unused data
3rd Evaluation No productivity gain
4th Stress risk
Means and ends are InseparableProduct
Process
Project
Paradigm
Articulated use context
Articulated needs
Alternative use context
Discovered needs
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 aboutAny solution is a new beginning
Innovation and Iterations
30 days
24 hours
Product BacklogAs prioritized by Product Owner
Sprint Backlog
Backlog tasksexpandedby team
Potentially ShippableProduct Increment
Daily ScrumMeeting
Review, Reflection and Planning
Every iteration is a learning cycleEvery learning cycle offers new opportunities
Possibly major revisions to the Product Backlog
ParadigmWhere customer/user and developer expertise meets
Do we get it right?
New value: Reflection over requirements
Alice Through the Looking Glass - Guildford Castle GardensJeanne Argent
ProductDiscovering new technological options
Can we do more?
New value: Affordance over solution
Marc Capuano electric violin
ProjectImprovisation over a shared theme
Are we on the right track?
New value: Vision over assignments
ProcessWe 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, BelgiumPhoto: Ivo Berg
Expanding cycle of means
Converging cycle of ends-in-views
New features
New goals
Pragmatic Software
InnovationTechnical 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