applying innovation in software development
DESCRIPTION
Sometimes the only difference between the winners and the losers is that the winners figure out how to innovate. Innovation is a broad term and this presentation outlines what it means for enterprises and companies involved in developing software. This presentation highlights how innovation can be applied at various stages of software product development and in different ways by applying special techniques, tools and frameworks. Note: This was also a QCon Shanghai Keynote Talk. Full talk up at http://www.infoq.com/cn/presentations/business-innovation Perpetual website: http://www.perpetualny.comTRANSCRIPT
Innovation in the Enterprise
Applying Innovation in Software DevelopmentAmish Gandhi
Keynote Talk
Amish GandhiFounder and Principal at Perpetual: Product Innovation and Development for Finance, Media and Telecom www.perpetualny.com
Innovation Background• Working on innovating financial information services• Working on wearable computing solutions for media • Experience developing emerging technology based products in telecom• Advanced Study Fellow in innovation at MIT
MS Computer Science from Univ. of Texas, Austin
BS Computer Science from Bombay University
Finance
Media
TelecomBackground
Contents
• Intro– What is Innovation– What it is not
• Business Innovation– What it is– Innovators Dilemma
• Innovation in Software Companies– How it is different– Innovation as a discipline
• 7 Steps for Software Innovation
Innovation: Inspiration or Perspiration?
What is Innovation?
Innovation is a process that combines
• discovering an opportunity• blueprinting an idea to seize that opportunity• and implementing that idea to achieve results
No impact, no innovation
What is Innovation (NOT)?
• Innovation is not improvement– Innovation != doing the same thing better– Innovation == doing something different
• Innovation does not go unnoticed– Innovation != something incremental– Innovation == something that results in big impact
• Innovation is not invention – Innovation != Invention = the creation of the idea or method
itself– Innovation == invention applied
Business Innovation
Innovation and Business Impact
• Growing the core • Extending the core• Expanding beyond the core
Innovation path
Business Innovation
1-click shopping Associates Cloud Services
Amazon Innovation Path
Market cap $167B
Continuous Innovation
1994 Company incorporated.1996 Launches Associates Prog1997 1-Click Shopping. 1998 Music and movies1999 Auctions2000 Super Saving Shipping2001 Look Inside The Book
2002 Launches AWS V12003 A9.com search engine2004 Exposes product data 2005 Amazon Prime2006 Amazon Unbox (movies)2007 Amazon MP32007 Amazon Kindle
2009 Free Android shopping app2010 Deals & LivingSocial2011 Prime instant video2011 Amazon local2012 Dynamo DB2013 New national fulfil. model2013 Kindle Fire HDX
MIT Innovation Radar
Business Innovation: Discovery
Platform/Solutions Quadrant
1. The unexpected2. The reality inequality3. Process need4. Market structure changes5. Demographics changes6. Cust. perception change7. New knowledge
Performance demanded at market high end
Progress due to sustaining technologies
Progress due to disruptive technologies
Prod
uct P
erfo
rman
ce
Time
Performance demanded at the low end of the market
Innovators Dilemma
Business Innovation: Opportunities
Disruptivetechnologies
Performance demanded at market high end
Progress due to sustaining technologies
Progress due to disruptive technologies
Prod
uct P
erfo
rman
ce
Time
Performance demanded at the low end of the market
Innovators Dilemma
Business Innovation: Opportunities
MotorizedEngine
Performance demanded at market high end
Progress due to sustaining technologies
Progress due to disruptive technologies
Prod
uct P
erfo
rman
ce
Time
Performance demanded at the low end of the market
Innovators Dilemma
NoSQL
Business Innovation: Opportunities
Innovation in Software Companies
Innovation in Software Companies
Attribute Effect
1. Disruptive technologies New opportunities for disruption
2. Market trends Exponential customer adoption: Realtime, hyperlocal, super-connected, always-on
3. Lower Barrier to Entry Ability to create something from nothing much more easily
4. Competition High number of entrants, big and small
5. Higher level value creation
S/W dev process evolved – 1-2 week delivery cycle is typical vs. 3 month cycle
6. Complex Different software solutions for the same problem
7. Can have huge impact with limited resources
Can unlock new business models. Enterprises should allocate resources to new innovation
Innovation in Software Companies
Performance demanded at market high end
Progress due to sustaining technologies
Progress due to disruptive technologies
Prod
uct P
erfo
rman
ce
Time
Performance demanded at the low end of the market
Innovation in Software Cos: 1. Disruptive Technologies
AWS Android Mapreduce Bigtable Hadoop Hbase NodeJS Scala Cloud Computing Big Data D3.js Coffee Script/Backbone Data Visualization Elastic search Nginx Hudson GO R require.js less/sass/compass, HTML5…
Innovation in Software Cos: 2. Market Trends
Innovation in Software Cos. 3. Lower Barrier to Entry
Everything starts as nothing
Innovation in Software Cos. 4. Competition
Competition
Innovation in Software Companies5. Higher Level Value Creation
Value
Value Value Value Value
Wat
erfa
llAg
ile
Innovation in Software Cos. 6. Complexity
Instagram scaled to 30 million active users with a team of two infrastructure engineers
Innovation in Software Cos.7. Limited resources, huge impact
30,000,000
Innovation in Software Companies
Attribute Effect
1. Disruptive technologies New opportunities for disruption
2. Market trends Exponential customer adoption: Realtime, hyperlocal, super-connected, always-on
3. Lower Barrier to Entry Ability to create something from nothing much more easily
4. Competition High number of entrants, big and small
5. Higher level value creation
S/W dev process evolved – 1-2 week delivery cycle is typical vs. 3 month cycle
6. Complex Different software solutions for the same problem
7. Can have huge impact with limited resources
Can unlock new business models. Enterprises should allocate resources to new innovation
Innovation in Software Companies
Applying Innovation in a Software Company
7 Steps
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
Step 1: Make it the norm
• Make it part of the day-to-day• Manage it like any other corporate function• Give it time and resources• Create a sense of urgency –Not just for PR purposes
• Create the right innovation culture
Entrepreneurial/Intrapreneurial innovation model
Step 1: Make it the norm
Step 1: Make it the norm. How?
Step 1: Make it the norm
-Make it one of your business initiatives-Make it one of your employee objectives-Manage it like any other corporate function
Projectize
Focus on your long term goals Go long
Evaluate your innovation culture and make adjustmentsCulture
Step 1: Make it the norm. How?
Step 1: Make it the norm
Engage legal about protecting Intellectual Property - Plug in to the IP ecosystem. Creating IP is a bonus.
IP
Spread and sell your ideasUse visuals at every step and promote on the intranet and in public boards in the office
Don't talk about “changes” Change makes people nervous. Talk about pursuing new opportunities
Perception
• Software developers are proud of their work
• Eg many open source projects where developers participate to contribute to a common goal
• Tech is cool again• Showcase the latest developments
and activities
Nourish and harness intrinsic motivation
Raise profile ofengineering in the company
Step 1: Make it the norm
Step 1: Make it the norm. How?
• Innovation Friendly Process– Agile– Lean– UCD– Kanban– Continuous integration and delivery– Rapid prototyping– Experimentation time on sprints• Eg Hacker Friday
Step 1: Make it the norm: Innovation friendly processes
Step 1: Make it the norm. How?
Start with this, structure your teams accordingly
Spotify: Scaling Agile
Step 1: Make it the norm
Step 1: Make it the norm
• Tools to manage innovation– Brightidea– IdeaScale– InnoCentive– Innovation Factory– Imaginatik– Sopheon– Spigit– ……….
Step 1: Make it the norm: Tools
Step 1: Make it the norm. How?
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
Step 2: Company Mission
• Should be part of your company mission statement
• An executive champion who believes the new idea is critical and is persistent about it
• A senior sponsor to marshal resources (people, money, time) with a focus on innovation
Top down innovation model
Step 2: Make it a Company Mission
Step 2: Company Mission
• A small number of ambitious projects vetted by organizational top layers
• There should be a mix of – bright, creative minds (to get ideas) and – experienced operators (to keep things practical)
• A process that moves ideas through the system quickly– End to end validation
Top down innovation model
Step 2: Make it part of your Company Mission
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
Step 3: Create an Innovation Culture
1. Challenge or involvement2. Freedom3. Trust or openness 4. Idea time5. Idea support 6. Playfulness or humor 7. Risk-taking 8. Debate 9. Conflict’10. Experimentation
1-9 Ekvall G (1996) Organizational climate for creativity and innovation
• Rate from 1 to 10• Take the sum = your company’s innovation culture score
Score Rating
>90% Super innovator
80-90% Highly creative
70-80% Stable growth
60-70% Warning zone
<60% Danger zone
Step 3: Create an Innovation Culture: Evaluate
Evaluating Innovation Culture
• Flatter org structures
• Open and powerful development environments
• Services and tools to help launch products
• An attitude of experimentation & openness to experiment failure
• Services and tools to test and get user feedback as early as possible
• Generous rewards and recognition for successful innovation
Attributes of innovative software culture
Step 3: Culture
Step 3: Culture
Creativity Enhancing Techniques
• Brainstorming : usually misunderstood– Separate idea generation from idea valuation– Duration? Quantity = quality. • First ideas are usually old• As ideation continues, new ones emerge
– 6-12 people to bring different points of view • Let participants build on each others ideas
Step 3: Create an Innovation Culture
Six Thinking Hats
Information (White)Emotions (Red)Discernment (Black) Optimistic response (Yellow) Creativity (Green)Facilitator (Blue)
Step 3: Create an Innovation Culture
• Identify customer requirements for an ideal product through Product Box• Improve retrospectives with Speed Boat• Prioritize your backlog through the online game Buy a
Feature Online• Plan a successful project through the game Remember the
Future• Develop better release plans with Prune the Product Tree• Understand product usage with Me and My Shadow and
Start Your Day
http://innovationgames.com/agile-teams
Step 3: Create an Innovation Culture
Use Games to encourage creative development
Innovation games in a software group
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
Step 4: Experiment
• Run experiments instead of going on hunches• Experiment lean and quick– Validate your assumptions quickly– Discard ideas, move one, fail fast
• Build early (a working prototype or code)– Many advantages: users, stakeholders
• No penalty for failed experiments• Focus on building real stuff vs. plans/designs• Hack days
Step 4: Experiment
Prototyping Tools
• Flinto• Hop App• Sketch Mirror• Axure• FluidUI• Balsamiq• Wirefy• Keynotopia• DivShot• Invision
Step 4: Experiment: Prototyping Tools
• Twitter Bootstrap• Justinmind• Pidoco• Fieldtest• Sketchflow• FluidUI• iRise• UXPin• Ease.io
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
Internal Collaboration• Plan joint working activities across business units – Eg Editorial and Tech hackathon– BizDev and Tech roadmap brainstorm
• Embed of teams/rotation• Exchange programs within groups• Common codebase (highly indexed/searchable)• Cross-team skill breakdown and knowledge sharing
Step 5: Collaborate
Step 5: Collaborate: Internal
Example of Internal Collaboration
DSL + Phone booths = Manhattan taken
• University collaboration– Always exploring something new,
fresh and new ideas– Work together on a project
• Open up your API and conduct contests
• Engage external dev community– Attract talent– Get community to give back
• Invite external company partners– Talks, brown bag lunches
Step 5: Collaborate
Step 5: Collaborate: External
Involve partners at anearly stage
A critical expert resource in software innovation can have 10X the impact of an average software engineer
External Collaboration
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
Step 6: Innovate at Every Stage
What you are not doing
Innovation
Company Vision
Software Product Development
User Experience
Front End
Middle Layer
Back End
Hardware
Support
Stac
k
Step 6: Innovate at every stage
Software Delivery Process Introspection
What you are not doing
Innovation
Software Product Development
Idea generation
Planning
Software development
Verification
Launch
Feedback
Proc
ess
Step 6: Innovate at every stage
Company Vision
Idea
Gen
Plan
ning
Dev
Verifi
catio
nFe
edba
ckLa
unch
Introspective
Step 6: Innovate at every stage
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scouting
7. Technology & Software Scouting
• Actively seek out new technologies starting to have impact– Competition– Successful startups– Research centers– Conferences (QCon!)
• Trending github projects• Experiment with new technology• Trend to tech ecosystem linking Example
• Wearables growing very fast• What are the components in the ecosystem• What new technologies will be adopted• What new technologies meet our current needs• How can we adopt them
Step 7: Technology/Software Scouting
Technologies/Software Scouting
• NodeJS• Scala• Cloud computing• Big Data• D3.js• Coffee script/backbone• Data visualization…• Elastic search• Nginx• Nolio• Google GO• R (V2)• require.js (javascript dependency
management)• less/sass/compass : css pre-
processorsStep 7: Technology/Software Scouting
• 3D Printing• Bitcoin mining• Machine learning• Ephemeral data• Smartwatch• Grid computing• HTML 5 • CSS3• Game theory• MongoDB• Django• NoSQL• Jquery• Ember• Angular• …….
Sample technologies
having impact in last 2 years
7 Steps
1. Make it the norm2. Make it a company mission3. Create an innovation culture4. Experiment5. Collaborate6. Every stage counts7. Scout
Ideas are no one’s monopoly