Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Roadmapping Overview
Professor John Hosking
Centre for Software Innovation & Department of Computer Science
Never ignore Dilbert …
Technology Roadmapping
• Range of techniques for doing strategic planning• Aim is to relate technologies (available and to be
developed) through to market needs– Usually time dimension incorporated for planning
• Many sorts/specialisations of roadmapping– Product, capability, process, knowledge asset,
integration ….
• Many diagrammatic/documentation formats– Pictorial, multi-layer,
single-layer, bar charts, graphs, …
Types of roadmap
From: Kappel
Roadmap categories
From: http://www.albrightstrategy.com/framework.html
Generic TRM diagram
From http://www.emeraldinsight.com/Insight/viewContentItem.do?contentType=Article&hdAction=lnkhtml&contentId=1550279&dType=SUB&history=false
What’s the point of doing it?
• Relate technologies to products you want to develop and identified market needs
• Identify technologies you’ll need so R&D better focussed
• Understand better what technologies you have available and what they could be used for– Creates transparency– Encourages good knowledge management
• Use to identify R&D outsourcing/partnering– What don’t you want to have to develop that
you need
Technology Push and Market Pull
History
From Phaal: Fast start technology roadmapping
Examples
From: Vähäniitty, et al
Examples
From http://www.onr.navy.mil/gms/example.asp
Examples
From http://www.onr.navy.mil/gms/example.asp
Examples
Examples
Examples
From: http://ranier.hq.nasa.gov/telerobotics_page/FY96Plan/Chap2d.html
Examples
From: http://www.microsoft.com/industry/manufacturing/solutions/lean.mspx
Roadmapping Process
TRM Process
• Look at two techniques to assist– Spidercharts
• Initial cut very lightweight tool
– Fast start Technology Roadmapping• Ex Cambridge U• Lightweight TRM process
• Will use a running example to illustrate– Meta tool platform and applications under
development in CSI
How good are you currently?
• Spidercharts are good for a quick product technology reality check
• Very similar to Strategy Canvas
From: BalmSignificant market need
Your product
Competitor product
Changes over time
MaramaMTE
• Performance engineering tool– Estimation of application performance directly from
software architecture specification• Customer requirements
– Accuracy of prediction– Variety of deployment technologies (.NET, J2EE, …)– Simple architecture specification – what if modelling– Automated test bed deployment– Standard representations– Integration with other SE tools– Realistic test load specification– Reverse engineering support
• Competitor– Performance estimation tool from NICTA
Arch spec End usermodel spec
MaramaMTE Spiderchart
0
0.2
0.4
0.6
0.8
1Accuracy of prediction
Variety of deployment technologies (.NET,J2EE, …)
Simple architecture specification – what ifmodelling
Automated test bed deployment
Standard representations
Integration with other SE tools
Realistic test load specification
Reverse engineering support
MTENICTA
Exercise
• Pick a product you know reasonably well Identify up to 8 significant customer requirements
• Select a competitor product• Construct a spiderchart for your product against market
and competitor• What does this tell you about your product's competitive
advantage and areas of deficiency?• What are the priorities of the requirements?
• Time: 5 minutes– make it rough and ready
TRM preliminaries
• Decide what you are roadmapping– Product, platform, market sector, …
• Get SMT buy in• Assemble a cross disciplinary team• Appoint an owner• Schedule sessions with time between for
research
Cambridge Fast Start TRM Process
• See: Phaal et al Fast-Start Technology Roadmapping• Relatively lightweight process• Standard method is for integrated product-technology
strategic planning• Can be readily adapted for other types of roadmap• Three major elements:
– Mapping market needs to product features– Mapping technologies to product features– Constructing roadmap
• Four workshops:– Market -> Product -> Technology -> Roadmap
Major elements
Running Example
• CSI metatools programme• What’s a metatool?
– Set of tools that support rapid specification and implementation of other tools
– Often used to develop domain specific visual languages for:
• Configuration tasks (eg frameworks, software product lines)– Eg our Eclipse meta tool, other MDE products
• More easily implementing specialised tasks– Eg Our performance estimation tool
• End user oriented task specification– Eg Orion Mapper, XSol process spec tool
– One element in broader Model Driven Engineering approach to software development
Metatool use
Fast Start TRM workshops
From: Phaal et al
Workshop 1
• Establish prioritised future business/market drivers• Start with ‘performance dimensions’ (eg speed, weight, reliability,
aesthetics)• Step up to business/market drivers (customer/business motivators)• Group and prioritise• Summarise in spider charts and tables (cf exercise 1)• Event maps (major trends plus sticky note drivers) are useful too• Also SWOT etc• Look for gaps
Metatool drivers• Market
– Time to develop generated tool– Ease of tool specification– Ease of generated tool use– Ease of installation– Wide range of tool metaphors– Ease of tool integration– Metatool reliability– Generated tool reliability– Generated tool ubiquitously available– Generates to range of platforms– Ability to collaborate
• Business– Time to develop metatool– Cost of maintenance– Reusability of components
Exercise
• Construct a quick prioritised market driver list for a product you are familiar with
• Consider ‘performance dimensions’• Step up to business/market drivers
(customer/business motivators)• Rough and ready• Allow 5 minutes
Workshop 2
• Establish product feature concepts to satisfy drivers– a level down from performance dimensions
• Use eg mind maps to brainstorm possible features• Use a grid to evaluate relationships between drivers and
features• Group features and rank impact for each market driver• Consider alternative product strategies to meet combinations• Look for gaps
Metatools market-product grid (simplified) May be
multiplePrioritisation (out of 10) 10 7 6 5 8 7 9 10 6 4 8 10 8 7 Market/Business Drivers
Product FeatureConcepts
1. T
ime
to d
evel
op g
ener
ated
tool
2. E
ase
of to
ol s
peci
ficat
ion
3. E
ase
of g
en to
ol u
se
4. E
ase
of in
stal
latio
n
5. W
ide
rang
e of
tool
met
apho
rs
6. E
ase
of to
ol in
tegr
atio
n
7. M
etat
ool r
elia
bilit
y
8. G
en to
ol re
liabi
lity
9. G
en to
ol u
biqu
itous
ly a
vailb
le
10. G
ener
ates
to ra
nge
of p
latfo
rms
11. A
bilit
y to
col
labo
rate
A. T
ime
to d
evel
op m
etat
ool
B. C
ost o
f mai
nten
ance
C. R
eusa
bilit
y of
com
pone
nts
Nor
mal
ised
wei
ghtin
g
1. Simple visual metaphors 3 4 1 1 1 1 7.32. Range of visual elements 2 4 4 -1 -1 4.03. Robust implementation platform 1 1 1 3 3 1 2 3 10.04. Powerful behaviour specn 3 2 2 4 1 2 -1 1 8.45. Model transformation support 2 3 1 1 5 1 1 1 -2 -1 1 6.76. Code Generation support 2 3 2 3 1 2 -1 -1 1 6.27. Thin/mobile interface 1 1 1 4 2 1 -1 -1 3.28. Sketch/voice interface 2 1 3 1 -1 -1 1.89. Standards based 1 2 1 2 3.010. Integrated with common platform 1 3 2 2 -1 1 3 2 1 9.311. Modelling element libraries 2 1 1 1 -1 3 3.912. Collaboration support 1 1 5 -1 -1 1 3.5
Exercise
• Construct a quick market-product grid for the product you chose in prev exercise
• Quick list of product features• Construct grid (don’t worry about
maths/normalising for now)• Rough and ready• Allow 5-10 minutes
Workshop 3
• Establish technology solns that could deliver the required features
• Use eg mindmaps to establish/document possible technologies• Group technologies into areas or routes• Use a grid to evaluate relationships between the technologies
and product features• Rank technologies for impact on features• Look for gaps
Metatoolsproduct-tech grid
From prevgrid
8.7 4.0 10.0 8.4 6.7 6.2 3.2 1.8 3.0 9.3 3.9 3.5 Product Feature Concepts
Technology Areas
1. S
impl
e vi
sual
met
apho
rs
2. R
ange
of v
isua
l ele
men
ts
3. R
obus
t im
plem
enta
tion
plat
form
4. P
ower
ful
beha
viou
r spe
cn
5. M
odel
tran
sfor
mat
ion
supp
ort
6. C
ode
Gen
erat
ion
supp
ort
7. T
hin/
mob
ile in
terfa
ce
8. S
ketc
h/vo
ice
inte
rface
9. S
tand
ards
bas
ed
10. I
nteg
rate
d w
ith c
omm
on p
latfo
rm
11. M
odel
ling
elem
ent l
ibra
ries
12. C
olla
bora
tion
supp
ort
Nor
mal
ised
wei
ghtin
g
Core modeller platformEclipse/EMF/GEF 3 4 2 2 3 5 2 3 10.0
Visual studio 3 3 1 1 1 1 1 4 2 2 7.6Java/Swing 4 3 1 3.2
Argo 2 2 1 1 2 1 3.6Metamodeling notations
UML based -1 1 2 1 2 2 2.2Pounamu based 3 2 3 1 1 4.8
Constraint implementationOCL 1 2 1 1 2 1 3.3
Java event handlers 3 2 1 3.0Model trans/code generation
VML+ based 1 1 4 2 1 1 1 1 1 5.2ATL based 1 3 2 1 2 1 1 3.8JET based 1 2 4 1 1 1 1 1 4.6
Integration/collaborationService based 2 1 2 1 1 3 2.5
Repository based 1 1 2 1 1 2.1Thin/mobile client
MUPE 1 1 2 1 1 1 3 3.1Laszlo 2 2 1 1 3 1 2 1 4.4
Ajax/DHTML 2 1 3 2 1 1 2.7Silverlight 2 2 4 1 1 1 3.4
Voice recognition tech 3 0.4Sketch recognition tech 3 0.4
Exercise
• Construct a quick feature-technology grid for the product line in previous exercise
• List of product features and prioritisations from prev exercise
• Quick list of technologies• Construct grid (don’t worry about
maths/normalising for now)• Rough and ready• Allow 5-10 minutes
Workshop 4
• Construct the initial roadmap drawing market and technology drivers together
• The features, technologies, categories in the grid provide the roadmap language
• Use time scales levels, product strategies (eg platforms)• Key milestones, product evolution, technology
programmes plotted and linked• Identify gaps for outsourcing/partnerships
Metatools Example
• Have simplified somewhat• Fast TRM typically has product features
– – I’ve used product groups
• Have collapsed some of the Technology areas• Resources would typically include:
– Capability needs (new staff etc)– Development methodologies/toolsets needed
• Upskilling/training requirements
• Need cost estimates, responsibilities etc
Market/business
ProductGroups
Tech Areas
visual metaphors/elements
platform/architecture
behaviour specn
model transformation /code gen
thin/mobile interface
sketch/voice interface
collaboration support
R&D
Resources
Pounamu
MaramaCore Modeller
BasicMarama
MetaModeller
2005 2006 2007
MetaModeller +
modelConstraints
Marama +Model
Constraints &Transform
Marama +Visual
Constraints
New metatoolnotations
In Pounamu
VML+ inPounamu
VML+notation
Eclipse GEF/EMF/JET
Meta modelConstraint
notation
Core ModellerArchitecture
OCL event handler
MaramaSketch
Design/implnMarama
DifferDesign/impln
Marama ToruaModel transformation
Kaitiaki inMarama implmn
Kaitiakinotation
Laszlo Thin clientProtoype
Integrated eventmetamodel
Laszlo Voice techSketchPackage
EclipseOCL
Pounamu DifferAlgorithm
ViTABaLnotation
ASE Paper ICSE Paper
Exercise
• Construct a quick roadmap for the product line in previous two exercises
• Think about timescales, order, groupings, products
• Construct roadmap• Rough and ready• Do after class as an exercise
Evolution/maintenance
• Technology roadmaps are not static• Must update regularly if they are to be useful• Ownership important
– Provides someone tasked to instigate updates
• For software need at least annual updates– Need to watch out for left field technologies
appearing
• Need for drill down docn support
Reflections: from Kappel
• Kappel has many other excellent observations on•Metrics for assessing roadmapping•Good practices to observe•Observational studies on usefulness
Roadmapping tools
• Alignent Vision Strategist – www. alignent.com– Based on Motorola approach to roadmapping
• GMS tool – www.onr.navy.mil/gms/gms.asp– Free tool from US Military
• Roadmap templates – e.g. www.280group.com/productroadmaptemplates.htm– Various PPT/Excel templates for roadmapping
• I use spreadsheets and Powerpoint or Visio
Vision Strategist
GMS
280 Group Templates
Wrap up