How integrators bring you a better Moodle

Post on 12-Jun-2015

329 views 1 download

Tags:

transcript

iTeam, bringing you a better Moodle

How we used to integrate changes

New Development

Release

How we used to integrate changes

New Development

Release

This was problematic:

How we used to integrate changes

New Development

Release

This was problematic:• Developer may be only person

aware of a change

How we used to integrate changes

New Development

Release

This was problematic:• Developer may be only person

aware of a change• Unintended consequences from

lack of awareness

How we used to integrate changes

New Development

Release

This was problematic:• Developer may be only person

aware of a change• Unintended consequences from

lack of awareness • Formalised testing and review not

enforced

How we used to integrate changes

New Development

Release

This was problematic:• Developer may be only person

aware of a change• Unintended consequences from

lack of awareness • Formalised testing and review not

enforced• Only trusted developers could

‘commit’

How we used to integrate changes

New Development

Release

This was problematic:• Developer may be only person

aware of a change• Unintended consequences from

lack of awareness • Formalised testing and review not

enforced• Only trusted developers could

‘commit’...It did work though :)

Integration Process

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Integration Process

Process to increase quality:

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Integration Process

Process to increase quality:

• 3 sets of eyes on each change

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Integration Process

Process to increase quality:

• 3 sets of eyes on each change

• Increased code quality through review and iterations

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Integration Process

Process to increase quality:

• 3 sets of eyes on each change

• Increased code quality through review and iterations

• Large focus on testingAutomated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Integration Process

Process to increase quality:

• 3 sets of eyes on each change

• Increased code quality through review and iterations

• Large focus on testing

http://docs.moodle.org/dev/Process

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

New Development

• Accessible to anyone in community• No longer need to restrict process to

known ‘trusted’ developers.• Large developments discussed with

community in Future major features forum

• Specification developed on MoodleDocs

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Peer ReviewTechnical Review from another developer

• Checking code against standards

• Discuss the approach to solving problem

• Suggest improvements Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Automated Checks

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

• Coding standards

• Keeping Moodle maintainable and sustainable

Integration Review

Final review by ‘gatekeepers’

• Focus on quality and stability

• Facilitate communication between different area experts

• Bring historical context

• Ensure changes meet the needs of whole community

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Automated Tests

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

• Over 6000 tests being run automatically every day

• Upgrade tests between versions checking compatibility

• Additional tests added each day

Testing

• Tester assigned to each issue

• Runs through a test plan created by developer

• Looks out for problems and inconsistencies in the change

• Very time-intensive process

• But frequently worthwhile!

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

Release

Automated Tests

Automated Checks

New Development

Peer Review

Integration Review

Testing

Release

• Each week focus on all issues tested and passed

• Failing issues get fixes or backed out

• Weekly release produced and distributed through download.moodle.org and git

Is it making a difference?

9%

15%

75%

Integrated Issues

Accepted Problem during integration reviewProblem during testing

•Yes!•1104 changes

rejected..!•Standards increasing

week by week