Мастерство программного обеспечения
Мастерство разработки программного обеспечения — это подход к разработке программного обеспечения , при котором особое внимание уделяется навыкам кодирования разработчиков программного обеспечения . Это ответ разработчиков программного обеспечения на предполагаемые проблемы основной индустрии программного обеспечения , включая приоритет финансовых проблем над ответственностью разработчиков.
Исторически программистов поощряли считать себя практиками четко определенного статистического анализа и математической строгости научного подхода к теории вычислений. Это изменилось на инженерный подход с коннотациями точности, предсказуемости, измерения, снижения рисков и профессионализма. Инженерная практика привела к призывам к лицензированию, сертификации и систематизации массивов знаний как механизмов распространения инженерных знаний и развития этой области.
Agile -манифест с акцентом на «индивидуальных взаимодействиях, а не на процессах и инструментах» поставил под сомнение некоторые из этих предположений. «Манифест мастерства программного обеспечения» расширяет и оспаривает положения «Манифеста Agile», рисуя метафору между современной разработкой программного обеспечения и моделью ученичества в средневековой Европе .
Обзор [ править ]
Движение уходит корнями в идеи, выраженные в письменных произведениях. «Программист-прагматик» Энди Ханта и Дэйва Томаса и «Мастерство программного обеспечения» Пита МакБрина открыто позиционируют разработку программного обеспечения как наследницу цеховых традиций средневековой Европы. Философ Ричард Сеннетт писал о программном обеспечении как о современном ремесле в своей книге «Мастер». Фримен Дайсон в своем эссе «Наука как ремесленная индустрия» расширяет сферу применения программного обеспечения, включив в него мастерство использования программного обеспечения в качестве движущей силы для получения экономической выгоды:
- «Несмотря на рост Microsoft и других производителей-гигантов, программное обеспечение остается в значительной степени ремесленной отраслью. Из-за огромного разнообразия специализированных приложений всегда будет место для людей, которые смогут писать программы на основе своих уникальных знаний. быть нишевыми рынками, поддерживающими существование небольших компаний-разработчиков программного обеспечения. Искусство написания программного обеспечения не устареет, а искусство творческого использования программного обеспечения процветает даже больше, чем искусство его написания».
После первоначального обсуждения конференции были проведены как в Лондоне, так и в Лондоне. [1] и Чикаго, [2] после чего манифест [3] был составлен и размещен в Интернете для сбора подписавших. За этим последовала разработка практик дальнейшего развития движения, включая обмен талантами в рамках «Обмен мастерами» и оценку навыков в рамках «Шипы мастерства».
Очевидно [ править ]
С сайта Software Craftsmanship
Как начинающие мастера программного обеспечения, мы поднимаем планку профессиональной разработки программного обеспечения, практикуя ее и помогая другим освоить это ремесло. Благодаря этой работе мы пришли к выводу:
- Не только работающее программное обеспечение, но и хорошо продуманное программное обеспечение.
- Не только реагируя на изменения, но и постоянно увеличивая ценность
- Не только отдельные личности и взаимодействия, но и сообщество профессионалов
- Не только сотрудничество с клиентами, но и продуктивное партнерство
То есть, преследуя предметы слева, мы обнаружили, что предметы справа незаменимы.
- © 2009, нижеподписавшийся.
- Это заявление можно свободно копировать в любой форме, но только полностью посредством настоящего уведомления.
История [ править ]
Истоки мастерства разработки программного обеспечения зародились в движении гибкой разработки программного обеспечения , целью которого было реформирование управления программными проектами в 1990-х годах.
В 1992 году эссе Джека Ривза «Что такое дизайн программного обеспечения?» [4] предположил, что разработка программного обеспечения — это одновременно ремесло и инженерная дисциплина. Семь лет спустя, в 1999 году, «Программист-прагматик» был опубликован . Его подзаголовок «От подмастерья к мастеру» предполагал, что программисты проходят этапы своего профессионального развития, аналогичные средневековым традициям гильдий Европы.
книга Пита МакБрина «Мастерство программного обеспечения» В 2001 году была опубликована . Это предполагало, что разработчикам программного обеспечения не обязательно считать себя частью инженерной традиции и что более подходящей была бы другая метафора.
В своем августовском выступлении на Agile 2008 Роберт К. Мартин предложил пятую ценность Манифеста Agile, а именно: «Мастерство превыше дерьма». Позже он изменил свое предложение на «Мастерство превыше исполнения». [5]
В декабре 2008 года несколько начинающих специалистов по программному обеспечению встретились в Либертивилле, штат Иллинойс , с намерением установить набор принципов мастерства разработки программного обеспечения. Три месяца спустя было принято краткое изложение общих выводов. Он был представлен публично для просмотра и подписания в форме Манифеста о создании программного обеспечения. [6]
В апреле 2009 года две компании, участвующие в движении за создание программного обеспечения, 8th Light и Obtiva , экспериментировали с «обменом мастеров». [7] Газета Chicago Tribune освещала это событие 15 июня 2009 года. [8] В январе 2010 года между Obtiva и Relevance состоялся второй обмен мастерами. [9]
«Лондонское сообщество мастеров программного обеспечения» (LSCC) было основано в 2010 году и сегодня является крупнейшим и наиболее активным сообществом мастеров программного обеспечения в мире, насчитывающим более 5000 специалистов. В 2014 году Сандро Манкузо , один из ее соучредителей, опубликовал книгу The Software Craftsman: Professionalism, Pragmatism, Pride . Это сделало движение за создание программного обеспечения более заметным, укрепив усилия по достижению более высокого технического совершенства и удовлетворенности клиентов.
Ссылки [ править ]
- ^ «Конференция по программному обеспечению» . Парлез UML . Архивировано из оригинала 6 февраля 2009 г.
- ^ «Мастерство программного обеспечения в Северной Америке» . Мастерство программного обеспечения .
- ^ «Манифест создания программного обеспечения» . Мастерство программного обеспечения .
- ^ Ривз, Джек В. (23 февраля 2005 г.), Что такое дизайн программного обеспечения? , разработчик Dot Star , получено 24 июня 2015 г.
- ^ «Мастерство – пятая ценность Agile-манифеста?» , Infoq , август 2008 г. , получено 24 июня 2015 г.
- ^ «Манифест создания программного обеспечения» . Manifesto.softwarecraftsmanship.org . Проверено 26 марта 2019 г.
- ^ «Обмен сотрудниками дает двум фирмам новые перспективы» , звезда округа Вентура , 13 июля 2009 г., заархивировано из оригинала 17 сентября 2012 г.
- ^ Вонг, Вайлин (15 июня 2009 г.). «Открыт для конкурса» . Чикаго Трибьюн .
- ^ «Обмен релевантными мастерами, день 1 | 8-й свет» . 8thlight.com . Проверено 2 февраля 2018 г.
Дальнейшее чтение [ править ]
- Гувер, Дэйв; Ошиней, Адевале (9 октября 2009 г.). Образцы ученичества: руководство для начинающего мастера программного обеспечения . Предисловие Уорда Каннингема . О'Рейли. 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 . Архивировано из оригинала 5 января 2013 г.
- Манкузо, Сандро (2014). Мастер программного обеспечения: профессионализм, прагматизм, гордость . Прентис Холл. ISBN 978-0-13-405250-2 .
- Кокаина, Саллах (2019). Мастерство программного обеспечения: искусство программирования и техническая гибкость в бизнесе (на французском языке). Издания ЭНИ. ISBN 978-2-409-02154-1 .
Внешние ссылки [ править ]
- Software Craftsman – что это такое, а что нет
- Мастерство программного обеспечения в Северной Америке
- Манифест мастерства программного обеспечения
- Лондонское сообщество мастеров программного обеспечения
- Латвийское сообщество мастеров программного обеспечения
- Сообщество мастеров программного обеспечения в Барселоне
- Дискуссионная группа по мастерству программного обеспечения
- Применение мастерства разработки программного обеспечения в больших командах