SlideShare a Scribd company logo
1 of 79
Download to read offline
Binary Crosswords
http://www.laurentcerveau.org
lcerveau@nephorider.com lcerveau@mmyneta.com
• Last time we talked about hiring an engineering
team
• No we talk about creating a product with this
team
• I do not pretend to give a top notch description
of all technics mentioned here.
• In fact this is even be the opposite. This is not at
all the purpose of the talk
• So again a manager oriented thing :-)
We start where we left
• You have ideas/specs/people (3)
• You ask around for all the best tool and
technologies…a little bit
• You still want to believe technical development
is deterministic
• You have read a book on how it works
• Your planning is so that you will get investor with
a SkyRocket stuff in 6 months
Ready to make a product?
“Life is what happens when you’re
busy planning other plans”
So after approximately 6 weeks
• You regret to have left your job to start a
company
• You hesitate at learning all programming
languages yourself: “I know it should be done
this way”
• Process tools have already changed twice
• One guy has left, so you hesitate to fire a
second one, because 3-2 = 1
Somewhere this is disturbing
• The more you talk to so called “experts”, the
more you are confused
• You know where you want to go, and what your
product should feel like.
• Simply you do not know which road to take,
where to start fix it, and you need more than an
anchor
• Time to step back
So let’s find our way
• Apprehend the technical complexity of a
product of today
• Tune your setup
• Consider the constituting blocks, and what
neuronal connections should be developed.
It’s so easy for your kids
Preamb: again, the following are based on my personal
feelings along this path. I do not pretend to write an history
book.
A little bit of history
Dawn of personal computing
Unix MacintoshZX81
Micro Computing: we write applications to manipulate data and
first of all to create documents (text, music, …) and move them
to an another support (CD, paper). Content is the output and we
forget Unix
1970 1981 1984
A networks comes in
Server comes back : we write content to present it and technology to search it.
Clients are strong but start to be seen as way to browse content, in addition to
create it. Age of “universal hope” : all Microsoft, all Java, all HTML
1993 1995 1998/91995
Mosaic Windows 95 Altavista Google
Free of my movements and friends
gmail iPhone
Mobile development is creating a stronger link client to server.
Browsing of document turns to service (API). Social media provides
influence of other. Cloud computing bring programmable computing
power. Document export is now barely an issue (press online players,
Streaming music)
2004 2008 2008
Facebook
2006
AWS creation
My data, my objects
2009 2010 2013
Big Data (Hadoop) Nest Founded Android market lead
Mobile becomes the number one priority. Technologies are created to
handle massive data processing, connected object appears. We have
gone so far from document creation. All this has become a full graph
and power consumption is a concern.
Complexity
Desktop computer
Mobile
Server
Connected objects
Complexity
Complexity
Complexity
Complexity
Paradox
• The more complex it is, the easier it looks. Think
about how works a human body. Marvelous
machine still not imitated
• In vast complex system, each small components
brings its own world and complexity. A little bit
like “all cells contains the DNA”
• A saying goes that the problems solvable by
kids are the most complex one in computer
science
Do not mix the small complexity versus the bigger vision one
Additionnally
• Natural movement: when one has understood
something, it becomes a reference. The more
you deal with technology, the less you believe in
one, and the more you think about the
usefulness of all. Techno of today fades out
tomorrow
• Creativity brings creativity. Why do some people
still look for the universal programming language
or method or whatever, when the global system
is about individuality. Paradox with above.
Additionnally (2)
• The more you advance in development the more
the simplicity of your product will translate into
the proper use of complex technology
• Said differently : trying to force a complex
system to fit into one simple view is like putting a
circle in a square shape (of the same surface)
If you believe there is one “easy” solution you’re
doomed ,After a while it is as much a question of feeling
than knowledge
Set up
Cards in hand
Humans
Tools
Means
Process
Cards in hand
• Humans are your team. You should enthusiast
them every day, while driving strongly into one
direction
• Means are all the technologies available. There
are so many and understanding one is already a
complex thing
• Tools are here to help you accomplish your
goal. But they also require a learning curve and
will do nothing by themselves
Process will transform all those elements in a fluid system
Humans
The CTO
• A respectable CTO should be a at first a
choreographer
• A respectable CTO should still code with what he
doesn’t know and knows how to debug.
• A respectable CTO should always have the question
in my mind : “If I was really coming to this team today,
how much time would it take for me to get in, and what
would I understand in regards to the target goal”
Do not believe a CTO is only someone with “more technical
knowledge”
The team
• As a macro system/ as a micro system
• Macro should always prevail for a product
development.Enforcing this will prevent individualism
• Each ones brings competence and a Dreyfus level
model to the macro system.
• Creating a grammar for the product in your team is
essential
In the end, written form will prevail. The one who believes
that it is evident because it looks like will lose.
Process- Engineering Project
Manager
• EPM is a concept I met in a big company.
• Job description is “remove the road blocks”
• Takes note, nag people, manage the bug stack,
do report. This is a no-bullshit role.
• Think about him/her as a second right hand
The only process that will work is the one that you work hard
enough to transform into an habit. Someone needs to work
harder
Common pitfalls
• Complexity is always done in the name of simplicity.
• After development freedom comes too much
process
• “Do it now” works better in 75% of the cases.
Otherwise write a bug
• Why are people so afraid to throw away things in
the name of “in case of”. Throw them
• Avoid arguing, enforce rules
• A so called expert is having only his own brain
The advancing guitarist
By Mick Goodrick
“The best guitar book ever written””
Apply to software development
The advancing guitarist for product
development
• Explore the power of limitations
• Don’t be too fast: spend time on all what you can
get from a detail
• If you enter competition keep it for you. Works
fine within your team. Being alone when you
work, is the case in 90% of the situations
• Nothing is ever done. This is not the case in
guitar learning, why would you believe it in
Software development
Means
• The vast fields of available technologies
• Stuff of today will be partially obsolete tomorrow.
Whatever people pretends. Still fundamentals
stay. Each generation makes a problem
important
• Choice is always a problem. Take the one that
corresponds to your company need : recruiting,
time to market, cost
Means
Can I develop faster with this one?
As a pure personal opinion, and based on my experience, I
consider no technologies brings faster development in
absolute
But…
• If you get class A developers, it will go faster
• Some technology will be faster to reach an
intermediate state (e.g do I need a prototype)
• Some technologies will get an ecosystem
momentum.
• There are always cases where a technology will
fit your constraints (e.g databases)
• You may choose a technology for a part of the
way and switch to another. Be contextual.
Tools
Rule of thumb
• The only good tool is the one you will adopt. No
other. You often read “The tool does this”. This is
not true: you do this
• You need basically
• a bug system ,
• a build/distribution system,
• Ideally a test and/or report system
Bug system
Some example I did cross
It has to become the center point. This is the rule to
enforce “write a bug”. Defer the philosophical
discussion on “is it a bug or a feature”
Anyway…it’s a clever todo list…
Build and Deployment system
• Make software available as soon as it is done.
Everyone has the right to some regression
• Goes with creating different environments: prod, dev.
• Ensure the fact that “anyone” can deploy. If mistakes
are made this will be a good lesson
• May be painful on mobile (provisioning profiles…)
• Goes also with a source version control system and
with versioning
Better more versions, even not finished, than too less
Test and report system
• Testing has a value only if you test something that you
believe will not happen
• Testing comes through usage. It is understanding how
things should work
• Automate tests before a big operation : warning this is
time consuming
• Reporting is way to link to the user: you may need to
create it yourself
Example: mobile client reporting
• Create a log system : defines event class ,
format, storage mechanism.
• First have user send it manually through email
• Format the email nicely
• Make sure it can be activated remotely
• Make an API to report it
• Have it work when no user is registered
Each step will help you understand what you track
From the start report
So what?
• The tool created here provides a common reference,
a common vocabulary and talks to everyone
• It is a preamble to real user situation and so is not an
“internal use tool only”
• It makes the team ask questions about what happens
really in regards to what is supposed to happen
• It get cold facts
Digging into test and usage is about being drastically
honest
Some Technical verbiage
Goal of this part
• Provides beacon, push all questions around one
topic
• Give some familiar technology names
• Certainly not be exhaustive
Elements in the complexity
Infrastructure
Server
Mobile Desktop
Elements in the complexity
API
Language
Misc
Storage
Infrastructure
• The power engine of your system: compute,
storage, network
• You’ve heard about cloud: infrastructure
becomes programmable and instantly
configurable: one more element gets the
complexity DNA
• Main Providers
What are we talking about?
Many other players around
Answer to particular need, with different level of abstractions
and easiness of manipulations. Complete ecosystem around
• Your system will have to be accessed, back-up,
monitored, restored (in emergency), started and stopped
potentially by many developers, secured, code deployed
• Contrary to the belief that it makes infrastructure easier,
after a while it forces you to understand many concepts of
networking
• With great power comes great responsibilities (this is a
personal advertisement for Nephorider)
• The eternal question : it does not work the same on my
local machine : Docker!
Implications
Languages
The short/no discussion version
• There is assembly
• There is C
• There is Lisp
• OK… maybe Java
Maybe it requires more: explore this
• Procedural, Object-oriented, functional
• Compiled, just in time compilation, interpreted
• Statically typed, dynamically typed
• On the client, on the server
A language provides a way to think about a problem
Servers
What server are we talking about?
• Web server versus application server
• Web server deals with the requests
• Application servers do the work
• Between them there is something called CGI
(roughly).”I pass the work to my neighbor”. When it
fails find which one.
Web servers
• The first in line: needs to be fast
• Multiple server for fixed constants and fast answer:
CDN
• Handle protocol. Remember 80 (non secure) and
443 (non secure) : verify you talk to the right guy,
speak in coded language. Read hackers book
Application servers
• May or not work in a CGI like setup (PHP)
• They bring a methodology to develop application (MVC)
• They link endpoints request to objects, concepts and
storage
API
Scope of word: application programming
interface
• Exposes a nice learnable and usable model with
a set of functions of methods of the concept of
your product
• Apply also to the libraries and frameworks you
are using
• Not an HTTP only concern of course!!!
• Should never exposes how it is implemented
Some principles
• Make sure it is learnable easily if you want it to
be adopted
• Make sure it is 200% coherent
• Use the HTTP vocabulary available, read about
REST concepts
• Make it auto describing : no ambiguity when
reading…or parsing. Uniquely identify each
entity
Words you may bumped into
• Slices (things little by
little), fields (get only
partial elements in
answer)
• JSON means nothing
• XML neither…
Storage
Storage for what?
• Organize and keep data “that has a meaning”
• Stored data has another form than live one. It
may requires extra data to access it fast
• Always question of compromises : how much
size to store it, how fast can you access it, how
fast can you write it
• Growth of the system is important (sharding)
Databases, databases
• At first we all wanted to think structurally
• SQL is a programming language designed for
managing data held in a non relational database
manegement system.
• We can say this is talking about a model
The NoSQL movement
• Different types all addressing a particular
problem in the SQL world or dealing with
particular type of data, in some memory
configuration
• Do not use it only to “do NOSQL”. When you use
it , adopt the mindset
Document Graph
Key-Value Column based
(Big data oriented)
Desktop
One of the most famous technology trio
Looks so easy it becomes incredibly
complex and powerful
• Originally Document based
• Separation of content and display
• Document became programmable and turned
into applications
• Integrate in an ecosystem : tags are element of
a semantic puzzle (e.g SEO)
Evolutions
• Full feature frameworks (AngularJS, EmberJS…)
provides methodology to develop application
• Graphics become more elaborate (e.g SVG)
• Handle different output device (e.g Bootstrap)
this is what is called “responsive”
Strangely enough I find it has less profusion of “new”
technologies…but this is very personal
Mobile (native)
Lanscape
Send back to the past
• Back to some “forgotten” problems
• Power consumption, network quality, speed of
execution
• But way more demanding as “output level” :
usability, animation…
Communication device
• Not only as phone
• But as a set of sensors for me (e.g GPS…)
• 2 paths communications: normal HTTP,
Notifications in all ways (APN…)
Misc
• Search : use component (ElasticSearch) or
Service (Algolia)
• Social networks : gives at first a way to identify
yourself, but also access to a vast database of
data/users (OpenGraph)
• Measure your result : Analytics
A few more things to thing about
Thank You!

More Related Content

What's hot

Leadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling EngineersLeadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling Engineersbcantrill
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05guestaa42e9
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Guang Ying Yuan
 
Debugging (Docker) containers in production
Debugging (Docker) containers in productionDebugging (Docker) containers in production
Debugging (Docker) containers in productionbcantrill
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimationAlberto Brandolini
 
Human Centering Your Association and the Rise of Microinteractions
Human Centering Your Association and the Rise of MicrointeractionsHuman Centering Your Association and the Rise of Microinteractions
Human Centering Your Association and the Rise of MicrointeractionsMatt Curtin
 
CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45Bilal Ahmed
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionAlberto Brandolini
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Alberto Brandolini
 
UX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper VerplankenUX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper VerplankenUX Antwerp Meetup
 
Why projects fail
Why projects failWhy projects fail
Why projects failPonto GP
 
Large Components in the Rearview Mirror
Large Components in the Rearview MirrorLarge Components in the Rearview Mirror
Large Components in the Rearview MirrorMichelle Brush
 
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?Mustafa Ekim
 
Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018
Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018
Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018Codemotion
 

What's hot (20)

Leadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling EngineersLeadership Without Management: Scaling Organizations by Scaling Engineers
Leadership Without Management: Scaling Organizations by Scaling Engineers
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
 
Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05Smart+Shanghai+2008 09 05
Smart+Shanghai+2008 09 05
 
The alignment
The alignmentThe alignment
The alignment
 
HackYale 0-60 in Startup Tech
HackYale 0-60 in Startup TechHackYale 0-60 in Startup Tech
HackYale 0-60 in Startup Tech
 
Debugging (Docker) containers in production
Debugging (Docker) containers in productionDebugging (Docker) containers in production
Debugging (Docker) containers in production
 
The final words about software estimation
The final words about software estimationThe final words about software estimation
The final words about software estimation
 
Human Centering Your Association and the Rise of Microinteractions
Human Centering Your Association and the Rise of MicrointeractionsHuman Centering Your Association and the Rise of Microinteractions
Human Centering Your Association and the Rise of Microinteractions
 
CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45CS101- Introduction to Computing- Lecture 45
CS101- Introduction to Computing- Lecture 45
 
Idea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw editionIdea stickies green bar - Wroclaw edition
Idea stickies green bar - Wroclaw edition
 
It's XP, Stupid
It's XP, StupidIt's XP, Stupid
It's XP, Stupid
 
Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021Redesigning everything ITARC Stockholm 2021
Redesigning everything ITARC Stockholm 2021
 
DevOps
DevOpsDevOps
DevOps
 
UX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper VerplankenUX Beers - A Story about product management at uman.ai - Jasper Verplanken
UX Beers - A Story about product management at uman.ai - Jasper Verplanken
 
Why projects fail
Why projects failWhy projects fail
Why projects fail
 
Extreme DDD modelling
Extreme DDD modellingExtreme DDD modelling
Extreme DDD modelling
 
Large Components in the Rearview Mirror
Large Components in the Rearview MirrorLarge Components in the Rearview Mirror
Large Components in the Rearview Mirror
 
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
Yenikod Yazılım Kursu - Kodlama Öğrenebilir Miyim? Kodlama Bana Göre Mi?
 
Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018
Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018
Thierry de Pauw - Feature Branching considered Evil - Codemotion Milan 2018
 
QA is Broken, Fix it!
QA is Broken, Fix it!QA is Broken, Fix it!
QA is Broken, Fix it!
 

Similar to Binary Crosswords Product Roadmap

POWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership GrantPOWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership GrantLynne Thomas
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software DevelopmentAhmet Bulut
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)Julien SIMON
 
Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24TechSoup
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and cultureChris Winters
 
SAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and DesignSAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and DesignMichael Heron
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!VMware Tanzu
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!Andrew Shafer
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solvingFlowa Oy
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)MiniBar
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&processSheSaysCREATIVE
 
Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008coniecto
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesMike Clement
 
Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...Lviv Startup Club
 
What I have learned by dealing with a dungeon master
What I have learned by dealing with a dungeon masterWhat I have learned by dealing with a dungeon master
What I have learned by dealing with a dungeon masterRaúl Araya Tauler
 
EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?FIAT/IFTA
 
Human computer interaction -Design and software process
Human computer interaction -Design and software processHuman computer interaction -Design and software process
Human computer interaction -Design and software processN.Jagadish Kumar
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)Mike Harris
 

Similar to Binary Crosswords Product Roadmap (20)

POWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership GrantPOWRR Tools: Lessons learned from an IMLS National Leadership Grant
POWRR Tools: Lessons learned from an IMLS National Leadership Grant
 
Agile Software Development
Agile Software DevelopmentAgile Software Development
Agile Software Development
 
The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)The Lost Tales of Platform Design (February 2017)
The Lost Tales of Platform Design (February 2017)
 
Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24Webinar - Design thinking 101 - 2018-07-24
Webinar - Design thinking 101 - 2018-07-24
 
Feedback loops between tooling and culture
Feedback loops between tooling and cultureFeedback loops between tooling and culture
Feedback loops between tooling and culture
 
SAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and DesignSAD01 - An Introduction to Systems Analysis and Design
SAD01 - An Introduction to Systems Analysis and Design
 
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
Cloud Foundry Summit 2015: Devops, microservices and platforms, oh my!
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!
 
Coaching teams in creative problem solving
Coaching teams in creative problem solvingCoaching teams in creative problem solving
Coaching teams in creative problem solving
 
Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)Software development management slides by George Berkowski (Hailo)
Software development management slides by George Berkowski (Hailo)
 
05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process05 DIGI CREATIVE people&process
05 DIGI CREATIVE people&process
 
Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008Avram ODonovan Blogtalk2008
Avram ODonovan Blogtalk2008
 
Software Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code GamesSoftware Craftsmanship and Agile Code Games
Software Craftsmanship and Agile Code Games
 
The Road to DITA
The Road to DITAThe Road to DITA
The Road to DITA
 
Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...Artur Suchwalko “What are common mistakes in Data Science projects and how to...
Artur Suchwalko “What are common mistakes in Data Science projects and how to...
 
CMS Crash Course!
CMS Crash Course!CMS Crash Course!
CMS Crash Course!
 
What I have learned by dealing with a dungeon master
What I have learned by dealing with a dungeon masterWhat I have learned by dealing with a dungeon master
What I have learned by dealing with a dungeon master
 
EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?EVAIN Artificial intelligence and semantic annotation: are you serious about it?
EVAIN Artificial intelligence and semantic annotation: are you serious about it?
 
Human computer interaction -Design and software process
Human computer interaction -Design and software processHuman computer interaction -Design and software process
Human computer interaction -Design and software process
 
It's XP Stupid (2019)
It's XP Stupid (2019)It's XP Stupid (2019)
It's XP Stupid (2019)
 

More from TheFamily

Building a design culture from day one
Building a design culture from day oneBuilding a design culture from day one
Building a design culture from day oneTheFamily
 
Individual Contributors vs Managers
Individual Contributors vs ManagersIndividual Contributors vs Managers
Individual Contributors vs ManagersTheFamily
 
Build the decentralized team you ever dreamed of
Build the decentralized team you ever dreamed ofBuild the decentralized team you ever dreamed of
Build the decentralized team you ever dreamed ofTheFamily
 
CEOs best practices to win time back & focus on what matters
CEOs best practices to win time back & focus on what mattersCEOs best practices to win time back & focus on what matters
CEOs best practices to win time back & focus on what mattersTheFamily
 
Managing fully remote teams
Managing fully remote teamsManaging fully remote teams
Managing fully remote teamsTheFamily
 
State of European Tech by Atomico
State of European Tech by AtomicoState of European Tech by Atomico
State of European Tech by AtomicoTheFamily
 
Building a real estate startup
Building a real estate startupBuilding a real estate startup
Building a real estate startupTheFamily
 
A VC view on Enterprise Sales
A VC view on Enterprise SalesA VC view on Enterprise Sales
A VC view on Enterprise SalesTheFamily
 
Find your style and create emotions
Find your style and create emotionsFind your style and create emotions
Find your style and create emotionsTheFamily
 
From product to ecosystem
From product to ecosystemFrom product to ecosystem
From product to ecosystemTheFamily
 
Demystifying the product black box
Demystifying the product black boxDemystifying the product black box
Demystifying the product black boxTheFamily
 
The secrets to create bank brand love
The secrets to create bank brand loveThe secrets to create bank brand love
The secrets to create bank brand loveTheFamily
 
Building an insurance startup with Alan, Luko, Coverd & Balderton
Building an insurance startup with Alan, Luko, Coverd & BaldertonBuilding an insurance startup with Alan, Luko, Coverd & Balderton
Building an insurance startup with Alan, Luko, Coverd & BaldertonTheFamily
 
Mixing Product & Tech by Jean Lebrument, CTO & CPO at Brigad
Mixing Product & Tech by Jean Lebrument, CTO & CPO at BrigadMixing Product & Tech by Jean Lebrument, CTO & CPO at Brigad
Mixing Product & Tech by Jean Lebrument, CTO & CPO at BrigadTheFamily
 
A new breed of CTO - Philippe Vimard, CTO & COO at Doctolib
A new breed of CTO - Philippe Vimard, CTO & COO at DoctolibA new breed of CTO - Philippe Vimard, CTO & COO at Doctolib
A new breed of CTO - Philippe Vimard, CTO & COO at DoctolibTheFamily
 
Building a logistics startup  with Trusk, Totem & SpaceFill
Building a logistics startup  with Trusk, Totem & SpaceFillBuilding a logistics startup  with Trusk, Totem & SpaceFill
Building a logistics startup  with Trusk, Totem & SpaceFillTheFamily
 
Building an accounting startup with Fred de la compta, Acasi & Chaintrust
Building an accounting startup with Fred de la compta, Acasi & ChaintrustBuilding an accounting startup with Fred de la compta, Acasi & Chaintrust
Building an accounting startup with Fred de la compta, Acasi & ChaintrustTheFamily
 
Scale your tech team from 0 to Series A
Scale your tech team from 0 to Series A Scale your tech team from 0 to Series A
Scale your tech team from 0 to Series A TheFamily
 
Onboarding developers and setting them up for success
Onboarding developers and setting them up for successOnboarding developers and setting them up for success
Onboarding developers and setting them up for successTheFamily
 
Apprendre à penser comme un journaliste
Apprendre à penser comme un journalisteApprendre à penser comme un journaliste
Apprendre à penser comme un journalisteTheFamily
 

More from TheFamily (20)

Building a design culture from day one
Building a design culture from day oneBuilding a design culture from day one
Building a design culture from day one
 
Individual Contributors vs Managers
Individual Contributors vs ManagersIndividual Contributors vs Managers
Individual Contributors vs Managers
 
Build the decentralized team you ever dreamed of
Build the decentralized team you ever dreamed ofBuild the decentralized team you ever dreamed of
Build the decentralized team you ever dreamed of
 
CEOs best practices to win time back & focus on what matters
CEOs best practices to win time back & focus on what mattersCEOs best practices to win time back & focus on what matters
CEOs best practices to win time back & focus on what matters
 
Managing fully remote teams
Managing fully remote teamsManaging fully remote teams
Managing fully remote teams
 
State of European Tech by Atomico
State of European Tech by AtomicoState of European Tech by Atomico
State of European Tech by Atomico
 
Building a real estate startup
Building a real estate startupBuilding a real estate startup
Building a real estate startup
 
A VC view on Enterprise Sales
A VC view on Enterprise SalesA VC view on Enterprise Sales
A VC view on Enterprise Sales
 
Find your style and create emotions
Find your style and create emotionsFind your style and create emotions
Find your style and create emotions
 
From product to ecosystem
From product to ecosystemFrom product to ecosystem
From product to ecosystem
 
Demystifying the product black box
Demystifying the product black boxDemystifying the product black box
Demystifying the product black box
 
The secrets to create bank brand love
The secrets to create bank brand loveThe secrets to create bank brand love
The secrets to create bank brand love
 
Building an insurance startup with Alan, Luko, Coverd & Balderton
Building an insurance startup with Alan, Luko, Coverd & BaldertonBuilding an insurance startup with Alan, Luko, Coverd & Balderton
Building an insurance startup with Alan, Luko, Coverd & Balderton
 
Mixing Product & Tech by Jean Lebrument, CTO & CPO at Brigad
Mixing Product & Tech by Jean Lebrument, CTO & CPO at BrigadMixing Product & Tech by Jean Lebrument, CTO & CPO at Brigad
Mixing Product & Tech by Jean Lebrument, CTO & CPO at Brigad
 
A new breed of CTO - Philippe Vimard, CTO & COO at Doctolib
A new breed of CTO - Philippe Vimard, CTO & COO at DoctolibA new breed of CTO - Philippe Vimard, CTO & COO at Doctolib
A new breed of CTO - Philippe Vimard, CTO & COO at Doctolib
 
Building a logistics startup  with Trusk, Totem & SpaceFill
Building a logistics startup  with Trusk, Totem & SpaceFillBuilding a logistics startup  with Trusk, Totem & SpaceFill
Building a logistics startup  with Trusk, Totem & SpaceFill
 
Building an accounting startup with Fred de la compta, Acasi & Chaintrust
Building an accounting startup with Fred de la compta, Acasi & ChaintrustBuilding an accounting startup with Fred de la compta, Acasi & Chaintrust
Building an accounting startup with Fred de la compta, Acasi & Chaintrust
 
Scale your tech team from 0 to Series A
Scale your tech team from 0 to Series A Scale your tech team from 0 to Series A
Scale your tech team from 0 to Series A
 
Onboarding developers and setting them up for success
Onboarding developers and setting them up for successOnboarding developers and setting them up for success
Onboarding developers and setting them up for success
 
Apprendre à penser comme un journaliste
Apprendre à penser comme un journalisteApprendre à penser comme un journaliste
Apprendre à penser comme un journaliste
 

Recently uploaded

Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...lizamodels9
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...lizamodels9
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfPaul Menig
 
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...lizamodels9
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Vip Female Escorts Noida 9711199171 Greater Noida Escorts Service
Vip Female Escorts Noida 9711199171 Greater Noida Escorts ServiceVip Female Escorts Noida 9711199171 Greater Noida Escorts Service
Vip Female Escorts Noida 9711199171 Greater Noida Escorts Serviceankitnayak356677
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableDipal Arora
 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfpollardmorgan
 
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service DewasVip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewasmakika9823
 
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024christinemoorman
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMRavindra Nath Shukla
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsApsara Of India
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Dave Litwiller
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.Aaiza Hassan
 
Catalogue ONG NUOC PPR DE NHAT .pdf
Catalogue ONG NUOC PPR DE NHAT      .pdfCatalogue ONG NUOC PPR DE NHAT      .pdf
Catalogue ONG NUOC PPR DE NHAT .pdfOrient Homes
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Servicediscovermytutordmt
 
Eni 2024 1Q Results - 24.04.24 business.
Eni 2024 1Q Results - 24.04.24 business.Eni 2024 1Q Results - 24.04.24 business.
Eni 2024 1Q Results - 24.04.24 business.Eni
 

Recently uploaded (20)

Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Mehrauli Delhi 💯Call Us 🔝8264348440🔝
 
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
Call Girls In Connaught Place Delhi ❤️88604**77959_Russian 100% Genuine Escor...
 
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
Call Girls In Sikandarpur Gurgaon ❤️8860477959_Russian 100% Genuine Escorts I...
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdf
 
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
Call Girls In Radisson Blu Hotel New Delhi Paschim Vihar ❤️8860477959 Escorts...
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Vip Female Escorts Noida 9711199171 Greater Noida Escorts Service
Vip Female Escorts Noida 9711199171 Greater Noida Escorts ServiceVip Female Escorts Noida 9711199171 Greater Noida Escorts Service
Vip Female Escorts Noida 9711199171 Greater Noida Escorts Service
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdfIntro to BCG's Carbon Emissions Benchmark_vF.pdf
Intro to BCG's Carbon Emissions Benchmark_vF.pdf
 
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service DewasVip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
Vip Dewas Call Girls #9907093804 Contact Number Escorts Service Dewas
 
The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024The CMO Survey - Highlights and Insights Report - Spring 2024
The CMO Survey - Highlights and Insights Report - Spring 2024
 
Monte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSMMonte Carlo simulation : Simulation using MCSM
Monte Carlo simulation : Simulation using MCSM
 
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call GirlsCash Payment 9602870969 Escort Service in Udaipur Call Girls
Cash Payment 9602870969 Escort Service in Udaipur Call Girls
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
M.C Lodges -- Guest House in Jhang.
M.C Lodges --  Guest House in Jhang.M.C Lodges --  Guest House in Jhang.
M.C Lodges -- Guest House in Jhang.
 
Catalogue ONG NUOC PPR DE NHAT .pdf
Catalogue ONG NUOC PPR DE NHAT      .pdfCatalogue ONG NUOC PPR DE NHAT      .pdf
Catalogue ONG NUOC PPR DE NHAT .pdf
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 
Eni 2024 1Q Results - 24.04.24 business.
Eni 2024 1Q Results - 24.04.24 business.Eni 2024 1Q Results - 24.04.24 business.
Eni 2024 1Q Results - 24.04.24 business.
 
KestrelPro Flyer Japan IT Week 2024 (English)
KestrelPro Flyer Japan IT Week 2024 (English)KestrelPro Flyer Japan IT Week 2024 (English)
KestrelPro Flyer Japan IT Week 2024 (English)
 

Binary Crosswords Product Roadmap

  • 2. • Last time we talked about hiring an engineering team • No we talk about creating a product with this team • I do not pretend to give a top notch description of all technics mentioned here. • In fact this is even be the opposite. This is not at all the purpose of the talk • So again a manager oriented thing :-) We start where we left
  • 3. • You have ideas/specs/people (3) • You ask around for all the best tool and technologies…a little bit • You still want to believe technical development is deterministic • You have read a book on how it works • Your planning is so that you will get investor with a SkyRocket stuff in 6 months Ready to make a product?
  • 4. “Life is what happens when you’re busy planning other plans”
  • 5. So after approximately 6 weeks • You regret to have left your job to start a company • You hesitate at learning all programming languages yourself: “I know it should be done this way” • Process tools have already changed twice • One guy has left, so you hesitate to fire a second one, because 3-2 = 1
  • 6. Somewhere this is disturbing • The more you talk to so called “experts”, the more you are confused • You know where you want to go, and what your product should feel like. • Simply you do not know which road to take, where to start fix it, and you need more than an anchor • Time to step back
  • 7. So let’s find our way • Apprehend the technical complexity of a product of today • Tune your setup • Consider the constituting blocks, and what neuronal connections should be developed.
  • 8. It’s so easy for your kids
  • 9. Preamb: again, the following are based on my personal feelings along this path. I do not pretend to write an history book. A little bit of history
  • 10. Dawn of personal computing Unix MacintoshZX81 Micro Computing: we write applications to manipulate data and first of all to create documents (text, music, …) and move them to an another support (CD, paper). Content is the output and we forget Unix 1970 1981 1984
  • 11. A networks comes in Server comes back : we write content to present it and technology to search it. Clients are strong but start to be seen as way to browse content, in addition to create it. Age of “universal hope” : all Microsoft, all Java, all HTML 1993 1995 1998/91995 Mosaic Windows 95 Altavista Google
  • 12. Free of my movements and friends gmail iPhone Mobile development is creating a stronger link client to server. Browsing of document turns to service (API). Social media provides influence of other. Cloud computing bring programmable computing power. Document export is now barely an issue (press online players, Streaming music) 2004 2008 2008 Facebook 2006 AWS creation
  • 13. My data, my objects 2009 2010 2013 Big Data (Hadoop) Nest Founded Android market lead Mobile becomes the number one priority. Technologies are created to handle massive data processing, connected object appears. We have gone so far from document creation. All this has become a full graph and power consumption is a concern.
  • 19. Paradox • The more complex it is, the easier it looks. Think about how works a human body. Marvelous machine still not imitated • In vast complex system, each small components brings its own world and complexity. A little bit like “all cells contains the DNA” • A saying goes that the problems solvable by kids are the most complex one in computer science Do not mix the small complexity versus the bigger vision one
  • 20. Additionnally • Natural movement: when one has understood something, it becomes a reference. The more you deal with technology, the less you believe in one, and the more you think about the usefulness of all. Techno of today fades out tomorrow • Creativity brings creativity. Why do some people still look for the universal programming language or method or whatever, when the global system is about individuality. Paradox with above.
  • 21. Additionnally (2) • The more you advance in development the more the simplicity of your product will translate into the proper use of complex technology • Said differently : trying to force a complex system to fit into one simple view is like putting a circle in a square shape (of the same surface) If you believe there is one “easy” solution you’re doomed ,After a while it is as much a question of feeling than knowledge
  • 24. Cards in hand • Humans are your team. You should enthusiast them every day, while driving strongly into one direction • Means are all the technologies available. There are so many and understanding one is already a complex thing • Tools are here to help you accomplish your goal. But they also require a learning curve and will do nothing by themselves Process will transform all those elements in a fluid system
  • 25.
  • 27. The CTO • A respectable CTO should be a at first a choreographer • A respectable CTO should still code with what he doesn’t know and knows how to debug. • A respectable CTO should always have the question in my mind : “If I was really coming to this team today, how much time would it take for me to get in, and what would I understand in regards to the target goal” Do not believe a CTO is only someone with “more technical knowledge”
  • 28. The team • As a macro system/ as a micro system • Macro should always prevail for a product development.Enforcing this will prevent individualism • Each ones brings competence and a Dreyfus level model to the macro system. • Creating a grammar for the product in your team is essential In the end, written form will prevail. The one who believes that it is evident because it looks like will lose.
  • 29. Process- Engineering Project Manager • EPM is a concept I met in a big company. • Job description is “remove the road blocks” • Takes note, nag people, manage the bug stack, do report. This is a no-bullshit role. • Think about him/her as a second right hand The only process that will work is the one that you work hard enough to transform into an habit. Someone needs to work harder
  • 30. Common pitfalls • Complexity is always done in the name of simplicity. • After development freedom comes too much process • “Do it now” works better in 75% of the cases. Otherwise write a bug • Why are people so afraid to throw away things in the name of “in case of”. Throw them • Avoid arguing, enforce rules • A so called expert is having only his own brain
  • 31. The advancing guitarist By Mick Goodrick “The best guitar book ever written”” Apply to software development
  • 32. The advancing guitarist for product development • Explore the power of limitations • Don’t be too fast: spend time on all what you can get from a detail • If you enter competition keep it for you. Works fine within your team. Being alone when you work, is the case in 90% of the situations • Nothing is ever done. This is not the case in guitar learning, why would you believe it in Software development
  • 33. Means
  • 34. • The vast fields of available technologies • Stuff of today will be partially obsolete tomorrow. Whatever people pretends. Still fundamentals stay. Each generation makes a problem important • Choice is always a problem. Take the one that corresponds to your company need : recruiting, time to market, cost Means
  • 35. Can I develop faster with this one? As a pure personal opinion, and based on my experience, I consider no technologies brings faster development in absolute
  • 36. But… • If you get class A developers, it will go faster • Some technology will be faster to reach an intermediate state (e.g do I need a prototype) • Some technologies will get an ecosystem momentum. • There are always cases where a technology will fit your constraints (e.g databases) • You may choose a technology for a part of the way and switch to another. Be contextual.
  • 37. Tools
  • 38. Rule of thumb • The only good tool is the one you will adopt. No other. You often read “The tool does this”. This is not true: you do this • You need basically • a bug system , • a build/distribution system, • Ideally a test and/or report system
  • 39. Bug system Some example I did cross It has to become the center point. This is the rule to enforce “write a bug”. Defer the philosophical discussion on “is it a bug or a feature” Anyway…it’s a clever todo list…
  • 40. Build and Deployment system • Make software available as soon as it is done. Everyone has the right to some regression • Goes with creating different environments: prod, dev. • Ensure the fact that “anyone” can deploy. If mistakes are made this will be a good lesson • May be painful on mobile (provisioning profiles…) • Goes also with a source version control system and with versioning Better more versions, even not finished, than too less
  • 41. Test and report system • Testing has a value only if you test something that you believe will not happen • Testing comes through usage. It is understanding how things should work • Automate tests before a big operation : warning this is time consuming • Reporting is way to link to the user: you may need to create it yourself
  • 42. Example: mobile client reporting • Create a log system : defines event class , format, storage mechanism. • First have user send it manually through email • Format the email nicely • Make sure it can be activated remotely • Make an API to report it • Have it work when no user is registered Each step will help you understand what you track
  • 43. From the start report
  • 44. So what? • The tool created here provides a common reference, a common vocabulary and talks to everyone • It is a preamble to real user situation and so is not an “internal use tool only” • It makes the team ask questions about what happens really in regards to what is supposed to happen • It get cold facts Digging into test and usage is about being drastically honest
  • 46. Goal of this part • Provides beacon, push all questions around one topic • Give some familiar technology names • Certainly not be exhaustive
  • 47. Elements in the complexity Infrastructure Server Mobile Desktop
  • 48. Elements in the complexity API Language Misc Storage
  • 50. • The power engine of your system: compute, storage, network • You’ve heard about cloud: infrastructure becomes programmable and instantly configurable: one more element gets the complexity DNA • Main Providers What are we talking about?
  • 51. Many other players around Answer to particular need, with different level of abstractions and easiness of manipulations. Complete ecosystem around
  • 52. • Your system will have to be accessed, back-up, monitored, restored (in emergency), started and stopped potentially by many developers, secured, code deployed • Contrary to the belief that it makes infrastructure easier, after a while it forces you to understand many concepts of networking • With great power comes great responsibilities (this is a personal advertisement for Nephorider) • The eternal question : it does not work the same on my local machine : Docker! Implications
  • 54.
  • 55. The short/no discussion version • There is assembly • There is C • There is Lisp • OK… maybe Java
  • 56. Maybe it requires more: explore this • Procedural, Object-oriented, functional • Compiled, just in time compilation, interpreted • Statically typed, dynamically typed • On the client, on the server A language provides a way to think about a problem
  • 58. What server are we talking about? • Web server versus application server • Web server deals with the requests • Application servers do the work • Between them there is something called CGI (roughly).”I pass the work to my neighbor”. When it fails find which one.
  • 59. Web servers • The first in line: needs to be fast • Multiple server for fixed constants and fast answer: CDN • Handle protocol. Remember 80 (non secure) and 443 (non secure) : verify you talk to the right guy, speak in coded language. Read hackers book
  • 60. Application servers • May or not work in a CGI like setup (PHP) • They bring a methodology to develop application (MVC) • They link endpoints request to objects, concepts and storage
  • 61. API
  • 62. Scope of word: application programming interface • Exposes a nice learnable and usable model with a set of functions of methods of the concept of your product • Apply also to the libraries and frameworks you are using • Not an HTTP only concern of course!!! • Should never exposes how it is implemented
  • 63. Some principles • Make sure it is learnable easily if you want it to be adopted • Make sure it is 200% coherent • Use the HTTP vocabulary available, read about REST concepts • Make it auto describing : no ambiguity when reading…or parsing. Uniquely identify each entity
  • 64. Words you may bumped into • Slices (things little by little), fields (get only partial elements in answer) • JSON means nothing • XML neither…
  • 66. Storage for what? • Organize and keep data “that has a meaning” • Stored data has another form than live one. It may requires extra data to access it fast • Always question of compromises : how much size to store it, how fast can you access it, how fast can you write it • Growth of the system is important (sharding)
  • 67. Databases, databases • At first we all wanted to think structurally • SQL is a programming language designed for managing data held in a non relational database manegement system. • We can say this is talking about a model
  • 68. The NoSQL movement • Different types all addressing a particular problem in the SQL world or dealing with particular type of data, in some memory configuration • Do not use it only to “do NOSQL”. When you use it , adopt the mindset Document Graph Key-Value Column based (Big data oriented)
  • 70. One of the most famous technology trio
  • 71. Looks so easy it becomes incredibly complex and powerful • Originally Document based • Separation of content and display • Document became programmable and turned into applications • Integrate in an ecosystem : tags are element of a semantic puzzle (e.g SEO)
  • 72. Evolutions • Full feature frameworks (AngularJS, EmberJS…) provides methodology to develop application • Graphics become more elaborate (e.g SVG) • Handle different output device (e.g Bootstrap) this is what is called “responsive” Strangely enough I find it has less profusion of “new” technologies…but this is very personal
  • 75. Send back to the past • Back to some “forgotten” problems • Power consumption, network quality, speed of execution • But way more demanding as “output level” : usability, animation…
  • 76. Communication device • Not only as phone • But as a set of sensors for me (e.g GPS…) • 2 paths communications: normal HTTP, Notifications in all ways (APN…)
  • 77. Misc
  • 78. • Search : use component (ElasticSearch) or Service (Algolia) • Social networks : gives at first a way to identify yourself, but also access to a vast database of data/users (OpenGraph) • Measure your result : Analytics A few more things to thing about