Введение

Подход к разработке программного обеспечения Программное мастерство - это подход к разработке программного обеспечения, который подчеркивает навыки программирования разработчиков программного обеспечения. Это ответ разработчиков программного обеспечения на проблемы, с которыми сталкивается индустрия программного обеспечения, в том числе приоритет финансовых проблем перед ответственностью разработчиков. Исторически сложилось так, что программистам предлагалось рассматривать себя как практиков хорошо определенного статистического анализа и математической строгости научного подхода с вычислительной теорией. Это изменилось на инженерный подход с коннотациями точности, предсказуемости, измерения, снижения риска и профессионализма. Практика инженерии привела к призывам к лицензированию, сертификации и кодифицированным органам знаний в качестве механизмов распространения инженерных знаний и созревания области. Agile Manifesto, с его акцентом на "индивидов и взаимодействий над процессами и инструментами", поставил под сомнение некоторые из этих предположений. Манифест о программном обеспечении расширяет и оспаривает допущения Агильного манифеста, рисуя метафору между современной разработкой программного обеспечения и моделью обучения в средневековой Европе.

Обзор

Движение берет свое начало в идеях, выраженных в письменных произведениях. "Прагматический программист" Энди Ханта и Дэйва Томаса и "Обработка программного обеспечения" Пита МакБрина явно позиционируют разработку программного обеспечения как наследника традиций гильдий средневековой Европы. Философ Ричард Сэннет писал о программном обеспечении как о современном ремесле в своей книге "Ремесленник". Фримен Дайсон в своем эссе "Наука как ремесленная индустрия" расширяет ремесленное программное обеспечение, включая мастерство использования программного обеспечения в качестве драйвера для экономической выгоды: "Несмотря на рост Microsoft и других гигантских производителей, программное обеспечение по-прежнему в значительной степени остается ремесленной промышленностью. Из-за огромного разнообразия специализированных приложений всегда будет место для людей, чтобы писать программное обеспечение на основе их уникальных знаний. Всегда будут ниши рынков, чтобы поддерживать небольшие компании по разработке программного обеспечения. Мастерство написания программ не устареет. И искусство использовать программное обеспечение творчески процветает даже больше, чем искусство писать его". После первоначального обсуждения были проведены конференции в Лондоне и Чикаго, после чего был составлен манифест и размещен в Интернете для сбора подписей. Затем последовала разработка методов дальнейшего развития движения, включая обмен талантами в "ремесленных свопах" и оценку навыков в "ремесленных шипах".

История

Истоки программного обеспечения изготовления пришли из подвижного движения разработки программного обеспечения, которая направлена на реформирование управления программными проектами в 1990-х годах. В 1992 году эссе Джека У. Ривза "Что такое дизайн программного обеспечения?" разработки программного обеспечения является одновременно ремеслом и инженерной дисциплиной. Семь лет спустя, в 1999 году, был опубликован "Прагматический программист". Подзаголовок "От путешественника к мастеру" предполагал, что программисты проходят стадии в своем профессиональном развитии, подобные средневековым традициям гильдий Европы. В 2001 году была опубликована книга Пита МакБрина Software Craftsmanship. В нем говорилось, что разработчикам программного обеспечения не нужно считать себя частью инженерной традиции, и что более подходящей будет другая метафора. В августе 2008 года Роберт К. Мартин предложил пятую ценность для Agile Manifesto, а именно "Рукоделие над дерьмом". Позже он изменил свое предложение на "Рукоделие над исполнением". В декабре 2008 года ряд начинающих программистов встретились в Либертивилле, штат Иллинойс, с целью установления набора принципов для программного обеспечения. Три месяца спустя было принято решение о резюме общих выводов. Он был представлен публично, как для просмотра, так и для подписания, в форме Манифеста по разработке программного обеспечения. В апреле 2009 года две компании в движении за программное обеспечение, 8th Light и Obtiva, экспериментировали с "Craftsman Swap". Chicago Tribune освещала это событие 15 июня 2009 года. В январе 2010 года был проведен второй Craftsman Swap между Obtiva и Relevance. "Лондонское сообщество разработчиков программного обеспечения" (LSCC) было основано в 2010 году и сегодня является крупнейшим и самым активным сообществом разработчиков программного обеспечения в мире, насчитывающим более 5000 ремесленников. В 2014 году Сандро Манкузо, один из его соучредителей, опубликовал книгу "Софтверный мастер: профессионализм, прагматизм, гордость". Это придало движению за разработку программного обеспечения дополнительную видимость, усиливая усилия по достижению более высокого технического совершенства и удовлетворенности клиентов.