Den Velsmurte udviklingsmaskine

240 views

Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Den Velsmurte udviklingsmaskine

  1. 1. Den velsmurte udviklingsmaskine 12. juni 2012 Casper Skern Wilstrup BestBrains
  2. 2. Hvor har vi vores erfaringer fra 2
  3. 3. Agenda• Velkommen og speed dating• Overblik over maskinen• Proces og kultur• Source Control• Test Pause• Automatiseret build og test• Automatiseret deployment• 18:30 - Tak for i dag
  4. 4. Ingredienser vi skal bruge• En agil proces ● Kanban, Scrum, ... ● Stories and Tasks• Source control ● Subversion, Mercurial, Perforce, Git, Team Server, ...• Automated build ● Team City, Hudson, CruiseControl.NET, TFS, ...• Automated test run ● Team City, Hudson, xUnit, MSTest, Selenium, ...• Automated deployment ● Hudson, Team City, Hjemmelavet, ... ● Roll back capability ● A/B servers
  5. 5. Proces og kultur
  6. 6. Projektplanlægning• Backlog, Roadmap, ... 2011 2012 Oktober November December Januar Februar Marts Nu Story Story Story Story Story Theme Bla bla bla Bla bla bla Bla bla bla Bla bla bla Bla bla bla …. .. Sadfa s Sadfa s Sadfa s Sadfa s Sadfa s .. Story Story Story Theme Theme Bla bla bla Bla bla bla Bla bla bla …. .. …. .. Sadfa s Sadfa s Sadfa s .. .. Story Story Story Bla bla bla Bla bla bla Bla bla bla Sadfa s Sadfa s Sadfa s
  7. 7. Aktuelle opgaver• Scrum, Kanban, ... Planned Ready In progress Review Done Q/A Deploy Done Stories Stories+Tasks Tasks Tasks Tasks Stories Stories Stories WL: 3 WL: 6 WL: 3 WL: 3 WL: 3 Story Story Story Story Bla blaStory bla Bla bla bla bla Bla bla Bla bla bla Bla bla bla Sadfa s Sadfa s s Sadfa Sadfa s Sadfa s Story Bla bla bla Sadfa s Aasdasd Aasdasd Aasdasd Aasdasd Story Aasdasd Sdssss s Sdssss s Sdssss s Sdssss s Sdssss s Sss Sss Sss Aasdasd Sdssss s Bla bla bla Sss Aasdasd Aasdasd SdsssssSdssss s Aasdasd Aasdasd Sdssss s Sadfa s Aasdasd Sss Sss Sdssss s Sdssss s Sss Sss Story Story Bla bla bla Bla bla bla Sadfa s Sadfa s Story Story Aasdasd Aasdasd Aasdasd Aasdasd Aasdasd Sdssss s Sdssss s Sdssss s Sdssss s Sdssss s Sss Sss Sss Sss Sss Bla bla bla Bla bla bla Aasdasd Sadfa s s Sadfa Aasdasd Aasdasd Sdssss s Sss Aasdasd Sdssss s Sdssss s Sdssss s Sss Story Bla bla bla Aasdasd Aasdasd Story Story Sadfa s Sdssss s Sdssss s Bla bla bla Aasdasd Sss Sss Sdssss s Aasdasd Aasdasd Bla bla bla Sdssss s Sdssss s Sadfa s Sadfa s Sss Aasdasd Aasdasd Sdssss s Sdssss s Sss Sss
  8. 8. Stories and Tasks: Et eksempelReady In progress Link to enable/disableStory rejected in UIAs a Calendize user I Updatewould like to be able to Invitation listsee previously rejected when toggling rejectedinvitations. API support for rejected invitations
  9. 9. Test
  10. 10. Automated testing – investment profileVelocity ✓ Timed saved on manual testing ✓ Old bugs do not re-appear ✓ New bugs discovered early ✓ Enables refactoring with ✓ Improves design automated testing first time with automated testing without ✗ Manual testing automated ✗ »Expensive« bug fixes testing ✗ Reluctance to change smelly code ✗ Unnecessary complexity Time
  11. 11. Onde cirkler No test No test Less time Less refactoringLess time More bugs More complexity
  12. 12. En god cirkel More test More time Fewer bugsUnit tests are about writing tests and using them to reduce complexity
  13. 13. Stories and Tasks: Et eksempelReady In progress DoneStory Link to enable/disable rejected in UIAs a Calendize user Iwould like to be able Updateto see previously Invitation list when togglingrejected invitations. rejected API support for rejected invitations
  14. 14. Stories and Tasks: Et eksempelReady In progress DoneStory Link to enable/disable rejected in UIAs a Calendize user Iwould like to be able Updateto see previously Invitation list when togglingrejected invitations. rejected API support for rejected invitations
  15. 15. Demonstration
  16. 16. Continous Integration• CruiseControl, Hudson, TeamCity ● Henter kildekoden fra Subversion ● Bygger den ● Kører alle tests ● Sender resultatet direkte til mit IDE
  17. 17. Continous Integration - Demonstrated
  18. 18. Continuous Deployment• Til test eller produktion?• Automatisk efter hvert succesfuldt build• Database migrations up/down• Backup og restore af database• A/B servere• Automatisk overvågning og rollback
  19. 19. Continuous Deployment Demonstrated
  20. 20. Diskussion og tak for i dag

×