SlideShare a Scribd company logo
1 of 15
Download to read offline
Автоматизация
бизнес-процессов:
проектирование архитектуры
конкурентных решений
Павел Спесивцев
Ведущий разработчик
7 ноября 2012 года
I object to doing things that
computers can do.
Olin Shivers
2/15
Цели
 Разработать подход к проектированию
IT-решений для бизнеса
 Выявить критические абстракции
 Обозначить наиболее важные аспекты
цикла существования программного
продукта
 Разобраться, что такое «бизнес-логика»
и что о ней надо знать разработчику
3/15
Бизнес-«нелогика»
Идея!
4/15
Задачи IT через призму бизнеса
 Нет полного видения модели предметной
области в перспективе, даже если все
уверены в обратном
 Сервисные задачи не интересуют
«бизнес-логику»
 Сделать «это» очень просто!
 «Это» нужно вчера
5/15
Эра «стартапов»
 Поиск надежной бизнес-модели, НИОКР
в области интернет-рынков
 Быстрый рост на начальных инвестициях
 Быстрое падение
 «Патентный троллинг»
 Слияние и поглощение
6/15
Предел гибкости
 Переусложнение неизбежно?
 Что забыли учесть?
 Закон Завинского
 Что потеряет проект в ближайший месяц,
если не сможет читать почту завтра?
7/15
Every program attempts to expand until it can
read mail. Those programs which cannot so
expand are replaced by ones which can.
Предел сложности решений
 Насколько интенсивно будет меняться
продукт в ближайшее время?
 Какова квалификация вовлеченной группы
разработчиков?
 Сколько времени понадобится разработчику
с опытом от трех лет, чтобы погрузиться
в проект?
8/15
Предел масштабируемости
 Будем ли мы продавать услуги клиентам
из соседних галактик?
 Сделаем все многопоточным?
 Что тяжелее – вычисления или данные?
 RDBMS vs NoSQL
9/15
Инструмент для задачи,
а не задача для инструмента
(маркетинговые ловушки)
 Западня универсальных систем
(«миллионы мух не могут ошибаться»)
 Насколько готовое решение решает
задачи ближайших 6 месяцев?
 Какова стоимость результатов работы
ближайших 6 месяцев?
 Риски vs страховка
10/15
Без чего жить программировать
нельзя
 Логов много не бывает
 Простота интеграции и миграции –
не путать с легкостью переключения
на другие СУБД (насколько нужна
последняя?)
 Ввода/вывода мало не бывает
 Кэш и его инвалидация
 Насколько просто это тестировать?
11/15
Перманентный рефакторинг
рабочий
прототип
элегантное
решение
оптимизация
12/15
О чем можно забыть
и потом сильно пожалеть
 Отказоустойчивость и устойчивость к взлому
 Простота диагностики
 «Ломка» при смене ключевых разработчиков
(«Кто это писал?»)
 Эффективность одновременной работы
большого числа людей над общим проектом
 Степень надежности проноса новых версий
 Инкапсуляция (неинкапсулированные решения
влекут затратный и болезненный рефакторинг)
13/15
Эффективность кода
 DRY!
 Документация
 Эксплуатация общепризнанных паттернов
(только достоверно необходимых для конкретной
задачи абстракции)
 Экономия «на спичках»
 Единый согласованный стиль кода
и абстракций для всех участников команды
14/15
Спасибо!
Вопросы?
Павел Спесивцев
spesivtsev@custis.ru
15/15

More Related Content

What's hot

UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в СбербанкеUX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в СбербанкеUX-Среда
 
Кнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продуктаКнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продуктаAlexander Byndyu
 
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...ADN Digital Studio
 
В чём заблуждаются аналитики, зачем и как с этим бороться?
В чём заблуждаются аналитики, зачем и как с этим бороться?В чём заблуждаются аналитики, зачем и как с этим бороться?
В чём заблуждаются аналитики, зачем и как с этим бороться?CEE-SEC(R)
 

What's hot (6)

14 project-mistakes
14 project-mistakes14 project-mistakes
14 project-mistakes
 
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в СбербанкеUX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
UX-Среда №21: Дмитрий Щеглов — Мобильный дизайн в Сбербанке
 
SDLC and BA
SDLC and BASDLC and BA
SDLC and BA
 
Кнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продуктаКнопочное мышление против целостного IT-продукта
Кнопочное мышление против целостного IT-продукта
 
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
ADN @ UI/UX Design Meetup Barnaul - «Проектирование. Причины, инструменты, пр...
 
В чём заблуждаются аналитики, зачем и как с этим бороться?
В чём заблуждаются аналитики, зачем и как с этим бороться?В чём заблуждаются аналитики, зачем и как с этим бороться?
В чём заблуждаются аналитики, зачем и как с этим бороться?
 

Similar to Автоматизация бизнес-процессов: проектирование архитектуры конкурентных решений

Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоSQALab
 
Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010Dmitry Andreev
 
Построение процесса безопасной разработки
Построение процесса безопасной разработкиПостроение процесса безопасной разработки
Построение процесса безопасной разработкиPositive Development User Group
 
Павел Черкашин - Что нельзя говорить на встрече с инвестором
Павел Черкашин - Что нельзя говорить на встрече с инвесторомПавел Черкашин - Что нельзя говорить на встрече с инвестором
Павел Черкашин - Что нельзя говорить на встрече с инвесторомStartup Point
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Dima Dzuba
 
AgileBaseCamp 2013 - Start Up and Get Done
AgileBaseCamp 2013 - Start Up and Get DoneAgileBaseCamp 2013 - Start Up and Get Done
AgileBaseCamp 2013 - Start Up and Get DoneMax Klymyshyn
 
Аналитик в Agile (статья)
Аналитик в Agile (статья)Аналитик в Agile (статья)
Аналитик в Agile (статья)Andrey Bibichev
 
Что нельзя говорить инвестору?
Что нельзя говорить инвестору?Что нельзя говорить инвестору?
Что нельзя говорить инвестору?Pavel Cherkashin
 
ошибки аналитика
ошибки аналитикаошибки аналитика
ошибки аналитикаAndrey Verbitsky
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовrit2010
 
TAdviser. СЭД-ECM-EDI - 2016. Mакаров
TAdviser. СЭД-ECM-EDI - 2016. MакаровTAdviser. СЭД-ECM-EDI - 2016. Mакаров
TAdviser. СЭД-ECM-EDI - 2016. MакаровStanislav Makarov
 
Продюссирование, проект-менеджмент
Продюссирование, проект-менеджментПродюссирование, проект-менеджмент
Продюссирование, проект-менеджментNimax
 
Управление ИБ в условиях текущей неопределенности/очный семинар RISC
Управление ИБ в условиях текущей неопределенности/очный семинар RISCУправление ИБ в условиях текущей неопределенности/очный семинар RISC
Управление ИБ в условиях текущей неопределенности/очный семинар RISCRISClubSPb
 
Управление ИБ в условиях кризиса
Управление ИБ в условиях кризисаУправление ИБ в условиях кризиса
Управление ИБ в условиях кризисаAleksey Lukatskiy
 
Гибкий подход (Agile,scrum)
Гибкий подход (Agile,scrum)Гибкий подход (Agile,scrum)
Гибкий подход (Agile,scrum)Irina Chernikova
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосноватьMaksym Bezuglyi
 
Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)Andrey Bibichev
 
Андрей Вербицкий: Ошибки IT-аналитика
Андрей Вербицкий: Ошибки IT-аналитикаАндрей Вербицкий: Ошибки IT-аналитика
Андрей Вербицкий: Ошибки IT-аналитикаRaum7
 

Similar to Автоматизация бизнес-процессов: проектирование архитектуры конкурентных решений (20)

Птички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное простоПтички и пчелки. Как документировать сложное просто
Птички и пчелки. Как документировать сложное просто
 
Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010Проактивное управление проектами в среде Microsoft Visual Studio 2010
Проактивное управление проектами в среде Microsoft Visual Studio 2010
 
Построение процесса безопасной разработки
Построение процесса безопасной разработкиПостроение процесса безопасной разработки
Построение процесса безопасной разработки
 
Павел Черкашин - Что нельзя говорить на встрече с инвестором
Павел Черкашин - Что нельзя говорить на встрече с инвесторомПавел Черкашин - Что нельзя говорить на встрече с инвестором
Павел Черкашин - Что нельзя говорить на встрече с инвестором
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01
 
AgileBaseCamp 2013 - Start Up and Get Done
AgileBaseCamp 2013 - Start Up and Get DoneAgileBaseCamp 2013 - Start Up and Get Done
AgileBaseCamp 2013 - Start Up and Get Done
 
Аналитик в Agile (статья)
Аналитик в Agile (статья)Аналитик в Agile (статья)
Аналитик в Agile (статья)
 
Что нельзя говорить инвестору?
Что нельзя говорить инвестору?Что нельзя говорить инвестору?
Что нельзя говорить инвестору?
 
ошибки аналитика
ошибки аналитикаошибки аналитика
ошибки аналитика
 
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
 
TAdviser. СЭД-ECM-EDI - 2016. Mакаров
TAdviser. СЭД-ECM-EDI - 2016. MакаровTAdviser. СЭД-ECM-EDI - 2016. Mакаров
TAdviser. СЭД-ECM-EDI - 2016. Mакаров
 
Продюссирование, проект-менеджмент
Продюссирование, проект-менеджментПродюссирование, проект-менеджмент
Продюссирование, проект-менеджмент
 
Управление ИБ в условиях текущей неопределенности/очный семинар RISC
Управление ИБ в условиях текущей неопределенности/очный семинар RISCУправление ИБ в условиях текущей неопределенности/очный семинар RISC
Управление ИБ в условиях текущей неопределенности/очный семинар RISC
 
Управление ИБ в условиях кризиса
Управление ИБ в условиях кризисаУправление ИБ в условиях кризиса
Управление ИБ в условиях кризиса
 
Гибкий подход (Agile,scrum)
Гибкий подход (Agile,scrum)Гибкий подход (Agile,scrum)
Гибкий подход (Agile,scrum)
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
 
Agile
AgileAgile
Agile
 
Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)Проектирование больших ИС в Agile (статья)
Проектирование больших ИС в Agile (статья)
 
Ms it cup synergos - еаев
Ms it cup   synergos - еаевMs it cup   synergos - еаев
Ms it cup synergos - еаев
 
Андрей Вербицкий: Ошибки IT-аналитика
Андрей Вербицкий: Ошибки IT-аналитикаАндрей Вербицкий: Ошибки IT-аналитика
Андрей Вербицкий: Ошибки IT-аналитика
 

More from CUSTIS

Три истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseТри истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseCUSTIS
 
Долгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеДолгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеCUSTIS
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямCUSTIS
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиCUSTIS
 
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...CUSTIS
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиCUSTIS
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииCUSTIS
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеCUSTIS
 
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?CUSTIS
 
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектурыCUSTIS
 
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисовCUSTIS
 
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымCUSTIS
 
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...CUSTIS
 
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыCUSTIS
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахCUSTIS
 
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net PerformanceCUSTIS
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьCUSTIS
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыCUSTIS
 
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетCUSTIS
 
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...CUSTIS
 

More from CUSTIS (20)

Три истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для EnterpriseТри истории микросервисов, или MSA для Enterprise
Три истории микросервисов, или MSA для Enterprise
 
Долгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейлеДолгоживущие ИТ в динамичном ритейле
Долгоживущие ИТ в динамичном ритейле
 
Будущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациямБудущее уже наступило: от Agile к бирюзовым организациям
Будущее уже наступило: от Agile к бирюзовым организациям
 
Как выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиямиКак выбрать для проекта практики проектирования и работы с требованиями
Как выбрать для проекта практики проектирования и работы с требованиями
 
Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...Диаграммы учета как средство для наглядного и целостного отображения правил у...
Диаграммы учета как средство для наглядного и целостного отображения правил у...
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
 
Agile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революцииAgile — ответ на вызовы третьей промышленной революции
Agile — ответ на вызовы третьей промышленной революции
 
Опыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банкеОпыт построения микросервисной архитектуры в цифровом банке
Опыт построения микросервисной архитектуры в цифровом банке
 
Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?Золотая лихорадка MSA: почему нам не подошли микросервисы?
Золотая лихорадка MSA: почему нам не подошли микросервисы?
 
Барьеры микросервисной архитектуры
Барьеры микросервисной архитектурыБарьеры микросервисной архитектуры
Барьеры микросервисной архитектуры
 
Три истории микросервисов
Три истории микросервисовТри истории микросервисов
Три истории микросервисов
 
От монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульнымОт монолитных моделей предметной области — к модульным
От монолитных моделей предметной области — к модульным
 
Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...Проблемы управления правами доступа к информационным системам крупной торгово...
Проблемы управления правами доступа к информационным системам крупной торгово...
 
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифрыБудущее omni-channel маркетинга: инструменты, кейсы и цифры
Будущее omni-channel маркетинга: инструменты, кейсы и цифры
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
State of the .Net Performance
State of the .Net PerformanceState of the .Net Performance
State of the .Net Performance
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Опыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектурыОпыт применения метода ATAM для оценки архитектуры
Опыт применения метода ATAM для оценки архитектуры
 
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватаетГибридный подход к управлению правами доступа: когда стандартного IDM не хватает
Гибридный подход к управлению правами доступа: когда стандартного IDM не хватает
 
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
Собираем кубик Рубика: восстановление архитектурного описания корпоративной р...
 

Автоматизация бизнес-процессов: проектирование архитектуры конкурентных решений

  • 2. I object to doing things that computers can do. Olin Shivers 2/15
  • 3. Цели  Разработать подход к проектированию IT-решений для бизнеса  Выявить критические абстракции  Обозначить наиболее важные аспекты цикла существования программного продукта  Разобраться, что такое «бизнес-логика» и что о ней надо знать разработчику 3/15
  • 5. Задачи IT через призму бизнеса  Нет полного видения модели предметной области в перспективе, даже если все уверены в обратном  Сервисные задачи не интересуют «бизнес-логику»  Сделать «это» очень просто!  «Это» нужно вчера 5/15
  • 6. Эра «стартапов»  Поиск надежной бизнес-модели, НИОКР в области интернет-рынков  Быстрый рост на начальных инвестициях  Быстрое падение  «Патентный троллинг»  Слияние и поглощение 6/15
  • 7. Предел гибкости  Переусложнение неизбежно?  Что забыли учесть?  Закон Завинского  Что потеряет проект в ближайший месяц, если не сможет читать почту завтра? 7/15 Every program attempts to expand until it can read mail. Those programs which cannot so expand are replaced by ones which can.
  • 8. Предел сложности решений  Насколько интенсивно будет меняться продукт в ближайшее время?  Какова квалификация вовлеченной группы разработчиков?  Сколько времени понадобится разработчику с опытом от трех лет, чтобы погрузиться в проект? 8/15
  • 9. Предел масштабируемости  Будем ли мы продавать услуги клиентам из соседних галактик?  Сделаем все многопоточным?  Что тяжелее – вычисления или данные?  RDBMS vs NoSQL 9/15
  • 10. Инструмент для задачи, а не задача для инструмента (маркетинговые ловушки)  Западня универсальных систем («миллионы мух не могут ошибаться»)  Насколько готовое решение решает задачи ближайших 6 месяцев?  Какова стоимость результатов работы ближайших 6 месяцев?  Риски vs страховка 10/15
  • 11. Без чего жить программировать нельзя  Логов много не бывает  Простота интеграции и миграции – не путать с легкостью переключения на другие СУБД (насколько нужна последняя?)  Ввода/вывода мало не бывает  Кэш и его инвалидация  Насколько просто это тестировать? 11/15
  • 13. О чем можно забыть и потом сильно пожалеть  Отказоустойчивость и устойчивость к взлому  Простота диагностики  «Ломка» при смене ключевых разработчиков («Кто это писал?»)  Эффективность одновременной работы большого числа людей над общим проектом  Степень надежности проноса новых версий  Инкапсуляция (неинкапсулированные решения влекут затратный и болезненный рефакторинг) 13/15
  • 14. Эффективность кода  DRY!  Документация  Эксплуатация общепризнанных паттернов (только достоверно необходимых для конкретной задачи абстракции)  Экономия «на спичках»  Единый согласованный стиль кода и абстракций для всех участников команды 14/15