+7 (495) 229-0436   shopadmin@itshop.ru 119334, г. Москва, ул. Бардина, д. 4, корп. 3
 
 
Вход
 
 
Каталог
 
 
Подписка на новости
Новости ITShop
Windows 7 и Office: Новости и советы
Обучение и сертификация Microsoft
Вопросы и ответы по MSSQLServer
Delphi - проблемы и решения
Adobe Photoshop: алхимия дизайна
 
Ваш отзыв
Оцените качество магазина ITShop.ru на Яндекс.Маркете. Если вам нравится наш магазин - скажите об этом Google!
 
 
Способы оплаты
 
Курс расчета
 
 1 у.е. = 84.31 руб.
 
 Цены показывать:
 
 
 
 
  
Новости, статьи, акции
 

Хороший выбор плохой архитектуры

03.02.2012 12:56
Vsevolod Leonov

Познавательная активность

моих друзей-блоггеров стимулирует очередную итерацию в анализе получаемой информации. Евгений Чмель, один из победителей нашего с DelphiFeeds.ru конкурса блогов, в своей "собирательной" статье довольно удачно совместил собственные размышления с достаточно вдумчивой селекцией опубликованных книжных мыслей.

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

Выбор в условиях неопределённости

Психологический портрет хорошего разработчика обязательно будет укомплектован румяным и красивым комплексом неполноценности. Мы сомневаемся в себе уже в момент проклика в Project->New Application. Редкий кусок кода мы готовы признать красивым, эффективным и выше всякой критики. Мы часто страдаем от собственного "дилетантства", "косорукости" и "быдлокодерства". Обычно, чем умнее и опытнее разработчик, тем больше скептицизма он испытывает, глядя на направление развития собственной системы. Давайте немного поизбавляемся от заниженной самооценки.

Основная проблема в разработке архитектуры ПО - неопределённость. Мы не знаем:

  • степени стабильности бизнес-моделей (где гарантия, что через полгода нас не попросят коренным образом перестроить БД?);
  • периода сохранения интереса нашего начальства к качеству создаваемой системы (слушай, сделай хоть как-нибудь, лишь бы она работала сейчас, а не через месяц);
  • запаса прочности собственного энтузиазма (надоело, сделаю тяп-ляп, а потом, когда станет ясно, что нужно реально для пользователей, пересмотрю всё заново).

В условиях неопределённости

обычно принято оперировать понятием "стратегия". В настоящий момент мы не можем понять, как текущий шаг скажется на эффективности проекта в целом. Чтобы (грубо говоря) не умереть от стресса/уметь объяснить начальнику, почему ты делаешь так, а не по-другому, мы принимаем некую "стратегию".

Перефразируя выжимки из теории игр (которая идёт значительно дальше предсказаний результатов лотереи), относительно архитектуры ПО можно выделить ряд стратегий:

  1. хорошо бизнесу (отличная архитектура, удобство сопровождения, но долго ждать результатов);
  2. хорошо программисту (быстро сделанная архитектура, проблемы сопровождения, но регулярные результаты от отдела разработки ПО);
  3. творческий беспорядок (отсутствие понятия "архитектура", много мелких итераций, цель разработки ПО - удовлетворение жажды творчества программиста).

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

Если плохая архитектура существует

значит это кому-нибудь нужно. Хочу кратко рассказать случай из моей жизни. Жила-была очень способный разработчик - Елена. Большой опыт, умение делать всё от базы до интерфейса. Создавала систему CRM для компании, где работала более 10 лет. Прошла путь от маленькой базёнки до кроссплатформенного монстра. Работала в одиночку.

Система CRM была краеугольным камнем бизнеса. Сервисная компания могла конкурировать на достаточно плотном рынке только из-за того, что очень быстро адаптировалась к новым условиям, бойко выдумывала различные скидочные программы и качественно мониторила количественные показатели степени удовлетворения клиентов.

Но Елена в какой-то момент передумала быть программистом и решила стать финансистом. То ли сказался развод с мужем, то ли надоело обращение "Леночка, ты почему не доделала ввод данных?", а захотелось пожить в образе "Елена Михайловна, когда у Вас будет время посмотреть документы?". Мозгов-то Лене Абросимовой было не занимать.

Чем кончилось дело

спросите вы? Сначала она захотела уволиться, в чём ей было с удовольствием отказано, т.к. архитектура оказалась настолько запутанной, что банда молодых горячих парней без (уже) Елены Михайловны не могли "вкурить" даже в основные 20 таблиц с 50 хранимыми процедурами. И уже на совещании с привлечением генерального было принято решение перевести Лену в финансистки, попутно оплатив ей корпоративный MBA, лишь бы она на ближайшие 2 года не помышляла об уходе из компании, была доступна для консультаций и могла бы на худой конец пофиксить внезапно всплывший баг.

Как вы понимаете

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

Вот в этой абсолютно реальной истории (а я оставил несколько скрытых совпадений) есть один неявный вывод - господа IT-директора, занимайтесь стратегией!

Ссылки по теме

  
Помощь
Задать вопрос
 программы
 обучение
 экзамены
 компьютеры
Бесплатный звонок
ICQ-консультанты
Skype-консультанты

Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 
Бестселлеры
Курсы обучения "Atlassian JIRA - система управления проектами и задачами на предприятии"
Microsoft Windows 10 Профессиональная 32-bit/64-bit. Все языки. Электронный ключ
Microsoft Office для Дома и Учебы 2019. Все языки. Электронный ключ
Курс "Oracle. Программирование на SQL и PL/SQL"
Курс "Основы TOGAF® 9"
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год. Электронный ключ
Курс "Нотация BPMN 2.0. Ее использование для моделирования бизнес-процессов и их регламентации"
 

О нас
Интернет-магазин ITShop.ru предлагает широкий спектр услуг информационных технологий и ПО.

На протяжении многих лет интернет-магазин предлагает товары и услуги, ориентированные на бизнес-пользователей и специалистов по информационным технологиям.

Хорошие отзывы постоянных клиентов и высокий уровень специалистов позволяет получить наивысший результат при совместной работе.

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



 

О нас

 
Главная
Каталог
Новинки
Акции
Вакансии
 

Помощь

 
Общая справка
Как оформить заказ
Тарифы доставки
Способы оплаты
Прайс-лист
Карта сайта
 

Способы оплаты

 

Проекты Interface Ltd.

 
Interface.ru   ITShop.ru   Interface.ru/training   Olap.ru   ITnews.ru  
 

119334, г. Москва, ул. Бардина, д. 4, корп. 3
+7 (495) 229-0436   shopadmin@itshop.ru
Проверить аттестат
© ООО "Interface Ltd."
Продаем программное обеспечение с 1990 года