fbpx
“Хорошие” идеи, которые могут плохо закончиться

Казалось бы абсурдным, что хорошая идея может принести вред. Но это то, что чаще всего случается, когда подобные идеи появляются в вашем проекте. Они способны запросто “убить” ваш проект, причем “смерть” будет медленной и мучительной. Давайте рассмотрим на примере. Предположим на секунду, что в вашем проекте все протекает без проблем: вы успеваете завершить все задачи в срок, уровень качества кода на высоте, демонстрации в конце итерации приводят заказчика в восторг. Довольно смелое предположение, не правда ли? 😉 И тут у кого-то из членов команды появляется она, “хорошая” идея:

  • Почему бы нам не перейти на новую версию Hibernate?
  • Было бы здорово начать использовать NoSql базу данных для хранения определенной информации?
  • А может сделаем показ панели со статистикой на AJAX?

Парадокс в том, что идея то “хорошая”, потому что плохие идеи отсеялись бы командой или менеджером. И вот автор идеи презентует ее команде и просит “пару дней” для ее реализации. Так как на проекте все хорошо, то это время выделяется. И тут начинаются проблемы. Изменения оказываются не так просты, новые версии библиотек отказываются взаимодействовать с существующими, появляются скрытые дефекты, реализация идеи начинает отрицательно влиять на существующую функциональность. И, если вовремя не остановиться, эти проблемы будут приводить к незаконченным итерациям, пропущенным релизам, цунами из дефектов. Как распознать такую идею? Это очень просто – она обычно не несет в себе никакой выгоды с точки зрения требуемой функциональности системы. Легко сказать, но не так легко сделать. Поэтому запомните несколько шаблонов для быстрого определения “хороших” идей:

  • “Было бы классно, если бы …”. Вместо слова “классно” можно подставить синонимы наподобие “прикольно”, “здорово”, “клево”. Эти слова заранее намекают нам на опасность всего, сказанного далее.
  • “На прошлой неделе библиотека XXX выпустила новую версию. Мне кажется нам нужно на нее перейти!”. Обычно в таких предложениях не указывается конкретная причина перехода, к примеру, исправление важного дефекта или новая удобная функциональность для старых проблем.
  • “Так как я буду заниматься рефакторингом модуля XXX, заодно внесу изменения в YYY.”. Такие изменения не вносятся “заодно”, потому что раздувают объем задачи и увеличивают риск ее невыполнения в срок.
  • “Технология XXX выглядит просто супер! А в сочетании с новым языком YYY она может нам очень сильно пригодиться!”. Не всегда новые технологии работают так, как это описано в документации или презентации их возможностей. На практике у них почти всегда оказывается множество ограничений и проблем.
  • “Я вот тут поразмыслил и пришел к выводу, что нам нужно сделать несколько изменений в архитектуре …”. Изменения в архитектуре могут быть сделаны необдуманно, не видя общей картины происходящего, определенных особенностей системы. Размышляя только в контексте одной проблемы, можно придти к необдуманным решениям.

Опасайтесь “хороших” идей, многие из них способны разрушить ваш проект!

Обсуждение (0)

Leave a Reply

Your email address will not be published. Required fields are marked *

Pkv Games BandarQQ Online Terbaik Dengan Deposit Super Modern permainan paling populer di situs poker online terbaik di indonesia di situs bukaqq Poker Online Aman dan Terpercaya slot online