1. Yves Caseau - Digital Age Information Systems – November 2015 1/20
Digital Business Transformation: InformationDigital Business Transformation: Information
Systems Disruption and Software FactoriesSystems Disruption and Software Factories
Yves CASEAU
AXA Group Head of Digital
NATF (National Academy of Technologies of France)
Public version without images
2. Yves Caseau - Digital Age Information Systems – November 2015 2/20
OutlineOutline
1. Digital Revolution
When companies need to evolve together with their
customers and with their technology environment
2. Information Systems Revolution
Master the new set of tools, the new ways of working
… because “software is eating the world”
3. Software Factories
Build the capability to constantly evolve your software
assets
The Compass
The Map
The Target
Software
Strategy
Customer
Empowerment
Intention
Economy
Increasing
Complexity
Digital Innovation
Continuous
Change
MeasureMeasure
ObsessionObsession
Markets are
Conversations
3. Yves Caseau - Digital Age Information Systems – November 2015 3/20
Part One : Digital RevolutionPart One : Digital Revolution
Software
Strategy
Customer
Empowerment
Intention
Economy
Increasing
ComplexityDigital Innovation
Continuous
Change
MeasureMeasure
ObsessionObsession
Markets are
Conversations
The Map
4. Yves Caseau - Digital Age Information Systems – November 2015 4/20
Staying in Touch with Digital CustomersStaying in Touch with Digital Customers
Markets Are Conversations –
Listen and reply
Our Customer Is The Architect of Her Own Experience
Pulling Opportunities from Customer Intimacy
Complexity and Continuous Change require Agility
5. Yves Caseau - Digital Age Information Systems – November 2015 5/20
// finds a cell with a min count (heuristic)
findPivot(g:Grid) : any
-> let minv := 10, cmin := unknown in
(for c in g.cells
(if (c.value = 0 & c.count < minv)
(minv := c.count, cmin := c)),
cmin)
// solves a sudoku : branch on possible
// values using a recursive function
// branch(...) does all the work :)
solve(g:Grid) : boolean
-> when c := findPivot(g) in
exists(v in (1 .. 9) |
(if c.possible[v]
branch((c.value := v,
solve(g)))
else false))
else true
// first propagation rule
r1() :: rule( c.value := v =>
(store(c.line.counts,v,0),
store(c.column.counts,v,0),
store(c.square.counts,v,0),
for v2 in (1 .. 9)
(if (v != v2 & c.possible[v2]) noLonger(c,v2),
for c2 in (c.line.cells but c) forbid(c2,v),
for c2 in (c.column.cells but c) forbid(c2,v),
for c2 in (c.square.cells but c) forbid(c2,v))))
// if c.count = 1, the only possible value is certain
r2() :: rule( c.count := y & y = 1 =>
c.value := some(y in (1 .. 9) | c.possible[y]))
// if a value v is possible only in one cell, it is certain
r3() :: rule( updateCount(cs,v) & cs.counts[v] <= 1
=> when c := some(c in cs.cells |
c.value = 0 & c.possible[v]) in
c.value := v
else contradiction!())
No Digital Leader WithoutNo Digital Leader Without
a Software Strategya Software Strategy
“Software is eating the world”
– M. Andreesen
Your software sourcing & crafting strategy says which
ecosystems you will be part of
Agility (both speed and flexibility) is determined by your software strategy
6. Yves Caseau - Digital Age Information Systems – November 2015 6/20
Constantly Changing SoftwareConstantly Changing Software
Requires New MethodsRequires New Methods
Source code becomes more important
(shown, shared and modified)
Since building is a constant task,
the process becomes more important than the result
The heart of the game is to constantly learn new skills
7. Yves Caseau - Digital Age Information Systems – November 2015 7/20
Platforms, APIs & Open Source PracticePlatforms, APIs & Open Source Practice
White-box integration with source code
There is a treasure trove of value in the existing open source communities
APIs is a service architecture game :
modularity, event-oriented architecture, data exposition
Good software is built incrementally through feedback
8. Yves Caseau - Digital Age Information Systems – November 2015 8/20
Part Two : Information Systems RevolutionPart Two : Information Systems Revolution
The Compass
9. Yves Caseau - Digital Age Information Systems – November 2015 9/20
The New Way of WorkingThe New Way of Working
of Web’s Giantsof Web’s Giants
“Measure Obsession”
The most precious currency
in the digital world is the customer’s time
Build versus Buy
Lean Startup and Devops
10. Yves Caseau - Digital Age Information Systems – November 2015 10/20
Platforms Attract Value andPlatforms Attract Value and
Satisfy CustomersSatisfy Customers
Need for more and more software,
at cheaper prices
The need for constant innovation implies open innovation
Enroll ecosystems to develop your software
The platform game is “give and take”
11. Yves Caseau - Digital Age Information Systems – November 2015 11/20
Design EmotionalDesign Emotional
Smartphone ExperiencesSmartphone Experiences
• Smartphone revolution is
more than Mobile Web
• Apps should support daily conversations:
Content strategy is necessary
• “Do one thing really well”
• Design “to reduce friction & to increase pleasure”
12. Yves Caseau - Digital Age Information Systems – November 2015 12/20
A New Toolbox :A New Toolbox :
Programming Has Changed !Programming Has Changed !
Test: do you write code ?
do you Google it ?
Welcome to massively distributed
programming (e.g., from big data to connected objects)
Systems programming, no longer computers
Advanced AI and machine learning algorithms are
available as open source libraries
13. Yves Caseau - Digital Age Information Systems – November 2015 13/20
« Data is the New Code » :« Data is the New Code » :
Big Data DisruptionsBig Data Disruptions
Cost and technology disruption
“Data is becoming at heart of
Computer Science”. T. Hoffman
A new way of programming : data-oriented, sub-linear, machine-
learning grown
Each Web Giant is investing massively to be ahead of its Big Data
game
14. Yves Caseau - Digital Age Information Systems – November 2015 14/20
Part Three : Software FactoriesPart Three : Software Factories
The Target
15. Yves Caseau - Digital Age Information Systems – November 2015 15/20
Software Factories :Software Factories :
Focus on Building & AutomationFocus on Building & Automation
Continuous build,
integration and delivery
A process that is run continuously must be automated
DevOps : manage Infrastructure a code and lean cross-
function collaboration
16. Yves Caseau - Digital Age Information Systems – November 2015 16/20
Lean Software Factory :Lean Software Factory :
Cross-functional Team PracticesCross-functional Team Practices
Cross-functional teams that live,
eat and breathe together
Team Problem solving : Kaizen to learn collaboration
Visual Management : systemic thinking / stigmergy
Kanban to reduce WIP and streamline handovers
17. Yves Caseau - Digital Age Information Systems – November 2015 17/20
Love your Code andLove your Code and
Value your Software TeamsValue your Software Teams
Code reviews and pair programming
Coding standards, discipline and pride
Incremental development produces junk.
Constant refactoring is mandatory (tending the garden)
Value your teams : let them learn
18. Yves Caseau - Digital Age Information Systems – November 2015 18/20
Lean Startup and Lean Software FactoryLean Startup and Lean Software Factory
team Product
Lean Software Factory / Devops
Lean Startup Product Development Cycle
(software)
code
Customer
Agile Teams
•SCRUM
•Extreme
Programming
•Lean Software
Software Factory
•Configuration
•Automation
•Infrastructure as
code
Continuous process
•Build
•Test
•Delivery
Growth Hacking
•Satisfaction &
Retention
•Virality
•Scaling
Minimum Viable
Product
•Agile Team
•Lean UX
•Focus+Excellence
Design Thinking
•Painstorming
•Problem focus
•Prototyping
•UVP
Cross-
functional
teams from
two processes
Common
artefacts:
UVP, User
Stories and
Product
Embedded
cycles, not linear
processes
19. Yves Caseau - Digital Age Information Systems – November 2015 19/20
Digital Asset Maturity ModelDigital Asset Maturity Model
API Maturity Engagement
Platform
Mobile-centric
User Experience
Digital Software-
centric Culture
Level 1 API exposure Cloud stack & open
source
Mobile first – obsessed
with customer’s time
Grow skills versus hire
Level 2 Open API Devops : continuous
delivery
Conversation centric –
content strategy
Developers contribute
to product design
Level 3 Micro-service
Architecture
Analytics & Big Data Leverage all smartphone
technologies (sensors &
OS)
Cross-functional
autonomous teams
Level 4 (Jeff Bezos memo) : All
services expose API
Machine Learning &
continuous adaptation
Emotional design Co-development with
customer in continuous
loop
Reference
Example
Age of
Platform
Michael
Harte
Apple Web’s
Giants
20. Yves Caseau - Digital Age Information Systems – November 2015 20/20
ConclusionConclusion
Software is eating the world => become a software company
Build you own software
Be the best at what you do
Empower those who build
From customer to code, from code to customer
Lean Startup Product Development
Lean Softfware Factory (Devops)
Each relies on the other
It’s a new world !
New kinds of software objects
From projects to continuous flow of products
Networks of cross-functional autonomous teams
Notes de l'éditeur
Complexity: key challenge for management + key challenge for CIO
Markets Are Conversations – Come Prepared !
In the world of content abundance, to grab attention you must listen
Sharing a conversation with the customer requires a content strategy
Conversations thrive on communities
(2) Our Customer Is The Architect of Her Own Experience
Digital experiences are “mash-up” of contents, products and services from different sources
Digital customer-centricity implies to relinquish control
The ultimate form of personalization is not smart analytics, it is customer empowerment
(3) Pulling Opportunities from Customer Intimacy
Getting to know your customers without bothering them
Learn from your customers’ digital traces
Customers will not elect to let you listen if you have nothing to say
(4) Complexity and Continuous Change require Agility
Increasing complexity of 21st century prevents forecasting
The central role of the user in the digital world adds to the complexity brought by technological change
Agility means constant and fast re-adjustment towards the environment
Software defines the customer experience
Marc Andreesen: More and more major businesses and industries are being run on software and delivered as online services—from movies to agriculture to national defense. Many of the winners are Silicon Valley-style entrepreneurial technology companies that are invading and overturning established industry structures. Over the next 10 years, I expect many more industries to be disrupted by software, with new world-beating Silicon Valley companies doing the disruption in more cases than not.
http://genius.com/Marc-andreessen-why-software-is-eating-the-world-annotated
(2) Software defines your innovation strategy Software strategy defines your cost structure
(3) Because of constant change, your software base must change constantly ! This is the topic of the talk in a nutshell
This new digital world is a world when software changes constantly
Google estimate that each software module is modified once a month
The dream of doing all changes for meta-data parametrization has failed . Black-box components
This is a major change from 10 years ago and from the system engineering culture.
You do not build such an ever-changing system with the same tools and top-down methods that we learned to 20 years ago.These methods adapts to their constantly changing environment – the software factory is a training academy
This is the white box metaphor : what has changed is that the black box component approach does not work any longer
Need for many eyeballs
Need to change the code at the source level
Leveraging the power of open source communities has changed from an interesting option into a must do
Changes are so deep they happen at source code level – both in the pieces or at the glue levelYou need to assemble pieces which are built with the same features (recursive nature)
The Web Giant know this and they play the game heavily high quality and great support communitybecause good software is built incrementally through feedback
(3) collaborative price - requires culture change Since adoption is proportional to genericity, using open source software is a “connected art”.
Everything gets measure – from performance to usability – Technical back-office indicators as well as engagement front-office
A/B testing, eyeball tracking and web analytics
Fact-based decisions
Focust on the speed and fluidity of customer experience
A new culture that builds its software - This the GAFA Software strategy
We talked about Lean Startup - Eric Ries is a hero at Google we shall talk about devops in the slides to come, Facebook being a good example of this strong collaboration between development and operations.
Platform is buzzword of the decade –
Makes perfect sense : only way to attract value (there are more smart minds outside the company than inside)
What is more and more true: right way to satisfy the customer because she is the architect of her own experience
Direct consequence of part 1: we need to churn more and more SW, whole life duration is shorter and shorter – we have a problem
Open innovation was always a good idea, it is now a requirement because of the rate of change
Learn to leverage existing ecosystems : A Software ecosystem is a platform strategy that has succeeded
Let other developers develop your mobile applications – Leverage the wealth of cloud services
Your software cost structure is eventually a key driver for your economic survival – learn from the best and leverage the cheapest solutions
Invite yourself into open source communities though APIs – another give & take game
You need to think as a platform but yon need to use other platform as well.The Telco world of the last decade is full of failed platform initiatives
A décorer avec les autres slides du steerco
Look at Lean Startup slide (experience & design) !
Include next slide !
Smartphone Revolution is More than Mobile Web
The smartphone is the remote control of our connected life
The smartphone is an amazing platform: computing, video, sensors, recognition, etc.
Apps should support daily conversations
Content strategy necessary
Bring “recurring usage” value
“Do one thing really well”
Beware of “portal app”
Clear “Unique Value Proposition”
Superfast (time is precious)
Fun to use
design : “reduce friction & increase pleasure”
Emotional design
Keep short format ! (add detailed stuff in notes !)
Anecdote : Book that I bought in a convenience store on a tiny village of North Iceland
Although I have taught computing and computer science at university level and run software projects for 30 years, I know only half because I am a dinosaur
This is the power of community, this is why you need to hire young developers
Another reason to hire new developers – Von Neuman dinosaurs such as myself need to team up with distributed mindset
From specialty hardware to distributed systems : grid, cloud, etc. – It great to talk about Internet of things, it’s better to learn to program it
You do not need Computer Science PhDs to prepare the future, but you need a new open, curious and collaborative mindset
I will not give you the usual speech about the capability of Big Data to create new service opportunities or to bring your customer analytics to a new level.
All of this is true, there are many great books or testimonies about it.
I want to talk about Big Data versus our existing information systems –
Big Data is a cost and technology disruption – You can store almost anything at a constantly lowering price you can run massively distributed algorithms with low efforts and low costs
What are the new frontiers of computer science : semantics & natural language processing, image recognition, autonomous robots. In all these fields, advances are made by running simple algorithms on huge amounts of dataLors de la conférence FoE 2013, Thomas Hoffman a tenu des propos similaires à ceux d’Henri Verdier: “Big data is getting at the core of computer science”.
(3) This “new way of programming”, centered on data, may be characterized in three ways:
Massively parallel programming because of the distribution of very large amount of data. The data distribution architecture becomes the software architecture because, as the volume grows, it becomes important to avoid “moving data”.
Sub-linear algorithms (whose compute time grows slower than the amount of data that they process) play a key role. We heard many great examples about the importance of such algorithms, such as the use of Hyperloglog counters in the computation of Facebook social graph diameter.
Algorithms need to be adaptive and tuned incrementally from their data. Hence machine learning becomes a key skill when one works on a very large amount of data.
(4) cf. “Barbarian Attack” by Nicolas Colin – a series of great talk showing the disruption of this new way of working.
The factory metaphor is useful to capture the need for automation, configuration management and rigorous synchronized execution
It balances the wrong perception that agile means free spirits without constraints
(1) test-driven development + run all tests as early as possible + support learn startup principles (show me)
Automated build from detailed configuration management lots of techniques and open-source software available
Lots of great experiences available on libe from Facebook, Netlix, Spotify
(A) Cross-functional synchronized teams
Small team, small batches, incremental work
Synchronized : work on the same tempo
Kanban is a visual tool to help the team work at a common pace (pull versus pull)Visual management has many other use to help the team to work and learn together
(B) Team problem solving
Visual description of the problem: a drawing is worth a thousands words
Search for root causes, using the « Five Whys » approach team work with all stakeholders
Build a collective action plandetailed: what will be done, by who, how and why …
Regular check of the plan application and its consequencesneed for discipline & perseverance
(C) Visual management
Visualize planning and milestones Rite: Sprint Planning Meeting
Visualize « workflow » (WBS) see the process and the succession of steps
Visualize « issues » / Display the problem-related A3
A place for collective memory, hence reflection
(D) Kanban
Visualize all tasks assigned to teams i.e.: to place post-its into cells
Reduce WIP (Work in Process) Add constraints to the work load No more than X post-its per cell
JIT management (Pull flows) – simpler and smoother handover + cross-functional help !Cf. Bytel versus Free story
Hackathon image : a good symbol of a culture that values code and developers
OCTO reports that this is a common trait of GAFA
My proposal to you is that it is a mandatory consequence of the digital world challenge
Code that changes constantly needs to be reviewed
Code reviews can only be efficient if they are fun – requires both discipline and pride.
Producing poorly structured and unorganized code is a natural consequence of incremental cycles. “Pull architecture” helps (architect to help developers) but this is not enough – refactoring
Need a story ! (tagline)
Add three bubles
Each process needs the other
cross-functional teams
Common artefacts: UVP / User stories / Product
Trouver une photo pour le rendre fun
Penser à un tableau ?
Photos:
Age of Platform
M Harte
Apple Guidelines
Octo