Выбор подходящей технологии (фреймворка, системы)

Выбор подходящей технологии (фреймворка, системы)

Существует масса технологий, фреймворков, систем и языков программирования. И у каждого из них есть свои преимущества и недостатки. Можно бесконечно проводить аналитику и тестирование в попытке выяснить, что лучше. Однако достаточно взглянуть на существующие решения и продукты, чтобы заметить один простой факт. Либо технологию используют, либо нет. Технология может быть уникальной, предоставлять невероятный набор инструментов и возможностей, но вместе с тем быть абсолютно бесполезной с точки зрения ее применения.

 

Проблемы малочисленного использования технологий

Выбор подходящей технологии (фреймворка, системы)

Представьте себе следующую ситуацию. Вам в руки достался уникальный прибор, который позволяет, допустим, готовить наивкуснейшую еду без каких-либо усилий. Однако инструкции с детальными примерами к прибору не существует. Есть только небольшая брошюра с описаниями достоинств. Периодически ей требуются какие-то странные ингредиенты, которые сложно достать, а то и вовсе нигде не найти. И самое главное, когда у прибора случаются ошибки, то совершенно непонятно, что необходимо делать, и вам остается только надеяться, что прибор сам себя "как-нибудь" починит.

Безусловно, таким чудо прибором можно пользоваться до тех пор, пока он полностью не сломается. Вы ведь все равно ничего не теряете.

А теперь, попробуйте дополнить ситуацию одним простым условием. Вам нужно, чтобы еда готовилась постоянно. С одной стороны, это условие достаточно простое и естественное. С другой стороны, чудо устройство не сможет выполнить его. Рано или поздно вам придется искать другой прибор.

То же самое происходит и в мире ИТ. Если технология практически нигде не применяется, то, с большой вероятностью, можно сказать, что ее выбор приведет к титаническим трудам. Любые ошибки и проблемы вам придется исправлять за счет собственных сил. Вы будете "чертыхаться" обо все недокументированные условия. Практически все способы реализовать нужные дополнительные механизмы придется придумывать самостоятельно. При возникновении критических ошибок, у вас не будет никаких гарантий, что вы сможете привести систему к нормальному состоянию. Кроме того, так же не будут известны сроки. День? Неделя? Месяц? Год? Безусловно, существуют успешные примеры таких технологий, но, как бы это не звучало, это примеры, а не повседневность.

Примечание: Важно понимать разницу между уникальными продуктами, под которые специально придумываются технологии или которые применяют технологии с учетом их последующего развития, и решениями, использующими технологии только из-за красочных характеристик.

 

Один из подходов для выбора подходящей технологий

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

Максимальная детализация задачи - это один из неплохих подходов для выбора подходящей технологии. Собрав максимум деталей, вам станет намного проще всесторонне оценивать технологии. К примеру, если ваша задача быстро создать небольшой обычный форум для внутреннего использования со стандартным набором функционала, рассчитанный на 1000 пользователей, то проще всего использовать любые понравившиеся популярные системы, проверенные годами. Даже если они не предназначены для высоких нагрузок и имеют ряд ограничений, вы сможете их поддерживать в нормальном состоянии и дополнять нужной функциональностью в течение длительного времени. А уж если это, скажем, бесплатная CMS, которая активно поддерживается сообществом, то такая система простоит годами. Например, даже в нынешнее время некоторые создают интернет-магазины на OpenCart 1.5 под определенные задачи, хотя последняя сборка того же ocStore 1.5 (бесплатная сборка OpenCart1.5 с дополнительными функциями) была в 2014 году.

Примечание: Конечно, существуют задачи, где изначально невозможна детализация. К примеру, задача "создать сайт" для человека, который никогда не создавал web-продукты. Но, там используется совершенно другой метод, который отчасти включает в себя детализацию задачи, хоть и специфическим образом. Тем не менее, важно понимать, что в большинстве случаев задачи можно успешно детализировать.

Безусловно, такой подход стоит применять и в купе с другими методами. Но даже его самостоятельное применение дает достаточно неплохие результаты. Ведь не просто так существует выражение "Правильно заданный вопрос – половина ответа".

Так же советую ознакомиться с обзором Баланс функциональности между CMS и отдельными модулями.

Понравилась заметка? Тогда время подписываться в социальных сетях и делать репосты!

Социальные сети

☕ Понравился обзор? Поделитесь с друзьями!

Добавить комментарий / отзыв
Комментарий - это вежливое и наполненное смыслом сообщение (правила).



* Нажимая на кнопку "Отправить", Вы соглашаетесь с политикой конфиденциальности.
Социальные сети
Программы (Freeware, OpenSource...)