26
Разработка больших приложений Сергей Шутов, InterSystems Владивосток, май 2015

владивосток форум разработка_больших_приложений

Embed Size (px)

Citation preview

Разработка больших приложений

Сергей Шутов, InterSystems Владивосток, май 2015

Водопад

Проектирование

Архитектура

Разработка

Сборка

Тестирование

Поставка

Гибкие методологии

Гибкие методологии

• Люди и взаимодействие

• Работающий продукт

• Сотрудничество с заказчиком

• Готовность к изменениям

• Процессы и инструменты

• Исчерпывающая документация

• Согласование условий контракта

• Следование первоначальному плану

Дисциплина

Plan

Do Check

Adjust

AAAA!!!

КАКОГО?!!!

&^%$#!!!!

Дисциплина

Дисциплина

Plan

Do Check

Adjust

Внимание к главному

Наивысшим приоритетом является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке

ценного программного обеспечения

Гибкость

Изменение требований приветствуется, даже на поздних стадиях разработки.

Ритм

Работающий продукт следует выпускать как можно чаще, с периодичностью от пары

недель до пары месяцев.

Коммуникации

На протяжении всего проекта разработчики и представители бизнеса должны

ежедневно работать вместе.

Стресс

Инвесторы, разработчики и пользователи должны иметь возможность поддерживать

постоянный ритм бесконечно.

Качество

Постоянное внимание к техническому совершенству и качеству проектирования

повышает гибкость проекта.

Простота

Простота — искусство минимизации лишней работы — крайне необходима.

Рефлексия

Команда должна систематически анализировать возможные способы

улучшения эффективности и соответственно корректировать стиль своей

работы.

Стандарты

Члены команды должны понимать что следует делать в критически важные или

часто встречающиеся моменты

Право на ошибку

Метрики

• Улучшать можно только то, что измеряете

• Будьте аккуратны с тем, что вы измеряете

• Хорошо: – Прогресс

– Качество

– Производительность

• Плохо: – Кол-во строк в коде

– Посещаемость офиса

Производительность

• Улучшаем производительность – усложняем систему

• Понимать, где нужно бороться за производительность – непросто

• Делайте простые обвязки вокруг сложных участков кода (методы, Custom SQL)

Автоматизация

• Чем больше процессов у вас автоматизировано, тем меньше возможность ошибки и проще вносить изменения

– Генерация кода

– Сборка дистрибутива

– Тестирование

– Сбор метрик, отчетность

Опыт InterSystems TrakCare

• Perforce

• Jira

• Jenkins

• Тесты

Perforce

Jira

Jenkins

Тесты

Спасибо

Пишите письма [email protected]