Способы создания качественного программного продукта
TRANSCRIPT
![Page 1: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/1.jpg)
Алексей Филимонов, Партнер, Директор департамента технологического консалтинга и экспертизы
![Page 2: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/2.jpg)
Разработка продукта: делаем и не боимсяЖизненный цикл продукта в стартапеLean startup и разработкаMinimum Viable ProductScrumСоздание и развитие командыProduct roadmap
![Page 3: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/3.jpg)
Жизненный цикл продуктаКлассическая модель
Требования\ТЗ\СпецификацииРазработкаРазвитие и поддержка
Модель разработки в стартапеСтартап не знает какой продукт будет в итоге!
![Page 4: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/4.jpg)
Цели и задачи стартапа1. Как можно быстрее ответить на вопрос – а можно ли вокруг этой идеи создать бизнес?
Lean startup2. Построить процесс, помогающий ответить на п.13. Создать внутри организации компетенцию по созданию и развитию продукта
Если на этом базируются конкурентные преимущества4. Принять правильные технологические решения, влияющие на развитие продукта в будущем
И на капитализацию!5. Минимизировать затраты до получения инвестиций
Но сделать достаточно для привлечения инвестора!
![Page 5: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/5.jpg)
Lean startupУправлению стартапами можно научить!Build-Learn-MeasureInnovation accounting
Измеряйте прогрессСтавьте приоритетыСтавьте промежуточные цели
Validated learningТестируйте и проверяйте все как можно раньше
![Page 6: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/6.jpg)
Жизненный цикл в Lean startupDo
Develop\Update MVPTest MVPКорректировка product vision
Until MVP = CORRECTРазвитие продукта
Итеративно!
Создание и развитие продукта в lean startup невозможно без применения гибких (agile) методологий разработки
![Page 7: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/7.jpg)
Примеры lean стартапов
![Page 8: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/8.jpg)
Что такое MVP?Минимальная фунциональность удовлетворяющая
базовую потребность предполагаемого клиентаFeature listСпеки/экраны системыСайт с описанием преимуществПрототипБета-версию системыv1.0 системы
![Page 9: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/9.jpg)
Что такое MVP?Должен ли быть продукт?Что то что может помочь получить обратную связь от
ближнего круга (sounding board)Очевидно, это не обязательно даже прототип!Постоянно развивающийся «протопродукт»?
![Page 10: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/10.jpg)
10
Agile ManifestoЛюди и их взаимодействие важнее,
чем процессы и инструменты
Работоспособное ПО важнее, чем обширная и детальная документация
Сотрудничество с заказчиком важнее,чем жесткие контракты
Реагировать на изменения важнее, чем следовать плану
![Page 11: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/11.jpg)
11
ScrumГибкая методология УП
Набор ролей, методов и процессовУправленческий фреймворк с жесткими ограничения
по времени и четкой структурой процессовНе описываются инженерные практики
Как программировать?Как анализировать требования?… зато легко внедрить за день
![Page 12: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/12.jpg)
12
Высокая турбулентность среды
Водопадные
Итеративные
А А
В В
C C
![Page 13: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/13.jpg)
13
Ценность SCRUM для стартапаИтеративность процесса
Частый выпуск версии продукта (2-4 недели)«Градиентный» метод развития продукта через более частое
получение обратной связи с рынка или от sounding boardВозможность работы с неформализованными требованиями
(user stories)Возможность быстрого переноса бизнес-требований в код
Внимание к техническому качеству и архитектуре на протяжении всего проектаСтабильное качество каждой версии
Самоорганизующаяся и кроссфункциональная командаНезависимость от единичных носителей компетенций
![Page 14: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/14.jpg)
14
Компании, использующие ScrumMicrosoftYahooGoogleElectronic ArtsLockheed MartinPhilipsSiemensNokiaBBCIntuit
Nielsen MediaSalesForce.comOracleIntelTime WarnerTurner BroadcastingToyotaRamblerKaspersky Labs
![Page 15: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/15.jpg)
15
Scrum: ролиScrum Master – Скрам-мастер
Руководитель проекта?Устранение проблем и улучшение процессов
Product Owner - Владелец продуктаЗаказчик/Клиент?Поставщик требований и приоритетов
КомандаИсполнители/Программисты?Каждый спринт делает готовый продукт
![Page 16: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/16.jpg)
16
Scrum: управление требованиями
Задача
Юзер-стори
Беклог спринта
Беклог продукта
![Page 17: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/17.jpg)
17
Юзер-сториТребование с точки зрения пользователя«Роль/Персонаж», «Действие», «Цель»
Зарегистрированный пользователь оплачивает товар, чтобы его приобрести
«Таня Бухгалтерша» и «Василий ИТшник» – разные персонажи
Полное описание «хранится» в виде знаний командыЕсли команда распределенная используется вики
![Page 18: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/18.jpg)
18
Scrum: процессы
![Page 19: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/19.jpg)
19
Scrum: иерархия процессов
Ежедневный скрам
Спринт
Релиз
![Page 20: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/20.jpg)
20
Покер-планирование
У каждого участника колода карт с оценками
Оценки даются в идеальных
человеко-часах или в стори-
поинтах
Рассматривается и обсуждается одна
юзер-стори
Каждый участник одновременно делает оценку
Если оценки различаются, то обсуждаем еще и повторяем оценку
![Page 21: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/21.jpg)
21
Планирование-спринтаАктуализируются приоритеты у задач владельцем
продуктаНа спринт выбираются самые важные задачи
Сумма оценки всех набранных задач не должна превышать скорость команды
Если задача не помешается целиком, ее необходимо разбить на две, а не брать более маленькую задачу с меньшим приоритетом
![Page 22: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/22.jpg)
22
Ежедневный скрамОграниченный по времени
стендапВ одно и то же времяДолжна быть вся команда…
… и владелец продуктаКаждый отвечает на три
вопроса:Что сделано вчера?Какие были проблемы?Что будешь делать сегодня?
![Page 23: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/23.jpg)
23
Доска задач
![Page 24: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/24.jpg)
24
Burndown спринта: следим за прогрессом
![Page 25: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/25.jpg)
Создание и развитие командыЦель: формирование компетенции по разработке
внутри стартапа с минимальными затратамиСочетание разных подходов
НаемОбучение«Взращивание»Точечный аутсорсинг
Кейс «Планшетная разработка»
![Page 26: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/26.jpg)
Кейс «Планшетная разработка»Рост группы до 30 человек «с нуля» за годПолное отсутствие компетенции разработки под iOS
на стартеПрактическое полное отсутствие компетенции на
рынке трудаРезультат: костяк команды через 3 месяца,
масштабирование в течение 6 месяцевПроекты для топменеджмента РЖД, Русгидро, НЛМК,
Сбербанка, госструктурПродукт «Планшет руководителя»
![Page 27: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/27.jpg)
Аутcорсинг, за и против
Может быть быстроМожет быть качественнееМожет быть гарантированнееПрототипирование в целях привлечения инвестиций?
Может быть медленноДорогоНизкая итеративность и адаптивностьВысокая удельная цена (высокие дальнейшие затраты на развитие продукта)Потенциальные проблемы с IP
![Page 28: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/28.jpg)
Что отличает стартап и аутсорсера?Инженерная культура!!!
ПроцессыОпытКомандная работаГлубокие специфичные знания в определенных областях
При всем при этом – создание продукта с помощью аутсорсеров занимает на 30% времени больше (данные StartupGenom)
Как создать инженерную культуру?Учитесь сами, ищите правильных кофаундеров и менторов, привлекайте консультантов
![Page 29: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/29.jpg)
Ускорение процесса разработкиПроцесс (Scrum)Технологии и инструменты (архитектура,
масштабирование, тренды, скорость разработки)Правильный выбор «делать самим – купить готовое»Ценность: Уменьшение T2M\T2P!
![Page 30: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/30.jpg)
Product Roadmap
2012 20142013
Conf
eren
ce
enab
lem
ent
5 Re
leas
e
Shar
ePoi
nt
Inte
grat
ion
Cloud
5 Li
ve(P
aaS
Prot
otyp
e)Ta
blet
wid
get
SaaS
Bus
ines
s So
lutio
ns
5.1
Rele
ase
SaaS
Edi
tion
Capt
urin
g
Arch
ive
Hel
pDes
k
ECM
fron
t end
Cros
s-br
anch
auto
mat
ion
Mai
lroom
Revi
ew &
App
rova
lou
t-of-t
he-b
oxOut
look
& O
ffice
Tabl
et W
idge
t 2
Tabl
et W
idge
t 3
HTM
L Co
nstr
ucto
rs
BPM
RMS
CMS
SaaS
2, S
ocia
l net
wor
ks
Java
Ser
ver
HTM
L So
lutio
n M
aste
r
Non
MS
DB
Supp
ort
Plat
form
As
A Se
rvic
e
6 Ja
va S
erve
r6
Serv
ice
Mod
ules
6 Se
rvic
e M
odul
es
Easy to use Easy to customize Easy to deploy & maintain Easy to buy
Corporate
![Page 31: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/31.jpg)
Зачем нужен roadmap?Не противоречит ли наличие roadmap идеологии
lean?Фиксирует важные вехи «Наводит порядок в голове»Повышает инвестиционную привлекательность
Наличие неправильной стратегии лучше чем ее отсутствие! Стоимость cloud–компаний (по результатам реальных сделок)
– в 2 раза больше аналогичных ISV, не позиционирующих себя как «облачные»
![Page 32: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/32.jpg)
Полезные ссылкиwww.theleanstartup.comwww.scrumalliance.orgwww.openviewlabs.comwww.sprintometer.com
Особая благодарность: Борис Вольфсон, независимый Agile coach
![Page 33: Способы создания качественного программного продукта](https://reader035.vdocuments.pub/reader035/viewer/2022062216/557f5784d8b42a42328b4aed/html5/thumbnails/33.jpg)
Немного о себеДиректор департамента программных решений Digital
DesignСоздание нового направления планшетной разработки с 0
до 30 человек за 1 годДиректор по стратегическим проектам DocsVision
Глобализация и взаимоотношения с инвесторамиРуководитель ERP-направления, StarSoft Labs (Exigen
Services)Локализация и вывод на российский рынок ERP-системы
Jeeves EnterpriseСо-основатель 3 стартапов