Build Better Software Together

9,689 views

Published on

Software development is a social challenge. We should design our workflows so that everybody knows what's going on: From coining an idea to running the software on servers in production.
Let me share with you how we at Atlassian are working with a highly transparent workflow and how we have build that directly into our tools - to build software better together!

Published in: Technology

Build Better Software Together

  1. Build better software together @svenpet
  2. Sven Peters! Atlassian Evangelist
  3. Building software is a ... challenge WIN FAIL
  4. Building software is a ... challenge WIN FAIL
  5. Building software is a social challenge Every team must share... Code x3 Source code, review, continuous integration, DVCS management x6 Tasks Issue and project tracking // Get the product id stored in the optionValue of the widget $productId = $order['customIdNumber' ]; // Load the product $product = Mage::g Ideas Team collaboration Group chat
  6. Manager Product Owner ! Designer Developer Tester IT Operation
  7. separate teams: hardware and software Error No SIM card or phone is! turned off! (0xff05) Confirm
  8. Software Development Flow Connecting Tasks Ideas Tasks Code Builds
  9. Software Development Flow Connecting Teams Ideas Product Owner Product Manager Tasks Code Developer Builds Operations
  10. Software Development Flow Connecting People Ideas Product Owner Product Manager Tasks Code Developer Builds Operations
  11. Software Development Flow Connecting Locations Code Ideas Tasks Ideas Code Tasks Builds Developer Code
  12. Transparent Flow
  13. Development Flow Planning
  14. The idea
  15. 62 involve everybody Original Post One Day Later One Week Later
  16. Planning Flow REQUI REMENTS STOR IES SPRIN TS
  17. Best practices with Blueprints Quickly create & link content Traceability
  18. Best practices with Blueprints Quickly create & link content Traceability
  19. Planning Flow REQUI REMENTS STOR IES SPRIN TS
  20. Development Flow +   BRANC H, CODE & TEST PULL R EQUESTS
  21. Development Flow
  22. Branching
  23. Branching
  24. Branching From JIRA Issue to Branch to Code in 30 seconds
  25. Caption
  26. Free Git client for Windows or Mac
  27. Branching Code Isolation Best Practices Quick & Simple
  28. Branching
  29. Merging Pull Requests
  30. Pull Requests discuss changes AGR
  31. Code Reviews are more important than TDD
  32. Better Quality Feel Better Code Reviews Learn
  33. Pull Requests review stories & builds 
  34. Free Git client for Windows or Mac
  35. Pull Requests  Reviews  Builds  Issues  Permissions
  36. Pull Requests  Reviews  Builds  Issues  Permissions 32
  37. Pull Requests  Reviews  Builds  Issues  Permissions
  38. Pull Requests  Reviews  Builds  Issues  Permissions
  39. Pull Requests  Reviews  Builds  Issues  Permissions
  40. Pull Requests  Reviews  Builds  Issues  Permissions
  41. Pull Requests  Reviews  Builds  Issues  Permissions
  42. Pull Requests Code Review Quality Check Control
  43. Pull Requests Merge
  44. Development Flow
  45. DONE !
  46. How could that happen?
  47. What happened Merge
  48. What happened
  49. Branch Detection Don’t let that happen detect branch (& run automatically)
  50. Branch Detection Don’t let that happen detect branch (& run automatically)
  51. Who broke the built?
  52. What Who broke the built?
  53. Look at the logs Found failing test Look at the code Can not find the problem Look at the changes Nothing changed Look at the change set Problem found! Why did it change? Go to the author
  54. Look at the build server Look at the change set Found failing Issue Problem found!
  55. See the cause
  56. Find the problem
  57. You can not find the problem? rerun!
  58. What does it tell you? failing test = useless
  59. Put flaky tests under quarantine
  60. Branch detection Builds & Issues Quarantine
  61. Branch detection Builds & Issues Quarantine
  62. Branch detection Builds & Issues Quarantine
  63. Transparent Flow
  64. connecting teams connecting people Transparent connecting locations Flow connecting taks
  65. WHY?
  66. Tearing down silos is a... challenge
  67. Build better software together @svenpet
  68. Thanks @svenpet svenpet.com/talks

×