38
@dmytromindra #itbrunch Мифы о проектировании Дмитрий Миндра Microsoft Technologies Lab Leader Lohika, Odessa

IT Brunch - 12.11.2011 - Myths about Design

Embed Size (px)

DESCRIPTION

http://itbrunch.com.ua/program-agile-practitioners-2011-11-12/

Citation preview

Page 1: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Мифы о проектировании Дмитрий Миндра Microsoft Technologies Lab Leader Lohika, Odessa

Page 2: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Page 3: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Что такое хорошо и что такое плохо ? (с точки зрения заказчика)

Хорошо Плохо

Page 4: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Любое решение начинается с проблемы

Page 5: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 1: В современной разработке ПО нет проблем.

Page 6: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Проблема №1: Завершенность

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

Page 7: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Проблема №2: Дефекты

Объем работы, связанной с устранением дефектов и ошибок в «завершенном» программном продукте, необходимой для того, чтобы сделать продукт готовым к использованию часто занимает значительное количество времени. Часто это время больше чем время разработки продукта.

Page 8: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Проблема №3: Требования Функциональность программного обеспечения редко соответствует требованиям конечных пользователей.

Page 9: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Проблема №4: Поддержка

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

Page 10: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Мир стал быстрее

Page 11: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Проектировщик - двойной агент

Page 12: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Ключевые цели гибкого архитектора

• Предоставить работающее решение

• Максимизация ценности для заказчика

• Найти решения, которые удовлетворяют всех заинтересованных лиц

• Учитывать дальнейшую разработку или эксплуатацию

• Управлять изменениями и сложностью

Page 13: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 2: Мы докупим оборудование

Page 14: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Кризис

1948 1960

Стоимость разработки

Время год год

Page 15: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 3: Архитектура - это …

разноцветные прямоугольники !

Page 16: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Диаграммы – это проекции

Page 17: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Page 18: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Дьявол в деталях

Нам нужно больше диаграмм ! Пиши, блин, код !

Page 19: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 4: Архитектор не должен писать код

Page 20: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Архитектор разбирается во всем

Page 21: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Проектирование – борьба с неопределенностью

Основной инструмент Проектировщика ПО очень похож на инструмент метеоролога

Page 22: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

К изменениям требований

Page 23: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 5: Спроектируем все заранее Big Design Upfront (BDUF)

Page 24: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Похоже, проект не был готов к изменениям.

Page 25: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 6:Не будем ничего проектировать вообще

No Design Upfront (NDUF)

Page 26: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 7: Технический долг – это плохо написанный код

Page 27: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Технический долг быстро накапливается

Page 28: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Технический долг может привести к совершенно негибким решениям

Page 29: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 8: Нет времени на модульные тесты

Page 30: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Рефакторинг без тестов

Page 31: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Test Driven Development

модульные тесты бесплатно

Page 32: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Миф 9: Сделаем сразу сложно

Page 33: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Факт: Сложно сделать легко

Page 34: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Вязкая напыщенная архитектура – не миф, а реальность

Page 35: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Agile - это баланс

Page 36: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

В заключение

Программное обеспечение не ограничено физикой, как здания. Оно ограничено фантазией, дизайном, организацией. Короче говоря, оно ограничено свойствами людей, а не свойства мира. "Мы встретили врага, и этот враг мы сами".

-- Мартин Фаулер

Page 37: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Расширить ограничения мы можем только работая над собой.

Page 38: IT Brunch - 12.11.2011 - Myths about Design

@dmytromindra #itbrunch

Дмитрий Миндра

RnD Tech Lead

Lohika, Одесса

@dmytromindra

[email protected]