Tuesday, January 21, 2014

Метрики, качество и все о нем, о коде и за его пределами...

Прочитал недавно статью Марины Мельник "Метрики кода, или Как определить внутреннее качество продукта". И мне это стало до боли знакомо. Оно и раньше было знакомо, когда приходилось работать девелопером, но что именно сейчас? Попробую описать и сравнить с тем как происходит работа сейчас.



Итак, внутреннее качество нам обеспечивает:
  • Понятность (что помогает легко выполнять bug fixing, быстрее и легче включаться в работу новым членам команды, легко поддерживать код)
  • Уменьшение работы в перспективе (количество ошибок снижается, количество времени на разбор кода сокращается, облегчается поддержка кода)
  • Адаптируемость (мы работаем по Agile, а это предполагает, что требования заказчиков меняются часто, и реагировать на изменения нужно быстро)
Точно!
Если правильно, вовремя и качественно заполнять данные в ERP системе, мы получим тоже самое:
- когда приходит новый сотрудник, он не будет(по крайней мере не должен) спрашивать у коллег какого уровня этот партнер, а с кем связаться чтобы договориться,  кто ответственный, история до этого, а кто они на рынке;
- почему снижается количество ошибок при выполнении пункта выше? Потому, что у тебя постоянно происходит процесс работы с партнерами|клиентами, и ты знаешь о сделках все, и тебе не нужны уже другие ресурсы, кроме как сами партнеры и клиенты;
- есть много "Best practices" описывающих те или инные бизнес процессы и именно эти практики помогают в работе; конечно есть и новые, и о них не нужно забывать, по типу книги REWORK от 37signals.com

1. Проводить code review
Естественно и обязательно нужно обсуждать Ваш pipeline, его качество и выполнение, вероятность и риски. И это должны делать не только руководители, а те кто работает над информацией, те кто вносит, те кто продает, те кто заинтересован в качестве. Это даст более вероятные результаты, укажет на ошибки и недоработку, и у Вас в голове постоянно будет крутиться информация о проделанной работе, о том сколько не хватает и что можно сделать, чтобы выполнить этот гребаный "отличный план".

2. Использовать сторонние инструменты контроля качества кода
Да, используйте Вашу ERP|CRM систему по назначению. Она не даст Вам шагнуть влево или вправо, если там действительно настроены бизнес-процессы. Она напомнит о задолженности, напомнит о встрече, о том, что в сделке нет информации о клиенте или партнере, о том что заканчивается контракт, о "ренювалах", и о многом другом.

Мне всегда нравилось работать с людьми у которых переменные не назывались aaa, bbb, b1, a1, etc, а четко описывали для чего они нужны и  у них были хоть свои но все-таки правила написания кода.

Вот както так вкратце о насущном :) и "хорошего" Вам кода!