Организация процесса разработки, встреча №1

09.08.2018

На встрече определили список интересных тем и проголосовали за каждую:

  1. Оценка эффективности программистов (12 голосов)
  2. Обмен информацией (11 голосов)
  3. Качество кода (11 голосов)
  4. Оценка задач (11 голосов)
  5. Уровень соискателей и отсутствие соискателей (10 голосов)
  6. Инструментарий (7 голосов)
  7. Организация работы удалённых программистов (7 голосов)
  8. Как справляться с бардаком (6 голосов)
  9. Требования (6 голосов)
  10. Перевод теории в практику (6 голосов)
  11. Выбор стека технологий (4 голоса)
  12. Унификация процесса (4 голоса)
  13. Выживание в не ИТ-компании (3 голоса)
  14. Continous Delivery (3 голоса)
  15. Вовлечённость людей (2 голоса)
  16. Самоорганизация (2 голоса)

Обсудить успели три: обмен информацией, качество кода, оценку задач.

Обмен информацией

Прежде всего договорились, о какой информации речь. Внутри команды важными мы считаем сведения о

Предметная область

Сложная нетривиальная предметная область может стать камнем преткновения для новых сотрудников. Часть технических решений неочевидна из-за требований бизнеса и эти требования нужно донести до программистов, которые развивают систему.

Обоснования технических решений

Это касается решений, которые балансируют на грани паттернов и анти-паттернов, например, анемичной модели (anemic model) и локатора служб (service locator). Обоснование таких решений — важная информация для программистов.

Серьёзные ошибки и их причины

Сленговое название посмертный снимок (post mortem). Посмертные снимки содержат описание симптомов (что было не так), фактическую причину краха и причину появления ошибки.

Пример. Симптомы: веб-сервис начинает работать заметно медленнее, перезагружается, какое-то время работает быстро, и снова замедляется. Фактическая причина: код создаёт множество объектов и сохраняет ссылки на них, в то время как эти объекты должны быть уничтожены сборщиком мусора. Причина появления ошибки: бездумный copy-past со Stack Overflow.

Если возможно, в post mortem также входит регрессионый тест, который исключает появление подобных ошибок в будущем.

Решения

Обменялись опытом. Набросали такие способы обмена информацией.

Качество кода

Плохой код и технический долг замедляют скорость работы над проектом. Что делать команде для повышения качества работы?

Оценка задач

С оценкой задач в индустрии большая беда. Даже крупнейшие компании не могут предсказать, сколько времени займёт реализация проекта. Мы не исключения. Как будем справляться?