Блумберг опубликовал статью про то, что Apple меняет свои инженерные процессы из-за того, что стало падать качество их софта. Статья не очень интересная, гораздо интереснее обсуждения, которые она вызвала.
Во-первых, эпичный тред от Стивена Синофски, который много лет руководил разработкой Windows. Он рассказывает, что разработка это всегда баланс и попытка найти оптимальное равновесие между тремя полюсами: фичи, качество и дедлайны.
Немного цитат (но лучше прочитать весь тред):
11/ What is lost in all of this recent discussion is the nuance between features, schedule, and quality. It is like having a discussion with a financial advisor over income, risk, and growth. You don’t just show up and say you want all three and get a “sure”.
..
13/ In practice when building Office (and later Windows) whenever someone on the team would panic and ask “are we date driven, feature driven, or quality driven” we would just roll our eyes and pull up a chair…This was so common we just called it conversation #37 and move on.
..
19/ There’s nothing magic about this. It goes back to a balancing act. Mature orgs just manage this the whole time. There are processes and approaches that you use so you never face the absurd notion that this is a zero sum trade off between quality, schedule, features.
..
36/ You start a project with aspirations. You start with a known set of resources. You have a date. Building a plan is iterating across these constraints. Different people on the team/org with different inputs. It is an iterative process.
..
37/ Big projects run poorly are “date driven” or “we’re getting this whole thing done (famously “second system syndrome”). Lame projects are “we’re fixing bugs” (used to call this “re-indenting all the source code”.
..
40/ But a product at scale serves all those needs and a strong leadership team has a long-term point of view PLUS it knows why the company exists and what it wants to do. That’s how a plan is developed. That’s what it means to build at scale.