This document discusses perspectives on the future of software development. It acknowledges that while tools like Agile practices, minimum viable products, and APIs can be useful, an overreliance on simple solutions can be problematic. Software development involves balancing many factors, and focusing only on speed or other narrow metrics ignores important considerations like user experience. True success requires a culture that challenges assumptions and focuses on the human factors.
Future of software development - Danger of Oversimplification
1. Perspectives on the Future of Software Development
Jon Ruby
Managing Director
Jonar
ServoyWorld, May 17th, 2017
2. Disclaimer • What follows are musings on the future, there is no
certainty
• There is value in discussing these things, that’s how we
improve
• This is not an attempt at providing a recipe for how to
build and operate software companies
• Not doing any product demonstrations, ask me later if
you want to see stuff
3. you may know me from such talks as….
the difference between:
users people
4. Swimming
upstream is
bold… unless
the stream is
a tsunami,
then it’s just
ridiculous
• About 2.5 million scientific studies are published annually
http://www.cdnsciencepub.com/blog/21st-century-science-overload.aspx
• Too much to process or care about
• Enter the media…
5.
6. We love
“Easy”
• We are obsessed with shortcuts
– Acronyms (KISS, USP, ERP, 3GL, B2B)
– Infographics
– Short, numbered lists:
– 7 habits of highly effective people
– 3 simple rules to have a happy life
– All knowledge available onYouTube in “HowTo” videos
• Can be great
– Rapid acquisition of information
– Highlighting relevant learnings without useless labour
– Experts can guide our learning more easily
– A theme can be more easily understood than piles of
data
8. Is this too
much of a
good thing?
• Clichés, metaphors, mantras and simple manifestos
are great for making a point
• Best practice is a GREAT tool but
• It can’t be the only tool we use….
And we can’t use that tool blindly
9. Why does
any of this
matter to
us?
We make
software, not
national policy
In software, we have clichés and mantra’s too…
10. SPLIT UP BIG SCARY
PROJECTS INTO
SMALL MANAGEABLE
PIECES IN ORDER TO
SUCCEED
11. …except while creating your backlog
you died.
Problem #1
Paint is peeling
Problem #2
Curtains are missing
Problem #3
Pipes have burst
Epics and user stories to the rescue
Painfully. In a fire.
12. Users report
problems.
Engineers fix
them.
1. As a user I want the ability to add a GL Account to a
line item on aVendor AP Invoice
2. As a user I want to know if the goods the invoice line
is for have been received yet
3. As a user I want to know which specific record ID tells
me the goods from the invoice line has been received
4. As a user I want to know if I have returned any of the
goods that a particularVendor AP Invoice is charging
for
5. etc… to infinity
Should these be addressed with one user story
each (UX dies fiery agonizing death), or a
designed approach that handles them all with
the same solution?
Who watches
over the total
user
experience?
14. Specialization • It is better to go to market faster with a smaller list of
independent requirements met… sometimes
• You end up with zillions of lovely little independent apps,
none of which handleALL of what people need to do
But that’s no problem, we have APIs!
15. Case study:
Quickbooks
Online and
Trade Gecko
integration
“Everything was fine and then one day my transactions
stopped moving from Quickbooks toTrade Gecko. I spent
days even weeks with them on the phone trying to figure out
what was wrong.They each blamed the other and nothing
got fixed. It turned out Quickbooks changed their API and
the engineers atTrade Gecko hadn’t quite finished updating
their integration yet, but no one in service knew that yet.”
–Irene de Gooyer-Collins
(user in 2016)
17. Fail Early • Not being afraid of failure is one of the greatest things
we can instill in our teams
• But it doesn’t always apply
• Building devices for surgical operating rooms to
prevent drug administration errors
– Failure (early or late) isn’t really an option
– In fact, the iterative process is actually dangerous
Who’s this guy?
18. So what’s
the
message?
• Am I advocating abandoning Scrum, Agile, Rapid
Application Development, RESTfulAPIs or any of the
smart simple tools we use in software development?
NO!
• I am saying we saw a problem and everyone moved to
the left side of the boat, to the exclusion of all else
• There are other tools out there as well and we can’t
ignore them in in our pursuit of easy answers
19. The Future
of Technology
is People…
I think
• Users have infinite needs and requirements
• People like technology that:
– Just works
– Does what they expect it to
– The way they expect it to be done
– Doesn’t require them to understand a secret language of
jargon
“Technology that appeals to People will always beat out
technology that appeals to Users”
-Jon Ruby
(unproven assertion)
20. But you can’t
please all of
the people all
of the time
• Nope, but you can’t give up trying
• It is not easy
• You will get it wrong along the way.A lot.
• There is no meaningful list of 5 or 7 or even 12 rules you
can follow to be successful
• There are however stories, experiences, lessons that
we can learn from that will guide us along the way
If this is so hard, is it even achievable?
21. Case study:
Why do so
many people
like Apple
products so
much?
• I think that it is because of UX and design harmony
• If there were no logo on an apple product would you
still be able to identify it as such?
22.
23. What are
the
takeaways?
• You need someone to constantly keep the big picture in
mind. Someone that understands people and technology
– That’s not exactly achievable nor scalable even if you do find
one person.
– Answer: culture
• Take the longer view while still being willing to fail in the
short term
– Nice in theory but it can become financially untenable
– Answer: think of capital and finance like the water you will
need on a long difficult journey
• Chasing Unicorns is a sucker’s bet
– Attempts almost always fail
– Failure is almost always complete
– Even success rewards a very few within an organization, and
not always the most deserving (guile often trumps
contribution)
– Answer: focus on what really matters
24. Culture • Everyone has to challenge everything
• Leave your ego at home
• Forget a lot of what you know about management
• Before you can learn to treat your users as people you
have to learn to treat your employees as people
• People are mostly not motivated by money, you can’t
buy them with cash
25. Capital • More money early is not always better
• The right money at the right time in the right amount is
great
• Figure out how to get it and when you will need it as
early as possible
• Wait to take it as long as you can, but don’t wait too
long
• Specific suggestions:
– Wait until you have something that you can realistically
accelerate at a decent quality level before you give up
significant control
– Figure out the profile of investors you want and then
figure out what they are interested in and then make
sure you are appealing before pitching them
26. Beware of
chasing
Unicorns
• Build solid foundations instead of rushing into get rich
quick schemes
– Yields:
• Better teams with happier people
• Better quality technology that is more appealing to people
• More stable and robust returns allowing growth and longevity
27. success
/səkˈses/
noun
1. Paragon is what people are really, truly looking for
2. Very valuable technology asset that is saleable
3. An amazing team that can be targeted at any project
4. Zero debt and enough capital to try again
Perception is
perception.
Reality is
reality.
• Not certain yet if my pontification is totally accurate or
whether our project will be a big success
• Even if I’m wrong its been a hell of a ride and we have
ended up with
28. Done it all by
refusing to
accept the
over-
simplification
Editor's Notes
Irrespective of recent political events, we live in a world that worships evidence. About 2.5 million scientific studies are published annually.http://www.cdnsciencepub.com/blog/21st-century-science-overload.aspx
It’s too much. We can’t process that much data, never mind managing to care about it all.
The only way we can hope to keep up is to “spice it up” and simplify it into something that we can understand and pay attention to.
The media has jumped at this opportunity to grab our attention:
Enter the media
http://time.com/2976464/rotten-eggs-hydrogen-sulfide-mitochondria/
Effect of hydrogen sulfide gas on cells’ mitochondira
cellular exposure to smaller amounts of the compound may prevent mitochondrial damage
We are obsessed with shortcuts
Acronyms (KISS, USP, ERP, 3GL (3PL???), B2B)
Infographics
Short, numbered lists:
7 habits of highly effective people
3 simple rules to have a happy life
All knowledge available on YouTube in “How To” videos
Can be great
Rapid acquisition of information
Highlighting relevant learnings without useless labour
Experts can guide our learning more easily
A theme can be more easily understood than piles of data
Easy can be Very dangerous
Misunderstandings
Exclusion of important issues
Wrong focus
Bias and manipulation
AND…
Loss of Cohesion
Clichés, metaphors, mantras and simple manifestos are great for making a point
Best practice is a GREAT tool but
It can’t be the only tool we use….
And we can’t use that tool blindly
Ok, let’s talk about how we make software
It is better to go to market faster with a smaller list of independent requirements met… sometimes
You end up with zillions of lovely little independent apps, none of which handle ALL of what people need to do
But that’s no problem, we have APIs!
“Everything was fine and then one day my transactions stopped moving from Quickbooks to Trade Gecko. I spent days even weeks with them on the phone trying to figure out what was wrong. They each blamed the other and nothing got fixed. It turned out Quickbooks changed their API and the engineers at Trade Gecko hadn’t quite finished updating their integration yet, but no one in service knew that yet.”
–Irene de Gooyer-Collins (user in 2016)
Both good products, but the person just trying to run their business ends up with way too many single point of failures
Not being afraid of failure is one of the greatest things we can instill in our teams. Creativity and productivity greatly benefit from it.
But it doesn’t always apply
I once worked making devices for surgical operating rooms to prevent drug administration errors.
Failure is not really a good option in that context, early or late.
The iterative process is actually dangerous because medical staff are constantly changing procedure to adapt and that can cause actual death