future of software development - danger of oversimplification
Post on 22-Jan-2018
266 Views
Preview:
TRANSCRIPT
Perspectives on the Future of Software DevelopmentJon Ruby
Managing DirectorJonar
Servoy World, May 17th, 2017
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
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…
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 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
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
Why does any of this matter to
us?
We make software, not
national policy
In software, we have clichés and mantra’s too…
…except while creating your backlog
you died.
Problem #1Paint is peeling
Problem #2Curtains are missing
Problem #3Pipes have burst
Epics and user stories to the rescue
Painfully. In a fire.
Users report problems.
Engineers fix them.
1. As a user I want the ability to add a GL Account to a line item on a Vendor 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 particular Vendor 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?
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 handle ALL of what people need to do
But that’s no problem, we have APIs!
Case study:
QuickbooksOnline and
Trade Gecko integration
“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)
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?
So what’s the
message?
• Am I advocating abandoning Scrum, Agile, Rapid
Application Development, RESTful APIs 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
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)
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?
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?
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
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
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
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
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
top related