🔥

Тред (Саша Аскеров)


Сегодня про качество. Для начала, бессмысленный в своей категоричности опрос. Какое "качество" важнее. (ясное дело, добавь сюда вариант "я за все хорошее" он победит, поэтому его не будет)
🤔 14.3% Кода
🤔 85.7% Продукта

The correlation principle says that our productivity is tightly correlated with the internal quality of software. The two go up together, and they go down together, and you can't trade away the one to get more of the other. Let's talk it over.
Большинство выбирает продукт. Очевидный выбор на первый взгляд. Но можно и поспорить.То что я тут напишу дальше моя вольная и короткая интерпретация мыслей из этого треда.twitter.com/GeePawHill/sta…

Качество приложения можно разделить на внешнее и внутреннее. Внешнее это все то, что видимо пользователю. Его определяют UX, скорость работы, баги. Внутреннее это про то, с чем сталкиваемся мы как разработчики. Это качество нашего кода. Далеко не всегда одно означает друге.

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

Какое качество важнее? Каким из них жертвовать при релизах если мы хотим уменьшить time-to-market или делаем какой-то MVP?

Это не очевидно, но практически всегда разумно пожертвовать внешним качеством: например сделать попроще UX, не упариваться в оптимизации производительности.

Жертвуя внешним качеством мы делаем жизнь проще. Жертвуя внутренним, наоборот сложнее. Если наш код готов к изменениям то мы всегда можем пофиксить наше внешнее качество за какое-то разумное время.

А вот если наше приложение идеально для пользователя, но внутри все плохо, то наступит момент, когда развитие остановится, а релизы станут сложно предсказуемыми.

Вывод из этого: всегда лучше вести переговоры с условным PO, когда он говорит: “а давай сейчас вот эту новую фичу как-нибудь по быстрому, а потом там поправите у себя все как надо”

“Потом” может и не наступить, так как потом захотят развивать, а не рефакторить. И убедить, что сначала надо что-то там внутри сделать хорошо будет не проще чем вначале.

Саша АскеровСаша Аскеров