Kyivpy#8 - Quality Driven Development with Python

15
Quality Driven Development How to develop successful project with Python Maksym Klymyshyn CTO at GVMachines Twitter: @maxmaxmaxmax Github: joymax

description

How to develop successful web-oriented project with Python

Transcript of Kyivpy#8 - Quality Driven Development with Python

Page 1: Kyivpy#8   - Quality Driven Development with Python

Quality Driven DevelopmentHow to develop successful project with Python

Maksym KlymyshynCTO at GVMachines

Twitter: @maxmaxmaxmaxGithub: joymax

Page 2: Kyivpy#8   - Quality Driven Development with Python

Quality definition

Two points of view:

● quality for the client

● quality of the code

Page 3: Kyivpy#8   - Quality Driven Development with Python

But what's really matter

quality of design

Page 4: Kyivpy#8   - Quality Driven Development with Python

Quality for the client

● change anything on the site without developer efforts

● create page, add link, upload image or file

● change title or meta description on any page

● change translations (multilingual sites)

Page 5: Kyivpy#8   - Quality Driven Development with Python

Or, just change anythingalmost

Page 6: Kyivpy#8   - Quality Driven Development with Python

Quality for developer

● conventions and standards○ Python code

■ PEP8■ Pyflakes checks■ PyLint etc.

○ JavaScript code■ Jshint■ Well organized code, naming convention

○ HTML W3C

● Tests: acceptance, unit, integration, UI

Page 7: Kyivpy#8   - Quality Driven Development with Python

● We have tons of useful third-party apps to achieve quality for the client

● You should follow standards if you consider yourself as good developer

● If you're lead dev, convince your team members to follow standards

It's impossible hard but

Page 8: Kyivpy#8   - Quality Driven Development with Python

If code clean it's easier to solve

real-world design issues

Page 9: Kyivpy#8   - Quality Driven Development with Python

Also,

If you don't have backups of your database then probably

your code will suck in the future. For the client.

Page 10: Kyivpy#8   - Quality Driven Development with Python

Performance

Page 11: Kyivpy#8   - Quality Driven Development with Python

Thoughts

● Most of developers like to play with performance

● Typically performance bottleneck is not related to what they play with

Page 12: Kyivpy#8   - Quality Driven Development with Python

If possible to improve performance by additional hardware

do it,

hardware is much cheaper than dev's time

How to improve performance

Page 13: Kyivpy#8   - Quality Driven Development with Python

Development strategy

Business-critical/UX: registration, authentication, purchase process etc.

Business-critical data validation and consistency

Metrics and visibility

Enhancements

Page 14: Kyivpy#8   - Quality Driven Development with Python

Questions?

Thank youand follow me

@maxmaxmaxmax

Page 15: Kyivpy#8   - Quality Driven Development with Python

check out my blog

blog.klymyshyn.com