Мастерство программного обеспечения - Software craftsmanship
Мастерство программного обеспечения это подход к разработка программного обеспечения который подчеркивает навыки программирования разработчики программного обеспечения. Это ответ разработчиков программного обеспечения на недуги мейнстрима. индустрия программного обеспечения, в том числе приоритетность финансовых проблем над ответственностью разработчиков.
Исторически сложилось так, что программистов поощряли рассматривать себя как практиков четко определенного статистического анализа и математической строгости научный подход с вычислительной теорией. Это изменилось на инженерный подход с коннотациями точности, предсказуемости, измерения, снижения рисков и профессионализма. Инженерная практика привела к призывам к лицензированию, сертификации и кодифицированным знаниям в качестве механизмов распространения инженерных знаний и развития области.
В Agile Manifesto, с его упором на «людей и взаимодействие выше процессов и инструментов» поставил под сомнение некоторые из этих предположений. Манифест о профессиональном мастерстве программного обеспечения расширяет и ставит под сомнение допущения Agile Manifesto, проводя метафору между современной разработкой программного обеспечения и ученичество модель средневековая европа.
Обзор
Движение уходит своими корнями в идеи, выраженные в письменных произведениях. Прагматичный программист Энди Хант и Дэйв Томас и Мастерство программного обеспечения Пит МакБрин однозначно позиционирует разработку программного обеспечения как наследника гильдейских традиций средневековой Европы. Философ Ричард Сеннетт писал о программном обеспечении как о современном ремесле в своей книге «Ремесленник». Фриман Дайсон в своем эссе «Наука как ремесленное производство», расширяет возможности прикладного программного обеспечения, включая умение использовать программное обеспечение в качестве фактора экономической выгоды:
- «Несмотря на рост популярности Microsoft и других производителей-гигантов, программное обеспечение остается в значительной степени ремесленной отраслью. Из-за огромного разнообразия специализированных приложений у людей всегда будет место для написания программного обеспечения, основанного на их уникальных знаниях. Всегда найдется место быть нишевым рынком, чтобы поддерживать жизнь небольших компаний-разработчиков программного обеспечения. Искусство написания программного обеспечения не устареет. И искусство творческого использования программного обеспечения процветает даже больше, чем ремесло его написания ".
После первоначального обсуждения конференции были проведены в Лондоне.[1] и Чикаго,[2] после чего манифест[3] был составлен и размещен в сети для сбора подписантов. За этим последовала разработка практик для дальнейшего развития движения, включая обмен талантами в «Обмене ремесленниками» и оценку навыков в «Шипах мастерства».
Манифест
С веб-сайта Software Craftsmanship http://manifesto.softwarecraftsmanship.org/
Как честолюбивые мастера программного обеспечения, мы поднимаем планку профессиональной разработки программного обеспечения, практикуя ее и помогая другим научиться этому ремеслу. Благодаря этой работе мы пришли к выводу, что:
- Не только рабочий софт, но и хорошо сделанный софт
- Не только реагировать на изменения, но и постоянно повышать ценность
- Не только отдельные лица и взаимодействия, но и сообщество профессионалов
- Не только сотрудничество с клиентами, но и продуктивное партнерство
То есть, преследуя предметы слева, мы обнаружили, что предметы справа незаменимы.
- © 2009, нижеподписавшиеся.
- Это заявление можно свободно копировать в любой форме, но только в полном объеме посредством данного уведомления.
История
Истоки разработки программного обеспечения пришли из Гибкая разработка программного обеспечения движение, которое стремилось реформировать управление проектами программного обеспечения в 1990-х годах.
В 1992 году вышло эссе Джека У. Ривза «Что такое дизайн программного обеспечения?»[4] предположил, что разработка программного обеспечения - это больше ремесло, чем инженерная дисциплина. Семь лет спустя, в 1999 году, Прагматичный программист был опубликован. Его подзаголовок «От подмастерья к мастеру» предполагал, что программисты проходят этапы своего профессионального развития, похожие на средневековые гильдейские традиции Европы.
В 2001 году книга Пита Макбрина Мастерство программного обеспечения был опубликован. Он предположил, что разработчикам программного обеспечения не обязательно считать себя частью инженерной традиции, и что более подходящей была бы другая метафора.
В своем августовском выступлении на Agile 2008 г., Роберт С. Мартин предложил пятое значение для Agile Manifesto, а именно: «Мастерство над дерьмом». Позже он изменил свое предложение на «Мастерство над исполнением».[5]
В декабре 2008 года несколько начинающих мастеров программного обеспечения встретились в Либертивилль, Иллинойс, с целью установления набора принципов для создания программного обеспечения. Три месяца спустя было принято решение об обобщении общих выводов. Он был представлен публично для просмотра и подписания в форме Манифеста мастерства разработки программного обеспечения.[6]
В апреле 2009 года две компании, участвующие в движении за разработку программного обеспечения, 8th Light и Obtiva, экспериментировал с "Обмен ремесленниками".[7] В Чикаго Трибьюн освещал это событие 15 июня 2009 года.[8] В январе 2010 года между Obtiva и Relevance был проведен второй обмен мастерами.[9]
«Лондонское сообщество разработчиков программного обеспечения» (LSCC) было основано в 2010 году и сегодня является крупнейшим и наиболее активным сообществом разработчиков программного обеспечения в мире, в котором работают более 5000 мастеров. В 2014, Сандро Манкузо, один из его соучредителей, опубликовал книгу Мастер программного обеспечения: профессионализм, прагматизм, гордость. Это сделало движение за разработку программного обеспечения более заметным, усилив усилия по достижению более высокого технического совершенства и удовлетворенности клиентов.
Рекомендации
- ^ "Конференция по мастерству программного обеспечения". Parlez UML. Архивировано из оригинал на 2009-02-06.
- ^ "Мастерство разработки программного обеспечения в Северной Америке". Мастерство программного обеспечения.
- ^ "Манифест мастерства разработки программного обеспечения". Мастерство программного обеспечения.
- ^ Ривз, Джек У (23 февраля 2005), Что такое дизайн программного обеспечения?, Разработчик Dot Star, получено 2015-06-24
- ^ «Мастерство - пятая ценность манифеста Agile?», Infoq, Август 2008 г., получено 2015-06-24
- ^ «Манифест мастерства разработки программного обеспечения». Manifesto.softwarecraftsmanship.org. Получено 2019-03-26.
- ^ «Обмен сотрудниками открывает двум фирмам новые перспективы», Звезда округа Вентура, 13 июля 2009 г., архивировано из оригинал на 2012-09-17
- ^ Вонг, Вайлин (15 июня 2009 г.). «Открыт для соревнований». Чикаго Трибьюн.
- ^ "Актуальный обмен мастеров, день 1 | 8-й свет". 8thlight.com. Получено 2018-02-02.
дальнейшее чтение
- Гувер, Дэйв; Ошайнэ, Адевале (2009-10-09). Паттерны ученичества: руководство для начинающих разработчиков программного обеспечения. Предисловие Уорд Каннингем. О'Рейли. ISBN 978-0-596-51838-7.
- Мартин, Роберт С. (2008). Чистый код: руководство по созданию гибкого программного обеспечения. Эддисон Уэсли. ISBN 978-0-13-235088-4.
- МакБрин, Пит (2001). Мастерство разработки программного обеспечения: новый императив. Эддисон Уэсли. ISBN 0-201-73386-2.
- Сеннет, Ричард (2008). Ремесленник. Издательство Йельского университета. ISBN 978-0-300-11909-1.
- Пириц, Билл (2003). «Мастерство против инженерии: компьютерное программирование - искусство или наука?». Технический журнал Bell Labs. 8 (3): 101–104. Дои:10.1002 / bltj.10079. Архивировано из оригинал на 2013-01-05.
- Манкузо, Сандро (2014). Мастер программного обеспечения: профессионализм, прагматизм, гордость. Прентис Холл. ISBN 978-0-13-405250-2.
- Кокаина, Саллах (2019). Мастерство программного обеспечения: L'art du code et de l'agilité Technique en Entreprise (На французском). Редакции ENI. ISBN 978-2-409-02154-1.
внешняя ссылка
- Мастерство программного обеспечения Северная Америка
- Манифест мастерства программного обеспечения
- Лондонское сообщество разработчиков программного обеспечения
- Латвийское сообщество разработчиков программного обеспечения
- Сообщество разработчиков программного обеспечения в Барселоне
- Группа обсуждения мастерства программного обеспечения
- Применение профессионального мастерства в области программного обеспечения для больших команд