SlideShare a Scribd company logo
@BillyGarnet
Deliver:Agile 2018

Austin, Texas
Home DevOps
Doing all the right things on a small scale



1
Bryan Beecham
@BillyGarnetIceberg Ideas
Programming with Rick
• Met once a week
• Desktop game in VB6
• Map tiles, turned based
• Manual version control
• Much effort, little results
THE NEW STUFF
What has changed in software development?
@BillyGarnetIceberg Ideas
Update Frequency
@BillyGarnetIceberg Ideas
Update Frequency
@BillyGarnetIceberg Ideas
# of contributors
@BillyGarnetIceberg Ideas
# of contributors
@BillyGarnetIceberg Ideas
Storage + Collaboration
@BillyGarnetIceberg Ideas
Storage + Collaboration
@BillyGarnetIceberg Ideas
Memory
@BillyGarnetIceberg Ideas
Memory
@BillyGarnetIceberg Ideas
Waterfall
@BillyGarnetIceberg Ideas
Agile Manifesto
We are uncovering better ways of developing

software by doing it and helping others do it.

Through this work we have come to value:



Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan



That is, while there is value in the items on

the right, we value the items on the left more.

@BillyGarnetIceberg Ideas
Scrum
@BillyGarnetIceberg Ideas
Extreme Programming
@BillyGarnetIceberg Ideas
Lean Software Development
1. Eliminate Waste
2. Amplify Learning
3. Decide as late as possible
4. Deliver as fast as possible
5. Empower the team
6. Build integrity in
7. See the whole
@BillyGarnetIceberg Ideas
Lean Startup
Entrepreneurs are everywhere
Entrepreneurship is management
Validated learning
Innovation accounting
Build-measure-learn
@BillyGarnetIceberg Ideas
DevOps
Flow
Feedback
Continuous Learning
@BillyGarnetIceberg Ideas
DevOps
@jezhumble
@BillyGarnetIceberg Ideas
Microservices
Microservices is a software development technique—a
variant of the service-oriented architecture (SOA)
architectural style that structures an application as a
collection of loosely coupled services. In a
microservices architecture, services are fine-grained and
the protocols are lightweight.
@BillyGarnetIceberg Ideas
API
An Application Programming Interface (API) is a set of
functions, procedures, methods or classes used by
computer programs to request services from the operating
system, software libraries or any other service providers
running on the computer.
@BillyGarnetIceberg Ideas
Stress!!!
Decision Anxiety
WHAT CAN WE DO ABOUT IT?
A NEW APPROACH
@BillyGarnet
Identify - Prepare - Improve - Clean
Process for making change
24
@BillyGarnetIceberg Ideas
Process for making changes
Identify
Prepare
Improve
Clean
@BillyGarnetIceberg Ideas
Refactoring Process
Identify
Prepare
Improve
Clean
@BillyGarnetIceberg Ideas
Refactoring Process
Identify
Prepare
Improve
RestoreRealign
Reset
Ready
@BillyGarnetIceberg Ideas
Step 1 - Identify
• Recognize a change that
can be made

• Find a pattern

• Come up with a hypothesis

• Notice a problem

@BillyGarnetIceberg Ideas
Step 2 - Prepare
• Make the change easy, then make the
easy change

• Adjust to match a pattern

• Create an experiment

• Take one step backwards

• Disrupt current system

• Unlocking potential
@BillyGarnetIceberg Ideas
Step 3 - Improve
• Make the change

• Extract duplication

• Run the experiment

• Take two steps forward
@BillyGarnetIceberg Ideas
Step 4 - Clean
• Remove any
extraneous items

• Delete duplicate code

• Clean up experiment

• Leave things cleaner
then you found them

• Ready environment for
new observations
@BillyGarnetIceberg Ideas
Example
• Identify - I’m hungry

• Prepare - Get food out, slice tomato, toast
bread, etc… and create a sandwich 

• Improve - Take care of that hunger by eating the
sandwich

• Clean - Put the food away, clean your dishes.
@BillyGarnetIceberg Ideas
Example
• Identify - These walls need to be painted

• Prepare - Clear items out of room, tape edges,
put down drop cloth

• Improve - Paint the walls

• Clean - Remove tape, wash brushes, put extra
paint away
@BillyGarnetIceberg Ideas
Code Example
• Identify - Notice two pieces of code are similar

• Prepare - Make the pieces of code identical

(extract variable, etc.)

• Improve - Use extract method

• Clean - Delete any unneeded code and spaces
(GUIs are getting better at helping here)
@BillyGarnetIceberg Ideas
Code Examples
• Industrial Logic blog: 

https://www.industriallogic.com/blog/inside-refactoring-
prepare-improve-and-clean/

• Llewellyn Falco video:

https://www.youtube.com/watch?v=Fw-knDwOZTU

• Martin Fowler blog:

https://martinfowler.com/articles/preparatory-
refactoring-example.html
@BillyGarnetIceberg Ideas
What to do?
• What do I want to build?

• What language?

• Web, Mobile?

• Uh-oh graphics? Sketches?

• Goals? Plans? 

• Why am I doing this again?
@BillyGarnetIceberg Ideas
Step 1 - Identify
• Make a web based game

• Use python

• Use micro-services

• Learn more about APIs

• Use DevOps

• Use Agile Technical Practices

@BillyGarnetIceberg Ideas
Step 2 - Prepare
• Read up on things

• Find technology to help with
hosting, storage

• Install necessary software

• Update software on my system

• Ability to grow in the future
(hopefully!!!)
@BillyGarnetIceberg Ideas
Get Inspired!!!
@BillyGarnetIceberg Ideas
Upgrade everything
@BillyGarnetIceberg Ideas
Just enough design
API Gateway Dice Rolls
Map
Hello, world!
random.org
JSON files
Image DB
@BillyGarnetIceberg Ideas
What would be cool?
Dungeon Imp
Others?
My Game
Your Game
Stories
@BillyGarnetIceberg Ideas
More issues
• Web Hosting

• Source Control

• Build

• Deliver

• Monitor

• Scale
@BillyGarnetIceberg Ideas
@BillyGarnetIceberg Ideas
@BillyGarnetIceberg Ideas
Heroku
@BillyGarnetIceberg Ideas
Heroku
@BillyGarnetIceberg Ideas
Heroku
@BillyGarnetIceberg Ideas
@BillyGarnetIceberg Ideas
Agile Principles
Our highest priority is to satisfy the customer through early and continuous
delivery of valuable software.

Deliver working software frequently…

Working software is the primary measure of progress.

Continuous attention to technical excellence and good design enhances
agility.

Simplicity--the art of maximizing the amount of work not done--is essential.
@BillyGarnetIceberg Ideas
Improve
• Create some code

• Push the code

• Check it in production
@BillyGarnetIceberg Ideas
Enough presentation
already…let’s see
some code!!!
@BillyGarnetIceberg Ideas
Clean
• Simplify the process

• Clean up the code

• Remove any unneeded items

• Boy scout rule

• Might be the most important
step
@BillyGarnetIceberg Ideas
Manage your workflow
• Question your process
• Work in small pieces
• Get more feedback
• Simplify
• Embrace new techniques
@BillyGarnetIceberg Ideas
Refactor everything
• Work in small pieces

• Simplify
• Identify-Prepare-Improve-Clean
• Use a good IDE
@BillyGarnetIceberg Ideas
Make testing more important
• Test Driven Development (TDD)

• Behaviour Driven Development (BDD)

• Organize tests by speed not type

• Once tests take longer run them

less frequent or break them up
@BillyGarnetIceberg Ideas
Good things
• Feature flags

• Continuous Integration

• Small changes at a time

• Lots of testing

• Flow

• Breaks
@BillyGarnetIceberg Ideas
Conclusion
• Deploy code as soon and often
as you can

• Do the simplest thing that can
possible work

• Work in small pieces

• #nobranch

• Use your app a lot
@BillyGarnet
Identify - Prepare - Improve - Clean
Process for making change
59
@BillyGarnetIceberg Ideas
Questions?

More Related Content

PPT
Moving To The Clouds, Why Google Drive Is Perfect For Real Estate Pros
KEY
It's Not Just About Code
PPTX
Improving The Quality of Existing Software
PDF
The Lost Tales of Platform Design (February 2017)
PDF
GeneralAssemb.ly Summer Program: Tech from the Ground Up
PDF
IT Systems for Knowledge Management used in Software Engineering (2010)
PDF
Indix Engineering Culture Code (2015)
PDF
Devnology back toschool software reengineering
Moving To The Clouds, Why Google Drive Is Perfect For Real Estate Pros
It's Not Just About Code
Improving The Quality of Existing Software
The Lost Tales of Platform Design (February 2017)
GeneralAssemb.ly Summer Program: Tech from the Ground Up
IT Systems for Knowledge Management used in Software Engineering (2010)
Indix Engineering Culture Code (2015)
Devnology back toschool software reengineering

Similar to Home TDD, Refactoring and DevOps (20)

PPTX
Software Engineering Primer
PDF
Friday final test
PDF
It is a sunny day
PDF
Introduction to Agile Methods
PPT
Arch factory - Agile Design: Best Practices
PPTX
Software development with agile methodologies
PPTX
Software Craftsmanship and Agile Code Games
KEY
So You've Got a Software Idea...Now What?
PDF
HackYale 0-60 in Startup Tech
PPT
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
PDF
Sustainable Agile Development
PPTX
Agile product development
ZIP
Introduction to software craftsmanship
PDF
How to build your own greenfield?
PPTX
Software-Engineering-and-Best-Practices.
PDF
Code Craftsmanship Checklist
PDF
Waste Driven Development - Agile Coaching Serbia Meetup
PPT
Are Agile Projects Doomed to Half-Baked Design?
PDF
Practical DevSecOps: Fundamentals of Successful Programs
PDF
From dev to ops and beyond - getting it done
Software Engineering Primer
Friday final test
It is a sunny day
Introduction to Agile Methods
Arch factory - Agile Design: Best Practices
Software development with agile methodologies
Software Craftsmanship and Agile Code Games
So You've Got a Software Idea...Now What?
HackYale 0-60 in Startup Tech
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sustainable Agile Development
Agile product development
Introduction to software craftsmanship
How to build your own greenfield?
Software-Engineering-and-Best-Practices.
Code Craftsmanship Checklist
Waste Driven Development - Agile Coaching Serbia Meetup
Are Agile Projects Doomed to Half-Baked Design?
Practical DevSecOps: Fundamentals of Successful Programs
From dev to ops and beyond - getting it done
Ad

Recently uploaded (20)

PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
history of c programming in notes for students .pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Understanding Forklifts - TECH EHS Solution
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
Essential Infomation Tech presentation.pptx
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
Transform Your Business with a Software ERP System
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
System and Network Administraation Chapter 3
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
Adobe Illustrator 28.6 Crack My Vision of Vector Design
history of c programming in notes for students .pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Odoo POS Development Services by CandidRoot Solutions
Understanding Forklifts - TECH EHS Solution
PTS Company Brochure 2025 (1).pdf.......
Essential Infomation Tech presentation.pptx
How Creative Agencies Leverage Project Management Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Which alternative to Crystal Reports is best for small or large businesses.pdf
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Transform Your Business with a Software ERP System
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
System and Network Administraation Chapter 3
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Ad

Home TDD, Refactoring and DevOps