Данный доклад предназначен для тех, кто только начинает изучать гибкие методы разработки программного обеспечения, которые обычно называют Agile.
Я расскажу базовые вещи о ценностях и принципах Agile, на основе которых развиваются современные Agile-методологии Scrum и Kanban. Мы рассмотрим вопрос, почему появилась гибкая разработка (на Западе и у нас), чем она отличается от традиционного подхода к разработке программного обеспечения и почему итеративные методологии стали фактически стандартом дефакто в софтверном мире.
В дополнение к управленческим практикам мы добавим инженерные практики из экстремального программирования, и поймем поймем почему без гибкой архитектуры не бывает гибкой разработки.
Также будет затронута тема внедрения Agile и типичные проблемы, с которыми приходится сталкиваться на этом пути.
Гибкие подходы перестали работать! По крайне мере, если судить по многочисленным публикациям, которые все чаще и чаще стали появляться. У кого-то не работает Scrum, у кого-то не прижился Канбан и, вообще, Agile не работает. В своем докладе я также приведу несколько примеров критики Agile в виде статей и докладов, разберу типичные заблуждения и ошибки, которыми оперируют критики.
Если использовать модель жизненного цикла принятия инноваций, можно спрогнозировать, что число такого негатива будет расти, потому что в России Agile начинают использовать не только инноваторы и ранние последователи, но и раннее большинство, которому трудно грамотно внедрить Agile и стать действительно гибкими.
Опытные управленцы, которые владеют гибкими подходами, обычно посмеиваются над этим негативом и пересказывают друг другу как анекдоты, а это как раз и есть та пропасть, которую Джеффри Мур описал в своей книге. Дополнительно мы обсудим, где сейчас находится Agile с точки зрения цикла зрелости технологий, так как эта модель тоже объясняет неудачный опыт использования Agile.
Agile-сообществу важно дальше вовлекать и помогать развиваться тем, кто пытается сделать свою команды, отдел или целую компанию гибкой.
Основу подхода заложили два японских специалиста Hirotaka Takeuchi, Ikujiro Nonaka в статье The New New Product Development Game, от 1996 год. В статье обобщили опыт нескольких японских корпораций (Xerox, Toyota, Nec и другие), работающих с принципиально новыми продуктами. Ключевая идея статья заключалась в формировании самоорганизующихся команд, которые делают короткие итерации, автономны от других, мотивированы на результат командными целями, и повышает мастерство друг друга делясь друг с другом опытом.
С течением времени под этот подход формировалось все больше и больше проектных методик, пока в 2001 году на горнолыжном курорте не произошла встреча 17 специалистов по разработке ПО. На этой встрече была сформирована общая система ценностей по управлению проектами, в дальнейшем получившая название Agile – манифеста. 4 ценности и 12 принципов легли в основу множества методов согласно подходу Agile.
1. Люди и взаимодействие важнее процессов и инструментов;
2. Работающий продукт важнее исчерпывающей документации;
3. Сотрудничество с заказчиком важнее согласования условий контракта;
4. Готовность к изменениям важнее следования первоначальному плану.
Таким образом, не отрицая важности того, что справа, всё-таки больше ценится то, что слева.
C 2001 подход Agile существенно расширил свои границы и вышел за пределы IT-бизнеса. Теперь под зонтиком Agile находятся многие управленческие и инженерные фреймворки по управлению проектами, формируя зонтик Agile. Под этот зонтик попадают подходы Scrum и Kanban, Crystal и экстремальное программирование (XP), а также другие системы управления и инженерные практики.
Важно понимать, что Agile подходы работают не всегда, и Дейвом Снойденом была разработана Кеневин модель, которая показывает, что использовать экспериментальные практики, коими являются подходы Agile, можно в ситуациях, когда не до конца очевидны причинно-следствие связи проекта, цель представляет собой скорее видение, образ, а стоимость переделок не запредельно высока.
Тем ни менее, в случае инноваций и проектов с высокой степенью неопределенности, подходы Agile являются наилучшими из существующих в современном мире.
А вы никогда не задумывались, что писатели, поэты и другие деятели искусства не просто так писали свои произведения? Они программировали сознания под свой лад? В этом видео я попытаюсь сопоставить жанры искусства с языками программирования.
Хэй! Знаком ли тебе IP — адрес 172.217.7.206? Наверняка нет. И нам нет. А это один из IP — адресов, на который обращается твой браузер, при вводе youtube.ru в адресной строке. И да, нам определенно не нужно знать наизусть эту информацию, ведь у нас есть DNS — Domain Name System. О нем и поговорим.
Запишитесь на мой онлайн курс «Программирование с нуля» www.pylot.me/
Прохождение интервью в первый раз когда ты ищешь работу на позицию начинающего разработчика сложно и страшно. Я пригласил Игоря который недавно прошел Python курсы и теперь планирует устроиться на работу. И провел с ним детальное интервью как с начинающим программистом. Мы сделали полный разбор вопросов которые чаще всего задают людям ищущим работу python программиста.