10 reasons your software sucks - election 2012 edition
TRANSCRIPT
![Page 1: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/1.jpg)
![Page 2: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/2.jpg)
10 Reasons your software Sucks(and the 10 practices you need to fix it)
![Page 3: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/3.jpg)
![Page 4: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/4.jpg)
![Page 5: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/5.jpg)
![Page 6: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/6.jpg)
![Page 7: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/7.jpg)
![Page 8: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/8.jpg)
Caleb
![Page 9: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/9.jpg)
Development
Experience
Object Orientation
SOLID + Patterns + Simple Design
Secure Coding
Infrastructure
Automated Tests
Source Control
Automated Builds
Team Process
Agile, Lean, XP
Team Dynamics
Continuous Learning
Bui ld ing teams that engineer better software
Development ∙ Infrastructure ∙ Team Process
![Page 10: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/10.jpg)
Caleb
developingUX.comspeakermix.com/calebjenkins
@calebjenkins
![Page 11: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/11.jpg)
developingUX.comspeakermix.com/calebjenkins
@calebjenkins
![Page 12: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/12.jpg)
developingUX.comspeakermix.com/calebjenkins
@calebjenkins
![Page 13: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/13.jpg)
10 Reasons why your software Sucks(and the 10 practices you need to fix it)
back to…
![Page 14: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/14.jpg)
![Page 15: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/15.jpg)
![Page 16: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/16.jpg)
Bui ld ing teams that engineer better software
![Page 17: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/17.jpg)
![Page 18: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/18.jpg)
![Page 19: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/19.jpg)
Development
![Page 20: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/20.jpg)
Development
Testable
Repeatable
Maintainable Reliable-able
ScalableExtensible
Deliverable
Workable
![Page 21: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/21.jpg)
![Page 22: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/22.jpg)
![Page 23: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/23.jpg)
(User) Experience Matters!
![Page 24: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/24.jpg)
User Experienc
e(UX)
Developer Experience
(API’s & SDK’s)
![Page 25: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/25.jpg)
Experience is Reality
User Experienc
e(UX)
Developer Experience
(API’s & SDK’s)
Reality is Perception
Perception is the Product
![Page 26: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/26.jpg)
![Page 27: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/27.jpg)
ui
backend
ux
securityperformance
scalability
iauxdvisual design
![Page 28: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/28.jpg)
Experience is the Product ui
backend
ux
securityperformance
scalabilityuxiauxdvisual design
![Page 29: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/29.jpg)
Experience is the Product
![Page 30: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/30.jpg)
![Page 31: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/31.jpg)
![Page 32: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/32.jpg)
DevelopmentObject Orientation
It’s amazing how many people write procedural code in an OO environment
EncapsulationInheritance
Polymorphism
![Page 33: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/33.jpg)
DevelopmentObject Orientation
OO
Procedural
Functional
Use Right Tool for the Right Job
It’s amazing how many people write procedural code in an OO environment
EncapsulationInheritance
Polymorphism
![Page 34: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/34.jpg)
![Page 35: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/35.jpg)
![Page 36: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/36.jpg)
![Page 37: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/37.jpg)
![Page 38: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/38.jpg)
![Page 39: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/39.jpg)
![Page 40: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/40.jpg)
![Page 41: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/41.jpg)
![Page 42: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/42.jpg)
http://developingUX.com/di/
![Page 43: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/43.jpg)
“The single greatest thing that you can do to make your code more testable and healthy is to start taking a Dependency Injection approach to writing software”
“The single greatest thing that you can do to make your code more testable and healthy is to start taking a Dependency Injection approach to writing software”
- Real World .NET, C# and SilverlightWrox Press 2012
Caleb Jenkins
- Real World .NET, C# and SilverlightWrox Press 2012
Caleb Jenkins
![Page 44: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/44.jpg)
DevelopmentExperience
Object Orientation
SOLID + Patterns + Simple Design
![Page 45: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/45.jpg)
VocabularycommonScenarioscommon
Answersproven
SOLID + Patterns + Simple Design
![Page 46: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/46.jpg)
Patterns
MVCUI MVP
UI
MVVMUI
RepositoryData
FactoryCompone
nt
StrategyCompone
ntDecoratorFacade
Visitor
![Page 47: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/47.jpg)
Patterns
MVCUI MVP
UI
MVVMUI
RepositoryData
FactoryCompone
nt
StrategyCompone
ntDecoratorFacade
Visitor
Chain of Responsibility
Abstract Factory
More
MoreState
More
More
![Page 48: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/48.jpg)
Patterns
MVCUI MVP
UI
MVVMUI
RepositoryData
FactoryCompone
nt
StrategyCompone
ntDecoratorFacade
Visitor
Chain of Responsibility
Abstract Factory
More
More
MoreState
MoreMore
MoreMore
MoreMore
MoreMore
More
MoreMoreMoreMore
More
More
More
More
More
More
![Page 49: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/49.jpg)
Beware the
anti-pattern pattern!
![Page 50: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/50.jpg)
Beware the
anti-pattern pattern!Gotta try ‘em all!
![Page 51: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/51.jpg)
MVCUI
RepositoryData
Abstract Factoryor Strategy
Compone
nt
SOLID + Patterns + Simple DesignSOLID + Patterns + Simple Design
![Page 52: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/52.jpg)
“Any intelligent fool can make things Bigger, more complex and more violent It takes a touch of
Genius – and a lot of courage – to move in the opposite direction”
– Albert Einstein
![Page 53: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/53.jpg)
SOLID + Patterns + Simple Design
![Page 54: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/54.jpg)
DevelopmentExperience
Object Orientation
SOLID + Patterns + Simple Design
![Page 55: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/55.jpg)
Development
Secure Coding
Experience
Object Orientation
SOLID + Patterns + Simple Design
![Page 56: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/56.jpg)
![Page 57: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/57.jpg)
![Page 58: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/58.jpg)
Secure Coding
http://developingux.com/2010/02/10/secure-coding-101/
![Page 59: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/59.jpg)
No SilverBullets
![Page 60: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/60.jpg)
Secure Coding
Play in a Sandbox Don’t Use
Passwords
Input is Evil
![Page 61: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/61.jpg)
Secure Coding
Play in a Sandbox Don’t Use
Passwords
Input is Evil
runtime
memory
least privilege
“safe” libraries
![Page 62: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/62.jpg)
http://xkcd.com/327/
![Page 63: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/63.jpg)
Secure Coding
http://msdn.microsoft.com/security/
![Page 64: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/64.jpg)
DevelopmentObject Orientation
SOLID
Patterns
Secure Coding
![Page 65: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/65.jpg)
Team Work
![Page 66: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/66.jpg)
Team Work Friction
Communication
Silos
Coordination
Toe Stepping
Throughput
![Page 67: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/67.jpg)
![Page 68: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/68.jpg)
![Page 69: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/69.jpg)
DoTestcode
you
Your ?
![Page 70: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/70.jpg)
UnitDo
Testcode
you
Your ?
![Page 71: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/71.jpg)
UnitDo
Testcode
automatedyou
Your ?
![Page 72: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/72.jpg)
what’s the difference?
![Page 73: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/73.jpg)
Traditional Test
![Page 74: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/74.jpg)
Unit Test
![Page 75: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/75.jpg)
Automated Test
![Page 76: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/76.jpg)
TDD / BDD
![Page 77: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/77.jpg)
of Testing
![Page 78: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/78.jpg)
of Testing
I test my app
It compiled didn’t it?
![Page 79: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/79.jpg)
of Testing
I test my app
I test units of workin my app
It compiled didn’t it?
DI + Mock are my best
friends
![Page 80: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/80.jpg)
of Testing
I test my app
I test units of workin my app
I run automated
unit tests
It compiled didn’t it?
DI + Mock are my best
friends
CI FTW!
![Page 81: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/81.jpg)
of Testing
I test my app
I test units of workin my app
I run automated
unit tests
I test first
It compiled didn’t it?
DI + Mock are my best
friends
CI FTW!
Red, Green,
Refactor Rinse + Repeat!
![Page 82: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/82.jpg)
of Testing
I test my app
I test units of workin my app
I run automated
unit tests
I test first
I write executable
specs to test my app
It compiled didn’t it?
DI + Mock are my best
friends
CI FTW!
Red, Green,
Refactor Rinse + Repeat!
given <><> whenthen<>
![Page 83: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/83.jpg)
![Page 84: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/84.jpg)
![Page 85: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/85.jpg)
of Source Control
![Page 86: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/86.jpg)
of Source Control
I back up my code
Thumb drives are awesome!
![Page 87: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/87.jpg)
of Source Control
I back up my code
File Share
Thumb drives are awesome!
Network Share is +1 from
thumb drive
![Page 88: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/88.jpg)
of Source Control
I back up my code
File Share
VSS was free
Thumb drives are awesome!
Network Share is +1 from
thumb drive
So was herpes
![Page 89: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/89.jpg)
of Source Control
I back up my code
File Share
VSS was free
Branch +
Merge ReleaseStrategy
Thumb drives are awesome!
Network Share is +1 from
thumb drive
So was herpes
Freedom to code!
TFS, SVN, GIT
![Page 90: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/90.jpg)
of Source Control
I back up my code
File Share
VSS was free
Branch +
Merge ReleaseStrategy
Automated
Builds CI, Automated Deploy
Thumb drives are awesome!
Network Share is +1 from
thumb drive
So was herpes
Freedom to code!
“worked on my machine”
take THAT auditors!TFS,
SVN, GIT
![Page 91: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/91.jpg)
![Page 92: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/92.jpg)
![Page 93: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/93.jpg)
Developer Operations
Source Control Production
Common Deployment Scenario
![Page 94: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/94.jpg)
Developer Operations
Source Control Production
Common Deployment Scenario
Retrieve Source
compile + send
binariesconfigure +
deploy binaries
![Page 95: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/95.jpg)
Developer Operations
Source Control Production
Common Deployment Scenario
Retrieve Source
compile + send
binariesconfigure +
deploy binaries
![Page 96: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/96.jpg)
Developer Operations
Source Control Production
Improved Deployment Scenario
![Page 97: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/97.jpg)
Developer Operations
Source Control Production
Improved Deployment Scenario
Updates Source
send .build script
runscript getsource buildbin
configure + deploy
binaries
![Page 98: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/98.jpg)
Developer Operations
Source Control Production
Improved Deployment Scenario
Updates Source
send .build script
runscript getsource buildbin
configure + deploy
binaries
![Page 99: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/99.jpg)
of Automated Builds
![Page 100: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/100.jpg)
of Automated Builds
Visual Studio Build
F5 is How I Roll
![Page 101: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/101.jpg)
of Automated Builds
Visual Studio Build
CI
F5 is How I Roll
Included in TFS, Cruise
Control,Team City,Jenkins CI
![Page 102: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/102.jpg)
of Automated Builds
Visual Studio Build
CI Multi-Environment
Builds
F5 is How I Roll
Included in TFS, Cruise
Control,Team City,Jenkins CI
Dev, Test, Stage,
Production
![Page 103: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/103.jpg)
of Automated Builds
Visual Studio Build
CI Multi-Environment
Builds
Build from script
F5 is How I Roll
Included in TFS, Cruise
Control,Team City,Jenkins CI
Dev, Test, Stage,
Production
Source? Yes, run
this .build
![Page 104: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/104.jpg)
of Automated Builds
Visual Studio Build
CI Multi-Environment
Builds
Build from script
Hands
Off Deployment
F5 is How I Roll
Included in TFS, Cruise
Control,Team City,Jenkins CI
Dev, Test, Stage,
Production
Source? Yes, run
this .build
Disaster Recovery Plan
+Auditor Compliance
done
![Page 105: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/105.jpg)
Process
![Page 106: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/106.jpg)
![Page 107: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/107.jpg)
![Page 108: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/108.jpg)
![Page 109: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/109.jpg)
Agile, Lean, XP
Scrum Kanban
Push Pull
Learn by doing
Daily Stand UpsSize Units of
WorkProductBacklog
SprintBacklog
![Page 110: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/110.jpg)
![Page 111: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/111.jpg)
?WAIT! What about …Task boards, Information Radiators Reducing Work In Progress, Time Boxing Self Organization, Pull vs Push, Empowerment, Continuous Learning, Planning Poker, Story Sizing, Velocity, Team Swarming… etc, etc, etc..
![Page 112: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/112.jpg)
Scrum is Simplenot to be confused with easy
![Page 113: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/113.jpg)
![Page 114: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/114.jpg)
![Page 115: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/115.jpg)
Team Dynamics
Pairing colocation
colocationmentality (virtual)
ownershipInformation Broadcasting
size
silos
![Page 117: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/117.jpg)
![Page 118: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/118.jpg)
![Page 119: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/119.jpg)
Continuous Learning
How do you learn?
Sources?
Blogs
Podcasts
Conferences
Books
![Page 120: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/120.jpg)
Continuous Learning
http://dimecasts.net/
![Page 121: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/121.jpg)
What are we saying here?
![Page 122: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/122.jpg)
BePASSIONATE
about what you do
![Page 123: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/123.jpg)
Elect good Code!
![Page 124: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/124.jpg)
Development Infrastructure Team Process
1 Experience
2Object Orientation
3 SOLID + Patterns + Simple Design
4 Secure Coding
Bui ld ing teams that engineer better software
5 Automated Tests
6 Source Control
7 Automated Builds
8 Agile, Lean, XP
9 Team Dynamics
Continuous Learning
10
![Page 125: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/125.jpg)
![Page 126: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/126.jpg)
Thank
you!
developingUX.comspeakermix.com/calebjenkins
@calebjenkins
![Page 127: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/127.jpg)
Thank
you!
developingUX.comspeakermix.com/calebjenkins
@calebjenkins
Awesome
Reviews go
here!
![Page 128: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/128.jpg)
http://www.flickr.com/photos/robbie_ewing/4407711326/
http://www.flickr.com/photos/phill_dvsn/2999253384/sizes/l/
http://www.flickr.com/photos/nikophoto33/3153621333/
http://www.flickr.com/photos/houseofsims/3121970656/
http://www.flickr.com/photos/houseofsims/3121146677/
Photo Credits© Michael Cummings - http://dreaminpictures.com
![Page 129: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/129.jpg)
http://www.flickr.com/photos/planetpixel/1450985177/
http://www.flickr.com/photos/trinhanhtuan/3292319375/
http://www.flickr.com/photos/pagedooley/2760837590/
http://www.flickr.com/photos/pagedooley/3049370253/
http://www.flickr.com/photos/bruceberrien/4262228892/
http://www.flickr.com/photos/8363028@N08/3050922569/
http://www.flickr.com/photos/houseofsims/3121979028/
![Page 130: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/130.jpg)
http://www.flickr.com/photos/pagedooley/1856663523/
http://www.flickr.com/photos/joelogon/3161771573/
http://www.flickr.com/photos/carbonnyc/2294144289/
http://www.flickr.com/photos/shadowgate/4515454160/
http://www.flickr.com/photos/grahamcrewe/396400543/
http://www.lostechies.com/blogs/derickbailey/archive/2009/02/11/solid-development-principles-in-motivational-pictures.aspx
![Page 131: 10 Reasons Your Software Sucks - Election 2012 Edition](https://reader038.vdocuments.net/reader038/viewer/2022103114/554f4ba0b4c905b9508b4931/html5/thumbnails/131.jpg)
Copyright © 2011 – Buddy Lindsey – Used with Permission
Copyright Sesame Street – Used without Permission