Dan PoltawskiIntegratorMoodle HQHow integrators bring you a betterMoodle#mootau13 @dan_p
iTeam, bringing you a better Moodle
How we used to integrate changesNew DevelopmentRelease
How we used to integrate changesNew DevelopmentReleaseThis was problematic:
How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change
How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change...
How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change...
How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change...
How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change...
Integration ProcessAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
Integration ProcessProcess to increase quality:Automated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration Review...
Integration ProcessProcess to increase quality:• 3 sets of eyes on each changeAutomated TestsAutomated ChecksNew Developme...
Integration ProcessProcess to increase quality:• 3 sets of eyes on each change• Increased code quality throughreview and i...
Integration ProcessProcess to increase quality:• 3 sets of eyes on each change• Increased code quality throughreview and i...
Integration ProcessProcess to increase quality:• 3 sets of eyes on each change• Increased code quality throughreview and i...
New Development• Accessible to anyone in community• No longer need to restrict process toknown ‘trusted’ developers.• Larg...
Peer ReviewTechnical Review from anotherdeveloper• Checking code againststandards• Discuss the approach tosolving problem•...
Automated ChecksAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease• Coding standard...
Integration ReviewFinal review by ‘gatekeepers’• Focus on quality and stability• Facilitate communication betweendifferent ...
Automated TestsAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease• Over 6000 tests ...
Testing• Tester assigned to each issue• Runs through a test plan createdby developer• Looks out for problems andinconsiste...
ReleaseAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease• Each week focus on all i...
Is it making a difference?9%15%75%Integrated IssuesAcceptedProblem during integration reviewProblem during testing•Yes!•110...
Questions??http://blog.danpoltawski.co.uk/2012/04/integrating-a-bug-fix-into-moodle-core-the-mechanics/
Upcoming SlideShare
Loading in …5
×

How integrators bring you a better Moodle

657 views

Published on

Published in: Economy & Finance, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
657
On SlideShare
0
From Embeds
0
Number of Embeds
22
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

How integrators bring you a better Moodle

  1. 1. Dan PoltawskiIntegratorMoodle HQHow integrators bring you a betterMoodle#mootau13 @dan_p
  2. 2. iTeam, bringing you a better Moodle
  3. 3. How we used to integrate changesNew DevelopmentRelease
  4. 4. How we used to integrate changesNew DevelopmentReleaseThis was problematic:
  5. 5. How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change
  6. 6. How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change• Unintended consequences fromlack of awareness
  7. 7. How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change• Unintended consequences fromlack of awareness• Formalised testing and review notenforced
  8. 8. How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change• Unintended consequences fromlack of awareness• Formalised testing and review notenforced• Only trusted developers could‘commit’
  9. 9. How we used to integrate changesNew DevelopmentReleaseThis was problematic:• Developer may be only personaware of a change• Unintended consequences fromlack of awareness• Formalised testing and review notenforced• Only trusted developers could‘commit’...It did work though :)
  10. 10. Integration ProcessAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  11. 11. Integration ProcessProcess to increase quality:Automated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  12. 12. Integration ProcessProcess to increase quality:• 3 sets of eyes on each changeAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  13. 13. Integration ProcessProcess to increase quality:• 3 sets of eyes on each change• Increased code quality throughreview and iterationsAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  14. 14. Integration ProcessProcess to increase quality:• 3 sets of eyes on each change• Increased code quality throughreview and iterations• Large focus on testingAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  15. 15. Integration ProcessProcess to increase quality:• 3 sets of eyes on each change• Increased code quality throughreview and iterations• Large focus on testinghttp://docs.moodle.org/dev/ProcessAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  16. 16. New Development• Accessible to anyone in community• No longer need to restrict process toknown ‘trusted’ developers.• Large developments discussed withcommunity in Future major featuresforum• Specification developed onMoodleDocsAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  17. 17. Peer ReviewTechnical Review from anotherdeveloper• Checking code againststandards• Discuss the approach tosolving problem• Suggest improvementsAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  18. 18. Automated ChecksAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease• Coding standards• Keeping Moodle maintainableand sustainable
  19. 19. Integration ReviewFinal review by ‘gatekeepers’• Focus on quality and stability• Facilitate communication betweendifferent area experts• Bring historical context• Ensure changes meet the needs ofwhole communityAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  20. 20. Automated TestsAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease• Over 6000 tests being runautomatically every day• Upgrade tests betweenversions checkingcompatibility• Additional tests added eachday
  21. 21. Testing• Tester assigned to each issue• Runs through a test plan createdby developer• Looks out for problems andinconsistencies in the change• Very time-intensive process• But frequently worthwhile!Automated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease
  22. 22. ReleaseAutomated TestsAutomated ChecksNew DevelopmentPeer ReviewIntegration ReviewTestingRelease• Each week focus on all issuestested and passed• Failing issues get fixes orbacked out• Weekly release produced anddistributed throughdownload.moodle.org and git
  23. 23. Is it making a difference?9%15%75%Integrated IssuesAcceptedProblem during integration reviewProblem during testing•Yes!•1104 changesrejected..!•Standards increasingweek by week
  24. 24. Questions??http://blog.danpoltawski.co.uk/2012/04/integrating-a-bug-fix-into-moodle-core-the-mechanics/

×