Presentation is loading. Please wait.

Presentation is loading. Please wait.

Process improvements for better quality

Similar presentations


Presentation on theme: "Process improvements for better quality"— Presentation transcript:

1 Process improvements for better quality
Nikolay Kolev

2 Let’s talk about … quality
Good specification Good design Good code Good unit & integration tests Good test suite Good management Good development process Good monitoring over quality metrics and development process

3 Let’s talk about … standards
Can we improve the quality by enforcing standards on the development process? Enforcing standards will lead to: Better specification Better design Better code & tests Better management And also to: A little slower development speed A little reduced productivity Some people may get uncomfortable in the beginning

4 Let’s talk about … Git Stash (Bitbucket) Jenkins SonarQube
Continuous Integration “Events” notifications Testing Statistics and monitoring

5 Git workflow Typical Git workflow and typical build workflow …

6 Git workflow QA finds a bug in the software and creates a task for a developer to fix it.

7 Git workflow The developer creates a new branch and works on the bug …
… ofcourse he forgets to update bug’s status.

8 Git workflow The developer creates a pull request, some other guys make a review and the bugfix is merged into the master… … ofcourse he forgets to update bug’s status again.

9 Git workflow Meanwhile… The QA is wondering what’s going on with his bugfix!?! The bug’s status is still “Open”, but is should have been fixed long time ago… … after a discussion the QA finds out it is ready, but not updated.

10 Git workflow The build on the test server is ready and the QA starts to retest his bugs … … it seems that the developer broke more functionalities than he fixed.

11 What we can improve? Add automated tasks management
Add automated code quality metrics and code quality gate Add pull request merge hooks and conditions Use continuous integration Add automated launch of unit & other tests Add automated notifications to some people for some events Automate status reports

12 Improved workflow

13 Jira improvements Customized tasks workflow
Automated task status changes (triggers) Automated notifications Automated tasks creation Development progress information Automated tasks/sprints reports

14 Code quality improvements
Keep your code clean Know your problems early Make sure your code will get merged successfully

15 Automated builds on branches
Unit tests on branches Sonar analysis Code coverage analysis Other checks before marking the branch as successful

16 Make sure EVERYTHING is meeting your requirements
Pull requests improvements Make sure EVERYTHING is meeting your requirements All review comments are going to be fixed Pull request approvals Code meets quality gate conditions and all tests pass All connected jira tasks are in the right status/condition

17 Spread the word Tell Jenkins to run tests and analysis on the master
Tell Jenkins to run a Continuous Integration build Tell sonar to clean branch’s analysis Tell other involved systems or people about the merge

18 Remote triggers Using SCM changes triggers
Jenkins jobs can be triggered by anything

19 Continuous integration
Infrastructure automation Automated tests Test reports Artifacts archiving

20 Test servers builds Fast builds Guaranteed build quality

21 Final results Find problems as early as possible (fail fast)
All new code is reviewed All new code is tested Almost no chance for broken code in the master Code quality is easy to be reviewed and managed Code quality is improving in time (boy scout rule) Development progress is visible and trackable Jira tasks are updated and trackable Less time is lost in tasks management

22 Final results Automated reports are sent Repeatable results
Everyone interested in some events are notified Faster builds Young developers have more courage

23 T-shirt anyone?

24 ANY STIONS?

25 Thank you! Nikolay Kolev DevOps Engineer Sirma ITT


Download ppt "Process improvements for better quality"

Similar presentations


Ads by Google