SlideShare a Scribd company logo
1 of 22
Особенности agile
разработки интернет
проектов
на PHP/Yii, Python/Django и Java/Spring
Курышев
Петр
peter@infosreda.com
peter.kurishev
Текст
Agile
Что в нем?
Почему agile?
Нет времени на waterfall, продукт устареет прежде чем
выйдет. Мы хотим чаще
Общение - наше все
Неявные риски рулят: «Мы узнаем о проблеме, когда
столкнемся с ней»
Разрабатывать ПО дорого и мы заплатим любому, кто
сделает этот процесс дешевле!
Клиент не знает что он хочет. По крайней мере пока не
знает
Не совсем очевидные
следствия
Очень часто встречается MVC, MVVC или MVP или как вы там это
называете
ORM, Object mapping или что-то в этом роде (но есть примеры и без него,
только писать много придется)
Каждая agile команда уникальна => нет унифицированного agile процесса
разработки, нельзя внедрить «по книжке»
Клиент должен быть внутри процесса, а не снаружи
Fixed price - очень рискованно. Проще начать на T&M, и подумать о FP
после 3-5 итераций
Все участники примерно равны потому что а) делают одно дело; б)
самоорганизуются, а не подчиняются.
Не совсем очевидные
последствия часть II
Code less, gain more or die hard
Энергия команды ограничена, а эклог все растет…
Мы вас обратно спрашивать не будем
CI/CD? Всегда!
Тесты, как бы неприятно это не было. Потому что
скорость
Очень Scaffolding надо
Что внутри?
Backend
Frontend
Mobile
DevOps
Q&A
PM
Дизайн
Аналитик
Что важно?
Скорость разработки
Скорость разработки
Цена
Достижение полезных результатов (качество)
Скорость доставки продукта
Жизнь - это боль бег
Важное замечание
Мы не обсуждаем чисто
технические аспекты
фреймворков
Пусть они останутся на их
совести
Мы говорим о том как
фреймворк влияет на agile
разработку и влияет ли
И мы говорим о прикладном
использовании, т.е. используем
фреймворк, а не пишем новый
Текст
PHP/Yii
Низкий порог вхождения (ха-ха)
Плюсы
Людей, которые в той или иной степени знают PHP достаточно много
на рынке труда
Стоимость среднего PHP разработчика все-таки ниже…
Выделение компонентов помогает успешно повторно использовать код
Автоматическое построение URLов (controller/action)
Да и вообще хостинг самый дешевый!
Кодогенерация (Gii)
Можно грамотно переносить быстро сделанные сайты на нормальные
рельсы
Условные минусы
Много спагетти кода
Не всегда «взрослое» community, но нужно
отметить что взрослеет
Если клиент говорит «PHP», то это значит, что
экономить он будет на всем и не всегда оправдано
Интеграция с jQieru (оно же и плюс, кстати)
Текст
Python/Django
Современно, молодежно и достаточно
серьезно (на самом деле RoR тоже где-то
здесь).
Основные принципы
DRY (do not repeat yourself)
Слабая связанность компонентов фреймворка
Широко используется ORM
Автопостроение админки
Батарейки. Потому что вставил и заработало
Generic Class Based Views если правильно понять и
использовать сэкономят вам кучу времени
Плюсы
Python :)
Много чего «из коробки» (авторизация, админка,
мультисайтовость, сайтмапы и много еще чего)
Качественные компоненты (reusable Django apps) -
более 3000 готовых компонентов
Есть даже встроенное решение для GIS
(GeoDjango)
C NoSQL решениями все еще пока не очень
хорошо
Условные минусы
Проблема выбора и поиска нужного компонента
На shared хостинге не надо. Начинается с VDS
Ограниченное количество кадров на рынке
Текст
Java/Spring
Зрелая платформа для зрелых проектов (на
самом деле для зрелых команд)
Плюсы
Зрелость
Enterprise с «человеческим лицом»
Можно использовать специалистов из Enterprise (актуально во время
кризиса)
Активноразвивающиеся средства кодогенерации и бутстрапинга (Spring
Boot) - уменьшает время старта проекта
Еще более развитые средства кодогенерации (JHipster - Yeoman,
Maven, Spring и Angular «в одном флаконе»)
Много оттестированных production и enterprise ready компонентов. Для
банков актуально, например
Условные минусы
Сложнее всего из тройки найти кадры
Самый высокий порог входа
Стоимость инфраструктуры
Java постоянно «хоронят»
Почему-то все думают что Java сама по себе есть много
памяти. Не думайте о памяти, разработчики все-равно
дороже!
А памяти в требованиях все-равно стоит от 1 Гб
Текст
Итоги и обсуждения
Итого:
Выводы для flame wars
Фреймворк влияет, но это аспект больше социальный, а не
технологический
Экосистема может быть большой, но если большое плохо пахнет, то это
все-равно не поможет
Экономьте деньги в разработке и выбирайте компромис между вашим
желанием сделать хорошо сейчас, хорошо потом и/или за приемлемые
деньги
Чем больше кода можно повторно использовать - тем лучше, ну или DRY
Выбирайте команду, которая с меньшими затратами реализовать ваши
задачи на том фреймворке, который ей хорошо знаком. Тут нет религии.
Только деньги
Всем добра!
Петр Курышев
peter@infosreda.com
skype: peter.kurishev
Спасибо что пришли!
Всем добра, Docker’а, KISS, DRY и всего
наилучшего!

More Related Content

What's hot

Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010Anton Vidishchev
 
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Denis Tuchin
 
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?ScrumTrek
 
Иду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. МоскваИду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. МоскваMaxim Gaponov
 
Дизайн в хаосе
Дизайн в хаосеДизайн в хаосе
Дизайн в хаосеArtur Kasimov
 
Карьера в тестировании
Карьера в тестированииКарьера в тестировании
Карьера в тестированииMikhail Meriin
 
Bdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_testsBdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_testsOleksiy Rezchykov
 
Разработка бизнес приложений (4)
Разработка бизнес приложений (4)Разработка бизнес приложений (4)
Разработка бизнес приложений (4)Alexander Gornik
 
The second step in interface design
The second step in interface designThe second step in interface design
The second step in interface designAgilie Team
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеAlexander Kolotov
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps_Fest
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниораRina Uzhevko
 
Programmers' Mistakes for Dummies
Programmers' Mistakes for DummiesProgrammers' Mistakes for Dummies
Programmers' Mistakes for DummiesCOTOHA
 
Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Alexander Gornik
 
Как превратить User Story в историю успеха
Как превратить User Story в историю успехаКак превратить User Story в историю успеха
Как превратить User Story в историю успехаDataArt
 
Микита Семенов "Серйозний підхід до серйозних магазинів"
Микита Семенов "Серйозний підхід до серйозних магазинів"Микита Семенов "Серйозний підхід до серйозних магазинів"
Микита Семенов "Серйозний підхід до серйозних магазинів"Lviv Startup Club
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияMikhail Payson
 
Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...
Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...
Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...Lviv Startup Club
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сHelen Kopteva
 

What's hot (20)

Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010Тестирование приложений с помощью Visual studio 2010
Тестирование приложений с помощью Visual studio 2010
 
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
Денис Тучин - Типичные проблемы ретроспектив (Lean Coffee, 2016.03.11)
 
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
Жизнь в стиле стартап в корпоративной среде: Agile в помощь?
 
Иду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. МоскваИду по приборам… Практические советы по визуализации работ. Москва
Иду по приборам… Практические советы по визуализации работ. Москва
 
Дизайн в хаосе
Дизайн в хаосеДизайн в хаосе
Дизайн в хаосе
 
Карьера в тестировании
Карьера в тестированииКарьера в тестировании
Карьера в тестировании
 
Bdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_testsBdd with java_using_concordion_and_selenium_ui_tests
Bdd with java_using_concordion_and_selenium_ui_tests
 
Развитие ИТ
Развитие ИТРазвитие ИТ
Развитие ИТ
 
Разработка бизнес приложений (4)
Разработка бизнес приложений (4)Разработка бизнес приложений (4)
Разработка бизнес приложений (4)
 
The second step in interface design
The second step in interface designThe second step in interface design
The second step in interface design
 
Опросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехникеОпросный лист оценки знаний по соревновательной робототехнике
Опросный лист оценки знаний по соревновательной робототехнике
 
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
DevOps Fest 2020. Максим Безуглый. DevOps - как архитектура в процессе. Две к...
 
Мир тестирования глазами джуниора
Мир тестирования глазами джуниораМир тестирования глазами джуниора
Мир тестирования глазами джуниора
 
Programmers' Mistakes for Dummies
Programmers' Mistakes for DummiesProgrammers' Mistakes for Dummies
Programmers' Mistakes for Dummies
 
Разработка бизнес приложений (3)
Разработка бизнес приложений (3)Разработка бизнес приложений (3)
Разработка бизнес приложений (3)
 
Как превратить User Story в историю успеха
Как превратить User Story в историю успехаКак превратить User Story в историю успеха
Как превратить User Story в историю успеха
 
Микита Семенов "Серйозний підхід до серйозних магазинів"
Микита Семенов "Серйозний підхід до серйозних магазинів"Микита Семенов "Серйозний підхід до серйозних магазинів"
Микита Семенов "Серйозний підхід до серйозних магазинів"
 
Промышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятияПромышленная разработка ПО. Лекция 1. Общие понятия
Промышленная разработка ПО. Лекция 1. Общие понятия
 
Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...
Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...
Lviv MDDay 2014. Дмитро Чута “Інтерактивна революція чи що потрібно знати про...
 
Методики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1сМетодики управления развитием ис на базе 1с
Методики управления развитием ис на базе 1с
 

Viewers also liked

Артем Маркушев - JavaScript
Артем Маркушев - JavaScriptАртем Маркушев - JavaScript
Артем Маркушев - JavaScriptDataArt
 
Артур Чеканов «Microframeworks» (Python Meetup)
Артур Чеканов  «Microframeworks» (Python Meetup)Артур Чеканов  «Microframeworks» (Python Meetup)
Артур Чеканов «Microframeworks» (Python Meetup)DataArt
 
นิทาน
นิทานนิทาน
นิทานExitOfLove
 
Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2PlantHealthResourceCenter
 
Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)
Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)
Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)DataArt
 
photos
photosphotos
photosdiakxr
 
Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE!
 
" Angular 2.0", Андрей Альперт, DataArt
 " Angular 2.0", Андрей Альперт, DataArt " Angular 2.0", Андрей Альперт, DataArt
" Angular 2.0", Андрей Альперт, DataArtDataArt
 
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUsDataArt
 
76363027 bo-cau-hoi-sinh-dai-cuong 2
76363027 bo-cau-hoi-sinh-dai-cuong 276363027 bo-cau-hoi-sinh-dai-cuong 2
76363027 bo-cau-hoi-sinh-dai-cuong 2doanh2801
 
Fruit and vegetables
Fruit and vegetablesFruit and vegetables
Fruit and vegetablessofia84k
 
Contratación electrónica y contratación informática
Contratación electrónica y contratación informáticaContratación electrónica y contratación informática
Contratación electrónica y contratación informáticaJoel Quintana
 
A Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data EmployedA Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data EmployedMohamed Sohail
 
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.DataArt
 
Visiting unpleasent places
Visiting unpleasent placesVisiting unpleasent places
Visiting unpleasent placesArpanasa
 

Viewers also liked (20)

Christmas eve
Christmas eveChristmas eve
Christmas eve
 
Артем Маркушев - JavaScript
Артем Маркушев - JavaScriptАртем Маркушев - JavaScript
Артем Маркушев - JavaScript
 
Артур Чеканов «Microframeworks» (Python Meetup)
Артур Чеканов  «Microframeworks» (Python Meetup)Артур Чеканов  «Microframeworks» (Python Meetup)
Артур Чеканов «Microframeworks» (Python Meetup)
 
นิทาน
นิทานนิทาน
นิทาน
 
Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2Building Pennsylvania's First Detector Network Part 2
Building Pennsylvania's First Detector Network Part 2
 
Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)
Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)
Михаил Завилейский "Мотивация через понимание" IT talk #6 (Днепропетровск)
 
photos
photosphotos
photos
 
Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840Jornal HOJE! - Edição 840
Jornal HOJE! - Edição 840
 
" Angular 2.0", Андрей Альперт, DataArt
 " Angular 2.0", Андрей Альперт, DataArt " Angular 2.0", Андрей Альперт, DataArt
" Angular 2.0", Андрей Альперт, DataArt
 
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
"В поисках эффективности: Slack и BitBucket", Юлия Писаревская, GoodSellUs
 
Social media 2.0 february edition
Social media 2.0 february editionSocial media 2.0 february edition
Social media 2.0 february edition
 
76363027 bo-cau-hoi-sinh-dai-cuong 2
76363027 bo-cau-hoi-sinh-dai-cuong 276363027 bo-cau-hoi-sinh-dai-cuong 2
76363027 bo-cau-hoi-sinh-dai-cuong 2
 
Fruit and vegetables
Fruit and vegetablesFruit and vegetables
Fruit and vegetables
 
Contratación electrónica y contratación informática
Contratación electrónica y contratación informáticaContratación electrónica y contratación informática
Contratación electrónica y contratación informática
 
Bean Plataspid
Bean PlataspidBean Plataspid
Bean Plataspid
 
Thriller's best villains
Thriller's best villainsThriller's best villains
Thriller's best villains
 
A Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data EmployedA Journey to Power Intelligent IT - Big Data Employed
A Journey to Power Intelligent IT - Big Data Employed
 
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
Александр Кашеверов — Коротко про WEB: HTML, CSS, JS.
 
Visiting unpleasent places
Visiting unpleasent placesVisiting unpleasent places
Visiting unpleasent places
 
Music video regulations
Music video regulationsMusic video regulations
Music video regulations
 

Similar to «Особенности Agile-разработки интернет-проектов»

2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидахОмские ИТ-субботники
 
Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)Alexander Gornik
 
Как спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важноКак спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важноBubon Makabra
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыryba4
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосноватьMaksym Bezuglyi
 
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
 
Pedalim vacancy IT HR
Pedalim vacancy IT HRPedalim vacancy IT HR
Pedalim vacancy IT HRIT-HR Club
 
Видимое ускорение разработки
Видимое ускорение разработкиВидимое ускорение разработки
Видимое ускорение разработкиAlex Troshin
 
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...web2win
 
Тяжело в учении - легко в бою
Тяжело в учении - легко в боюТяжело в учении - легко в бою
Тяжело в учении - легко в боюDmitry Zimin
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьGoIT
 
От заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechОт заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechZlit
 
Шаг-Рысь-Галоп: видимое ускорение разработки
Шаг-Рысь-Галоп: видимое ускорение разработкиШаг-Рысь-Галоп: видимое ускорение разработки
Шаг-Рысь-Галоп: видимое ускорение разработкиSQALab
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpgeekfamilyrussia
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинOntico
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...HappyDev
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковAlex Tumanoff
 

Similar to «Особенности Agile-разработки интернет-проектов» (20)

2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
2013-03-02 02 Дмитрий Пашкевич. Код на стероидах
 
Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)Разработка корпоративных (бизнес) приложений (лекция 2)
Разработка корпоративных (бизнес) приложений (лекция 2)
 
Как спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важноКак спроектировать хороший API и почему это так важно
Как спроектировать хороший API и почему это так важно
 
Выступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работыВыступление: инструменты и методы эффективной удалённой работы
Выступление: инструменты и методы эффективной удалённой работы
 
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать"Этот код плохой, его нужно переписать". Слышали? Как обосновать
"Этот код плохой, его нужно переписать". Слышали? Как обосновать
 
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
 
Pedalim vacancy IT HR
Pedalim vacancy IT HRPedalim vacancy IT HR
Pedalim vacancy IT HR
 
IT basics for non technical CEO (Rus)
IT basics for non technical CEO (Rus)IT basics for non technical CEO (Rus)
IT basics for non technical CEO (Rus)
 
Видимое ускорение разработки
Видимое ускорение разработкиВидимое ускорение разработки
Видимое ускорение разработки
 
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...
Рябинков Артем, 1С-Битрикс (Москва) Руководитель отдела развития бизнеса, "Ка...
 
Тяжело в учении - легко в бою
Тяжело в учении - легко в боюТяжело в учении - легко в бою
Тяжело в учении - легко в бою
 
Виды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спроститьВиды QA: Всё что вы не знали и боялись спростить
Виды QA: Всё что вы не знали и боялись спростить
 
От заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit TechОт заката до рассвета | Максим Безуглый | Zlit Tech
От заката до рассвета | Максим Безуглый | Zlit Tech
 
Шаг-Рысь-Галоп: видимое ускорение разработки
Шаг-Рысь-Галоп: видимое ускорение разработкиШаг-Рысь-Галоп: видимое ускорение разработки
Шаг-Рысь-Галоп: видимое ускорение разработки
 
TECHNATION - Internal IT Processes (Rus)
TECHNATION - Internal IT Processes (Rus)TECHNATION - Internal IT Processes (Rus)
TECHNATION - Internal IT Processes (Rus)
 
Автоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharpАвтоматизация design patterns и компактный код вместе с PostSharp
Автоматизация design patterns и компактный код вместе с PostSharp
 
История проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей ШетухинИстория проекта, который никогда не падает / Андрей Шетухин
История проекта, который никогда не падает / Андрей Шетухин
 
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
Виталий Шибаев - Креативный менеджмент глазами разработчика: как выжить в agi...
 
Какой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис ЦыплаковКакой фреймворк нам нужен для Web? Денис Цыплаков
Какой фреймворк нам нужен для Web? Денис Цыплаков
 
Agile testing
Agile testingAgile testing
Agile testing
 

More from DataArt

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR PartnersDataArt
 
Event management в IT
Event management в ITEvent management в IT
Event management в ITDataArt
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from insideDataArt
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)DataArt
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDataArt
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtDataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...DataArt
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's lifeDataArt
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиDataArt
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOpsDataArt
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real lifeDataArt
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестированияDataArt
 
Selenoid
SelenoidSelenoid
SelenoidDataArt
 
Selenide
SelenideSelenide
SelenideDataArt
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...DataArt
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGDataArt
 

More from DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"A. Sirota "Building an Automation Solution based on Appium"
A. Sirota "Building an Automation Solution based on Appium"
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 

«Особенности Agile-разработки интернет-проектов»

  • 4. Почему agile? Нет времени на waterfall, продукт устареет прежде чем выйдет. Мы хотим чаще Общение - наше все Неявные риски рулят: «Мы узнаем о проблеме, когда столкнемся с ней» Разрабатывать ПО дорого и мы заплатим любому, кто сделает этот процесс дешевле! Клиент не знает что он хочет. По крайней мере пока не знает
  • 5. Не совсем очевидные следствия Очень часто встречается MVC, MVVC или MVP или как вы там это называете ORM, Object mapping или что-то в этом роде (но есть примеры и без него, только писать много придется) Каждая agile команда уникальна => нет унифицированного agile процесса разработки, нельзя внедрить «по книжке» Клиент должен быть внутри процесса, а не снаружи Fixed price - очень рискованно. Проще начать на T&M, и подумать о FP после 3-5 итераций Все участники примерно равны потому что а) делают одно дело; б) самоорганизуются, а не подчиняются.
  • 6. Не совсем очевидные последствия часть II Code less, gain more or die hard Энергия команды ограничена, а эклог все растет… Мы вас обратно спрашивать не будем CI/CD? Всегда! Тесты, как бы неприятно это не было. Потому что скорость Очень Scaffolding надо
  • 8. Что важно? Скорость разработки Скорость разработки Цена Достижение полезных результатов (качество) Скорость доставки продукта Жизнь - это боль бег
  • 9. Важное замечание Мы не обсуждаем чисто технические аспекты фреймворков Пусть они останутся на их совести Мы говорим о том как фреймворк влияет на agile разработку и влияет ли И мы говорим о прикладном использовании, т.е. используем фреймворк, а не пишем новый
  • 11. Плюсы Людей, которые в той или иной степени знают PHP достаточно много на рынке труда Стоимость среднего PHP разработчика все-таки ниже… Выделение компонентов помогает успешно повторно использовать код Автоматическое построение URLов (controller/action) Да и вообще хостинг самый дешевый! Кодогенерация (Gii) Можно грамотно переносить быстро сделанные сайты на нормальные рельсы
  • 12. Условные минусы Много спагетти кода Не всегда «взрослое» community, но нужно отметить что взрослеет Если клиент говорит «PHP», то это значит, что экономить он будет на всем и не всегда оправдано Интеграция с jQieru (оно же и плюс, кстати)
  • 13. Текст Python/Django Современно, молодежно и достаточно серьезно (на самом деле RoR тоже где-то здесь).
  • 14. Основные принципы DRY (do not repeat yourself) Слабая связанность компонентов фреймворка Широко используется ORM Автопостроение админки Батарейки. Потому что вставил и заработало Generic Class Based Views если правильно понять и использовать сэкономят вам кучу времени
  • 15. Плюсы Python :) Много чего «из коробки» (авторизация, админка, мультисайтовость, сайтмапы и много еще чего) Качественные компоненты (reusable Django apps) - более 3000 готовых компонентов Есть даже встроенное решение для GIS (GeoDjango) C NoSQL решениями все еще пока не очень хорошо
  • 16. Условные минусы Проблема выбора и поиска нужного компонента На shared хостинге не надо. Начинается с VDS Ограниченное количество кадров на рынке
  • 17. Текст Java/Spring Зрелая платформа для зрелых проектов (на самом деле для зрелых команд)
  • 18. Плюсы Зрелость Enterprise с «человеческим лицом» Можно использовать специалистов из Enterprise (актуально во время кризиса) Активноразвивающиеся средства кодогенерации и бутстрапинга (Spring Boot) - уменьшает время старта проекта Еще более развитые средства кодогенерации (JHipster - Yeoman, Maven, Spring и Angular «в одном флаконе») Много оттестированных production и enterprise ready компонентов. Для банков актуально, например
  • 19. Условные минусы Сложнее всего из тройки найти кадры Самый высокий порог входа Стоимость инфраструктуры Java постоянно «хоронят» Почему-то все думают что Java сама по себе есть много памяти. Не думайте о памяти, разработчики все-равно дороже! А памяти в требованиях все-равно стоит от 1 Гб
  • 21. Выводы для flame wars Фреймворк влияет, но это аспект больше социальный, а не технологический Экосистема может быть большой, но если большое плохо пахнет, то это все-равно не поможет Экономьте деньги в разработке и выбирайте компромис между вашим желанием сделать хорошо сейчас, хорошо потом и/или за приемлемые деньги Чем больше кода можно повторно использовать - тем лучше, ну или DRY Выбирайте команду, которая с меньшими затратами реализовать ваши задачи на том фреймворке, который ей хорошо знаком. Тут нет религии. Только деньги
  • 22. Всем добра! Петр Курышев peter@infosreda.com skype: peter.kurishev Спасибо что пришли! Всем добра, Docker’а, KISS, DRY и всего наилучшего!