Комментарии 19
Я бы не ставил один подход выше другого — мне кажется что хороший разработчик должен просто по ситуации выбирать нужный.
Проблема скорее в том, что оправдать даже нужные "черные треугольники" в глазах потребителей или нетехнического руководства бывает сложно, так что в ущерб проекту иногда приходтся придерживаться "visuals-first development".
Очень знакомое состояние. Бывает возьмешься за проект, и приходится месяц-два полировать "core" иногда даже без видимых результатов для заказчика. Заказчик нервничает, думает что развод какой-то. А потом раз… И за неделю получается движок который превосходит все ожидания заказчика. 90% адекватные и терпеливые. 10% — психуют, требуют возврата денег, уходят к "индусам" и гробят проект.
ну ещё спрайт, видел, помнится, удивительно хитрые оптимизации.
У Абраша про это в своё время хорошо было расписано.
Если б они сразу же сделали вывод этого несчастного треугольника, то после этого им было бы на порядок легче делать и проверять все элементы конвеера, так как любая ошибка сразу же была бы видна.
По достижении системой некторого уровня сложности, это становится просто невозможно. Это не вопрос хочу-нехочу, а данность.
Вы о том, что при достаточной длине конвейера они могли бы и несколько лет потратить на «чёрный треугольник», причём так и не достигнув результата (потому что изменения «в хвосте» потянут за собой цепочку изменений — и багов — от самого начала, а половина фич окажется несовместимой друг с другом)?
Потому что если плясать «от результата», то он как раз всегда будет — просто не будет включать в себя все фичи (часть из которых вполне может оказаться и не такой нужной, как им казалось на этапе планирования. Так ли там нужны были ДВЕ промежуточных программы-конвертера?).
Чёрные треугольники