You may not like it, but there are a couple of reasons why software today, well... sucks. Also, some things we could do to remedy that, but don't (for whatever reasons!)
9. Software
is still
young
⊙ First “computers” - 60 years ago.
⊙ Microprocessors - 40 years ago.
⊙ Internet - 20 Years ago
In comparison to other disciplines,
software development is incredibly
young.
9
14. Why
Developer
s don’t
Test
⊙ It works on my machine.™
⊙We don’t have time to test.
⊙ My job is writing code. Leave
testing to the testers.
There appears to be a general
lack of responsibility.
14
15. Growing
awarenes
s
Quality
Practices like
TDD, Agile
Development
and Continuous
Integration are
becoming more
popular
Security
A number of
severe security
incidents raises
awareness for
secure
development.
Responsibility
Developments
like AI and IoT
show need for
ethical
development.
15
16. Summary What you should remember:
⊙ Software Sucks. Everything breaks
everywhere all the time.
⊙ Software development is still
incredibly young.
⊙ With proper practices we can make
Software suck less :)
16
Vorstellung
I’m a computer science student
Here to tell you that all software sucks. It’s bad.
What makes me say that, and reasons for sucky software.
Where’s the computer science people at?
You might not agree with that statement
“Well, my stuff doesn’t suck”
But I’m going to tell you why that statement is still true, and why I think software sucks.
And the rest of you might not even care about that statement, but you should
Software is eating the world
Nice ominous quote, what did Marc Adreessen mean?
Who has interacted with any software today?
Mobile
It’s everywhere
Buzzwords: Internet of Things, AI
Wearables
Think of google glass
That’s not google glass
Can’t even dress without some piece of software running on your socks or something
We can do more things easier faster
Software makes us just smarter
That’s great
Except software sucks
That’s not a joke, that’s an accurate display of the windows operating system
Okay it’s not
My favourite is the MS Paint error
Because that’s what I feel like if I try new software and it just works.
Like that can’t be right
Ultimately just a minor inconvenience
Do you know what the ariane 5 program is?
Program by the ESA to shoot satellites into space
I love that screenshot, majestic
But you know, whats responsible for controlling flight path?
Software, and Software sucks, long story
Long story short
Whole Program cost $7 Billion
Running for more than a decade
The whole flight lasted 37 seconds
Had to self destruct
Because of a critical error in flight computers
Explosion took with it
Uninsured satellites worth $500
And that’s not a single incident either
Thats just a single example
Report from 2002
In US alone
$59 billion in damages due to malfunctioning software
Anually
That’s value that just vanishes
Why does Software Suck?
Why can’t we just build things right?
Are developers just bad?
I like to think not but
I don’t know
What I do know is that software development is incredibly young.
Look at it
First computers built like 60 years ago
Small form computers, microprocessors 40 years ago
Internet created now 27 years ago
Compared it’s young
Take architecture, people have been building houses since forever.
Building software, there is still so much to learn
And so much to get terribly wrong.
Talking of houses, there’s another reason, why I think software sucks
This is every program ever.
I don’t think programmers are stupid
Developers want to build working, beautiful software
No because building software is hard and its complex
And if something goes wrong
We look like this
We have no clue what is going on
And then we search for the problem
And hopefully, by the time we found it nothing blew up
It sucks
Is that just the way it is?
Should everyone just accept that?
No.
It doesn’t have to be this way.
I think so because
The tools to build working software have been around as long as software itself.
How to figure out if that works correctly?
Just the basic functions, add, sub,
Well I’d turn it on
Put some numbers in
And if the think bursts into flames you found an error
Software not that different
Throw some inputs at it
To be fair, developers already do that, the problem is systematic test
Why don’t developers just do systematic tests.
Here are some reasons
It works on my machine, so it should work right?
Its on yours now, so now its your problem.
We don’t have time to test -
I know a lot of teams and organisations are guilty of that
But you have time to fix errors all night?
I don’t like writing tests, my job is to code
That shows lack of responsibility
You are writing the stuff that is everywhere, you don’t want cars to crash and rockets to explode.
In recent years there is a lot going on in development
More awareness for the need for quality
Practices like TDD and agile
Interconnected world and a number security breaches
Makes you think twice about writing vulnerable code
With stuff like AI
Increasing sense of responsibility
Software is shaping society
And we should think about what sofware we write and how we do it
To summarize
Software sucks, Everything breaks everywhere all the time
Software is young
Don’t beat the developers, it’s not entirely their fault
There is a silver lining, we can write software that doesn't suck.
Or with proper practices, you can make it suck less.
Any questions?t