• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
10 Reasons Your Software Sucks - Election 2012 Edition
 

10 Reasons Your Software Sucks - Election 2012 Edition

on

  • 1,375 views

 

Statistics

Views

Total Views
1,375
Views on SlideShare
1,212
Embed Views
163

Actions

Likes
1
Downloads
13
Comments
0

9 Embeds 163

http://developingux.com 124
http://feeds.feedburner.com 16
http://localhost 12
https://twitter.com 6
https://si0.twimg.com 1
http://cloud.feedly.com 1
http://feeds2.feedburner.com 1
http://www.linkedin.com 1
https://www.linkedin.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    10 Reasons Your Software Sucks - Election 2012 Edition 10 Reasons Your Software Sucks - Election 2012 Edition Presentation Transcript

    • 10 Reasons your software Sucks (and the 10 practices you need to fix it)
    • Building teams that engineer better software Development Infrastructure Team Process Experience Automated Tests Agile, Lean, XP Object Orientation Source Control Team Dynamics SOLID + Patterns + Continuous Simple Design Automated Builds Learning Secure CodingDevelopment ∙ Infrastructure ∙ Team Process
    • developingUX.com@calebjenkins speakermix.com/calebjenkins
    • developingUX.com@calebjenkins speakermix.com/calebjenkins
    • developingUX.com@calebjenkins speakermix.com/calebjenkins
    • back to…10 Reasons why your software Sucks (and the 10 practices you need to fix it)
    • Building teams that engineer better software
    • Development
    • Development Repeatable DeliverableTestable Extensible Workable Scalable Maintainable Reliable-able
    • (User) ExperienceMatters!
    • UserExperience Developer Experience (UX) (API’s & SDK’s)
    • Experience is Reality Reality is UserExperience Perception Developer Experience (UX) (API’s & SDK’s)Perception is the
    • visual design ia ux ui uxd scalability backendperformance security
    • Experience is the ia visual design Product ux ui uxdux scalability backend performance security
    • Experience is the Product
    • Development Encapsulation Inheritance Polymorphism Object OrientationIt’s amazing how many people write procedural code in an OO environment
    • Development Encapsulation Inheritance Polymorphism Object Orientation Use Right Tool for the Right JobIt’s amazing how many people write procedural code in an OO environment OO Functional Procedural
    • http://developingUX.com/di/
    • “The single greatest thing that you can do tomake your code more testable and healthy is tostart taking a Dependency Injection approach towriting software” - Real World .NET, C# and Silverlight Wrox Press 2012 Caleb Jenkins
    • Development Experience Object Orientation SOLID + Patterns + Simple Design
    • ScenariosVocabulary Answers SOLID + Patterns + Simple Design
    • MVC MVP Repository MVVM Visitor Factory Patterns Facade Strategy Decorator
    • MVC MVP More Repository State MVVM Visitor More More Abstract Factory Chain of Factory Responsibility Patterns More Facade Strategy Decorator
    • MVP MoreMore More RepositoryMVC More State More More MVVM Visitor More More More More More More Abstract Factory Chain of More Factory More More More MorePatterns Responsibility MoreMore More More Facade More Strategy Decorator
    • MVC Repository Abstract Factory or StrategySOLID + Patterns + Simple Design
    • “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
    • SOLID + Patterns + Simple Design
    • Development Experience Object Orientation SOLID + Patterns + Simple Design
    • Development Experience Object Orientation SOLID + Patterns + Simple Design Secure Coding
    • http://developingux.com/2010/02/10/secure-coding-101/Secure Coding
    • No Silver
    • Play in a Sandbox Don’t Use Passwords Input is EvilSecure Coding
    • runtime Play in amemory Sandbox Don’t Use Passwords least “safe” privilege libraries Input is Evil Secure Coding
    • http://xkcd.com/327/
    • http://msdn.microsoft.com/security/Secure Coding
    • Development Object Orientation SOLID Patterns Secure Coding
    • Team Work
    • Team Work Communication Friction Silos Throughput Toe SteppingCoordination
    • Do you TestYour code ?
    • Do youUnitTest code ?Your
    • Do youautomatedUnitTest code ?Your
    • what’s the difference?
    • Traditional Test
    • Unit Test
    • Automated Test
    • TDD / BDD
    • I testmyappIt compiled didn’t it?
    • I test I testmy units ofapp workIt compiled in my didn’t it? app DI + Mock are my best friends
    • I test I test I runmy units automatedapp of unit work in my testsIt compiled didn’t it? app CI FTW! DI + Mock are my best friends
    • I test I test I run I testmy units automated firstapp of unit Red, work in my tests Refactor Green,It compiled Rinse + didn’t it? app CI FTW! Repeat! DI + Mock are my best friends
    • I test I test I run I test Imy units automated first writeapp of unit Red, Gr executable specs work in my tests actor een, Ref toIt compiled Rinse + didn’t it? app CI FTW! Repeat! test DI + Mock given <> <> when my are my best friends then<> app
    • I backup mycode Thumb drives are awesome!
    • I back Fileup my Sharecode Network Share is +1 from thumb drive Thumb drives are awesome!
    • I back File VSSup my Share wascode Network Share free is +1 from thumb drive So was Thumb herpes drives are awesome!
    • I back File VSS Branchup my Share was + Mergecode Network Share free Release is +1 from thumb drive Strategy So was Freedom Thumb herpes to code! drives are awesome! TFS, SVN, GIT
    • AutomatedI back File VSS Branch Buildsup my Share was + Merge CI, Autocode Network Share free Release mated is +1 from thumb drive Strategy Deploy “worked on my So was machine” Freedom Thumb herpes to code! drives are take THAT awesome! TFS, SVN auditors! , GIT
    • Source Control ProductionDeveloper Operations Common Deployment Scenario
    • Retrieve Source Control Production Source compile + send binaries configure + deploy binaries Developer Operations Common Deployment Scenario
    • Retrieve Source Control Production Source compile + send binaries configure + deploy binaries Developer Operations Common Deployment Scenario
    • Source Control ProductionDeveloper Operations Improved Deployment Scenario
    • runscriptUpdates getsourceSource Source Control buildbin Production send .build script configure + deploy binaries Developer Operations Improved Deployment Scenario
    • runscriptUpdates getsourceSource Source Control buildbin Production send .build script configure + deploy binaries Developer Operations Improved Deployment Scenario
    • VisualStudioBuild F5 is How I Roll
    • Visual CIStudio Included inBuild TFS, Cruise Control, Team City, Jenkins CI F5 is How I Roll
    • Visual CI Multi- EnvironmentStudio Included in BuildsBuild TFS, Cruise Control, Team City, Jenkins CI Dev, Test, S F5 is How tage, Produ I Roll ction
    • Visual CI Multi- Build EnvironmentStudio from Included in BuildsBuild TFS, Cruise Control, script Team City, Source? Jenkins CI Yes, run Dev, Test, this .build F5 is How Stage, I Roll Production
    • Visual CI Multi- Build HandsStudio Environment from Off Included in BuildsBuild TFS, Cruise Control, script Deployment Team City, Source? Jenkins CI Disaster Yes, run Recovery Plan Dev, Test, this .build + F5 is How Stage, Auditor I Roll Compliance Production done
    • Process
    • Sprint Backlog Push Pull Agile, Lean, XP Learn by doingScrum Kanban Daily Stand Ups Size Units of Product Backlog Work
    • WAIT! What about …Task boards, Information RadiatorsReducing Work In Progress, Time BoxingSelf Organization, Pull vs Push,Empowerment, Continuous Learning,Planning Poker, Story Sizing, Velocity,Team Swarming… etc, etc, etc..
    • Scrum is Simplenot to be confused with easy 
    • Pairing colocation silos Team Dynamics size colocationownership mentality Information (virtual) Broadcasting
    • Blogs How do you learn? Podcasts ConferencesContinuous Learning Books Sources?
    • http://dimecasts.net/Continuous Learning
    • What are we saying here?
    • Be PASSIONATEabout what you do
    • Elect good Code!
    • Building teams that engineer better software Development Infrastructure Team Process Automated1 Experience 5 8 Agile, Lean, XP Tests Object Source Team Dynamics2 Orientation 6 9 Control Automated Continuous3 SOLID + Patterns + 7 10 Simple Design Builds Learning4 Secure Coding
    • developingUX.com@calebjenkins speakermix.com/calebjenkins
    • developingUX.com@calebjenkins speakermix.com/calebjenkins
    • © Michael Cummings - http://dreaminpictures.comhttp://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/
    • http://www.flickr.com/photos/houseofsims/3121979028/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/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
    • Copyright © 2011 – Buddy Lindsey – Used with PermissionCopyright Sesame Street – Used without Permission