- PVSM.RU - https://www.pvsm.ru -
У меня есть увлечение — я собираю разные манифесты и призывы из мира IT. На данный момент собрал уже достаточно много, поэтому решил опубликовать их с моими комментариями.
В статье описаны:
Кроме ценностей, рекомендую прочитать список принцпов: http://agilemanifesto.org/principles.html [2]
Споры по поводу Agile одни из самых жарких и не утихают до сих пор. Предлагаю посмотреть на один из типовых: http://habrahabr.ru/post/142412/#comment_4768622 [3]. Кроме самой ветки комментариев, есть еще обсуждение этого же спора в группе AgileRussia [4].
Прочитайте этот типовой спор для Agile-фанатов и тех, кто хочет открыть им глаза. Из него очевидно, что люди спорят про разные типы проектов и контрактов, про разные отношения между заказчиком и клиентом. В таких спорах нужно обязательно упоминуть про ограничения, которые неминуемо идут с каждой методологией и практикой.
Большие и маленькие компании натыкаются на ошибки при использовании приципов, которые декларирует манифест гибкой разработки. Есть непонимание ограничений, которые приводят к эпичным провалам. Один из последних примеров — разработка Британской системы социальных платежей Universal Credit [5].
Бывают провалы просто по непониманию. Типичные деревянные самолеты без двигателя, которые не хотят взлетать [6]. Например, из совсем недавнего: «Мы не пишем тесты, мы используем Agile методы, у нас и так хороший код».
Я предлагаю вам посмотреть на ограничения, по которым вы можете оценить, подходит вам Agile или не подходит:
Про критичность, размер команды и кол-во изменений все понятно. Самыми проигнорированными оказываются шкала Квалификация и шкала Культура. Agile подводит к тому, что не стоит уделять слишком много времени жесткому процессу. Может показаться, что это несет некоторые послабления. В какой-то мере так и есть, но это послабление требует гораздо большей ответственности и квалификации от каждого участника процесса разработки ПО. Эта часть ключевая и не надо про нее забывать.
Более подробно про тему ограничений я рекомендую прочитать в книге Balancing Agility and Discipline: A Guide for the Perplexed [7].
Agility@Scale: Strategies for Scaling Agile Software Development [8]
Это несколько модифицированная версия Agile Manifesto, которая является личным мнением одного из сотрудников IBM. Они попытались переложить манифест на рельсы больших корпораций. Автор заменил «software» на «solutions» и «customer» на «stakeholder». Лично мне нравятся эти уточнения, хотя они могли казаться очевидными. Мы делаем не просто ПО, а поставляем решение для пользователей. У нас не просто заказчики, а множество заинтересованных сторон, которые хотят получить работающее решение.
Кроме того, по ссылке на статью есть еще модифицированный список принципов. В него добавлено несколько пунктов про Lean.
http://blog.xebia.com/2010/12/23/moreagile-manifesto [9]
Этот манифест берет левую часть оригинального AgileManifesto и ставит в противовес каждому утверждению новое. История преобразований получается такая:
Лично для меня этот манифест не сделал переворот в сознании, а только внес несколько дополнений.
http://agilescout.com/agile-manifesto-2-1-moreagile-manifesto [10]
Этот манифест является небольшой модификацией предыдущего. Разница несущественная, суть идей взята из предыдущего.
http://www.halfarsedagilemanifesto.org [11]
Начался этот манифест со статьи Ron Jeffries "Beyond Agile: New Principles? [12]". Этот манифест является копией оригинального с дополнениями, которые поясняют, что в реальности нет 100% следования ценностям. Взять к примеру тот факт, что мы готовы к изменениям в планах, но для начала надо сделать сам план, который в будущем будем менять.
Мне нравится этот вариант, т.к. он несет отрезвляющий эффект на фанатиков гибких методологий.
http://pmdoi.org [13]
Для меня это один из фаворитов по глубине идей. В этой декларации затрагиваются проблемы, которые я считаю ключевыми при разработке ПО:
Более подробно идеи DOI рассмотрены в статье The declaration of interdependence for modern management or DOI [15].
http://programming-motherfucker.com [16]
PM, PO, ScrumMaster и т.п. роли в проектах частенько с фанатизмом навязывают различные методологии, управленческие фреймворки и практики программистам. Самое главное они теряют уважение к разработчикам. Долго это не могло продолжаться, потому что очевидно, что в итоге ценность ПО в том, как оно решит проблемы пользователей. Если вы используете самый совершенный процесс, но ваше ПО не работает, то это приведет к провалу.
Я думаю, чем больше менеджеров на проекте, тем больше программисты будут поддерживать этот манифест. Не так давно я участвовал в проекте, где из 15 человек команды только 4 программировали, это был еще тот зоопарк.
Колонка «They Really Value» является вскрытием мотивов. Частично можно с ними согласится, но я думаю, что они показывают другую слишком радикальную крайность, полную противоположность миру Эффективных Менеджеров.
пиши-код-блять.рф [18]
Локализованная версия предыдущего манифеста. Причем локализована и картинка. В англоязычной версии использовался персонаж из фильма Криминальное чтиво, у нас машет кулаком популярный мем Будь мужиком [19].
http://manifesto.softwarecraftsmanship.org [20]
Software Craftsmanship — это ответ разработчиков появлению Agile методологии для ее поддержки со стороны инженеров. Можно считать это адекватной версией манифеста «Programming, Motherfucker».
Я всегда говорил, что без хороших разработчиков невозможен никакой процесс. Предположим, что у вас есть Scrum. Вы планируете итерации, вы пишите код и делаете релизы. Если код плохой, то сколько итераций вы выдержите в хорошем темпе? Не думаю, что очень много. Основой IT-индустрии являются разработчики и этот манифест напоминает нам о том, что нужно постоянно развиваться.
https://sites.google.com/a/jezhumble.net/devops-manifesto [21]
Все взаимодействие между разработчиками и службой оперативной поддержки ИТ-инфраструктуры обычно сводится к тому, что первые перекидывают первым через «стену» готовые релизы. Разработчики создают что-то новое и вносят изменения, в то время как специалисты по операционным задачам должны обеспечивать стабильность всей инфраструктуры. Это вызывает проблемы и цель движения DevOps — разрушить стену, поместить всех в одну команду.
По этой теме рекомендую посмотреть видео People, Process, Tools – The Essence of DevOps [22].
Наверняка у вас есть парочка любимых манифестов, возможно вы написали свой. Буду рад увидеть эти манифесты в комментариях.
Автор: AlexanderByndyu
Источник [27]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/agile/42983
Ссылки в тексте:
[1] http://agilemanifesto.org: http://agilemanifesto.org
[2] http://agilemanifesto.org/principles.html: http://agilemanifesto.org/principles.html
[3] http://habrahabr.ru/post/142412/#comment_4768622: http://habrahabr.ru/post/142412/#comment_4768622
[4] обсуждение этого же спора в группе AgileRussia: http://www.facebook.com/groups/117160848358157/299914253416148/
[5] Британской системы социальных платежей Universal Credit: http://www.pcweek.ru/idea/blog/idea/4908.php
[6] деревянные самолеты без двигателя, которые не хотят взлетать: http://ru.wikipedia.org/wiki/%D0%9A%D1%83%D0%BB%D1%8C%D1%82_%D0%BA%D0%B0%D1%80%D0%B3%D0%BE
[7] Balancing Agility and Discipline: A Guide for the Perplexed: http://www.amazon.com/Balancing-Agility-Discipline-Guide-Perplexed/dp/0321186125/ref=sr_1_1
[8] Agility@Scale: Strategies for Scaling Agile Software Development: https://www.ibm.com/developerworks/mydeveloperworks/blogs/ambler/entry/reworking_the_agile_manifesto14?lang=en
[9] http://blog.xebia.com/2010/12/23/moreagile-manifesto: http://blog.xebia.com/2010/12/23/moreagile-manifesto
[10] http://agilescout.com/agile-manifesto-2-1-moreagile-manifesto: http://agilescout.com/agile-manifesto-2-1-moreagile-manifesto
[11] http://www.halfarsedagilemanifesto.org: http://www.halfarsedagilemanifesto.org
[12] Beyond Agile: New Principles?: http://xprogramming.com/articles/beyond-agile-new-principles
[13] http://pmdoi.org: http://pmdoi.org
[14] Image: http://1.bp.blogspot.com/-zOHB8iT2Ryo/Ui36XaysVnI/AAAAAAAAA_Q/-GR4sRyrq9Y/s1600/%25D0%2591%25D0%25B5%25D0%25B7%25D1%258B%25D0%25BC%25D1%258F%25D0%25BD%25D0%25BD%25D1%258B%25D0%25B9.png
[15] The declaration of interdependence for modern management or DOI: http://alistair.cockburn.us/The+declaration+of+interdependence+for+modern+management+or+DOI
[16] http://programming-motherfucker.com: http://programming-motherfucker.com
[17] Image: http://3.bp.blogspot.com/-xEtaDB3urXw/UI9aQb2Ip5I/AAAAAAAAArs/eZkiKJvvRos/s1600/programming-motherfucker.jpg
[18] пиши-код-блять.рф: http://пиши-код-блять.рф
[19] Будь мужиком: http://lurkmore.to/%D0%91%D1%83%D0%B4%D1%8C_%D0%BC%D1%83%D0%B6%D0%B8%D0%BA%D0%BE%D0%BC
[20] http://manifesto.softwarecraftsmanship.org: http://manifesto.softwarecraftsmanship.org/
[21] https://sites.google.com/a/jezhumble.net/devops-manifesto: https://sites.google.com/a/jezhumble.net/devops-manifesto/
[22] People, Process, Tools – The Essence of DevOps: https://vimeo.com/68327402
[23] The Software Team Leader Manifesto: https://vimeo.com/43612918
[24] My Programming Manifesto: http://codebetter.com/jeremymiller/2006/10/31/my-programming-manifesto
[25] Кодекс Чести: http://habrahabr.ru/post/150636
[26] Убей в себе программиста: https://www.facebook.com/vibarsukov/posts/731221720236615
[27] Источник: http://habrahabr.ru/post/193232/
Нажмите здесь для печати.