agile software development for non-developers

27
Software Development A Crash Course for Non-Developers | | Webmaster @ www.hierkommtmartin.de Hermann Vocke @hamvocke

Upload: hamvocke

Post on 12-Aug-2015

91 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Agile Software Development for Non-Developers

SoftwareDevelopment

A Crash Course for Non-Developers | | Webmaster @ www.hierkommtmartin.deHermann Vocke @hamvocke

Page 2: Agile Software Development for Non-Developers

Who of you is NOT a Developer?Don't worry, that's not a bad thing

Page 3: Agile Software Development for Non-Developers

I bet all of you still have heardsome of the terms...

Agile Development

TDD

Continuous Delivery

Continuous Integration

Waterfall

User Stories

...at least once

Page 4: Agile Software Development for Non-Developers

But do you really know what allof these mean?

No problem, we'll figure this out together.

Page 5: Agile Software Development for Non-Developers

Disclaimer

This Brownbag is very limited in time and will force me to rush throughstuff. In this Brownbag I will be oversimplifying stuff that is actuallymore complex. I will be opinionated. I will only scratch the surface ofmany topics. Some stuff I tell might be utterly wrong. Feel free to yell atme at the end of the Brownbag.

Page 6: Agile Software Development for Non-Developers

So what's behind this whole"Agile" buzzword?

Page 7: Agile Software Development for Non-Developers

In the beginning was theWaterfall

and it was totally sh!t had room for improvement

Page 8: Agile Software Development for Non-Developers

Waterfall was slow, clunky andnot able to cope with change

Long, detailed specifications

Strict planning, sticking to the plan

Page 9: Agile Software Development for Non-Developers

Agile Software Development to

the rescue!

Page 10: Agile Software Development for Non-Developers

The Agile Manifesto

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

Page 11: Agile Software Development for Non-Developers

Agile Methodologies for

everyone!Extreme Programming (XP)

Scrum

Lean Software Development

Kanban

...

Page 12: Agile Software Development for Non-Developers

...

Agile vs. WaterfallIterative & IncrementalDevelopment

Developing everything in onebig batch

Efficient face-to-facecommunication

contracts and process

Short Feedback loops, quickadaption

Long and detailed planning

Page 13: Agile Software Development for Non-Developers

TDDTest Driven Development

Page 14: Agile Software Development for Non-Developers

Red-Green-Refactor

Page 15: Agile Software Development for Non-Developers

Talk is cheap. Let's explore howthis works.

Page 16: Agile Software Development for Non-Developers

calculat.ioDisrupt the Calculator Biz!

Page 17: Agile Software Development for Non-Developers

Look! A User Story!

Page 18: Agile Software Development for Non-Developers

#001 Add two numbers"As a user I want to be able to add two numbers

so that I can see the result of the addition."

Page 19: Agile Software Development for Non-Developers

#002 Add an arbitrary amountof numbers

"As a user I want to be able to add an arbitraryamount of numbers so that I can see the result of

the addition."

Page 20: Agile Software Development for Non-Developers

#003 Multiply an arbitraryamount of numbers

"As a user I want to be able to multiply anarbitrary amount of numbers so that I can see the

result of the multiplication."

Page 21: Agile Software Development for Non-Developers

The benefits of TDDBetter code qualityFewer bugsA safety net for changing software

Page 22: Agile Software Development for Non-Developers

Continuous IntegrationMerge the team's code changes as often as possible

Page 23: Agile Software Development for Non-Developers

Practices of ContinuousIntegration

Build the software automatically

Test the build automatically

Page 24: Agile Software Development for Non-Developers

Continuous DeliveryContinuous Integration on Steroids

Page 25: Agile Software Development for Non-Developers

Practices of Continuous DeliveryEverything that Continuous Integration does, plus:

Test the software automatically in multiple stages

Deploy the software automatically

Page 26: Agile Software Development for Non-Developers

Why is CI/CD a good thing?You test your application with every commit

"Good" versions will be deployed automatically

Fast feedback for the team

Features go from development to production insanely fast

Page 27: Agile Software Development for Non-Developers

RecapWhat have we learned?

The basics of Agile Software DevelopmentThe madness of traditional Software DevelopmentTDD in PracticeBasic Continuous Integration / Continuous DeliveryKanban for DummiesUser StoriesGit and Version Control