Кіріспе
Бағдарламалық жасақтаманы әзірлеу әдісі Бағдарламалық жасақтаманы жасау шеберлігі - бағдарламалық жасақтаманы әзірлеушілердің кодтау дағдыларына баса назар аударатын бағдарламалық жасақтаманы әзірлеу әдісі. Бұл бағдарламалық жасақтама жасаушылардың негізгі бағдарламалық жасақтама индустриясының қателіктеріне, соның ішінде қаржылық мәселелерді әзірлеушілердің жауапкершілігіне қарағанда басымдыққа ие болуына жауап береді. Тарихи тұрғыдан алғанда, бағдарламашылар өздерін жақсы анықталған статистикалық талдаудың және есептеу теориясымен ғылыми тәсілдің математикалық қатаңдығының практик ретінде көруге шақырылды. Бұл дәлдік, болжамдылық, өлшеу, тәуекелдерді азайту және кәсібилік деген мағыналар бар инженерлік тәсілге айналды. Инженерлік тәжірибе инженерлік білімді тарату және осы саланың жетілу механизмі ретінде лицензиялау, сертификаттау және білімнің кодталған органдарына шақыруларға әкелді. "Агилдік манифест" "процестер мен құралдарға қарағанда жеке адамдар мен өзара әрекеттесулерге" баса назар аударғандықтан, осы болжамдардың кейбірін күмәнге салды. Software Craftsmanship Manifesto Agile Manifesto-ның болжамдарын кеңейтеді және одан әрі сынап, заманауи бағдарламалық жасақтаманы әзірлеу мен ортағасырлық Еуропаның шәкірттік моделі арасындағы метафораны жасайды.
Software craftsmanship is an approach to software development that emphasizes the coding skills of the software developers. It is a response by software developers to the perceived ills of the mainstream software industry, including the prioritization of financial concerns over developer accountability. Historically, programmers have been encouraged to see themselves as practitioners of the well defined statistical analysis and mathematical rigor of a scientific approach with computational theory. This has changed to an engineering approach with connotations of precision, predictability, measurement, risk mitigation, and professionalism. Practice of engineering led to calls for licensing, certification and codified bodies of knowledge as mechanisms for spreading engineering knowledge and maturing the field. The Agile Manifesto, with its emphasis on "individuals and interactions over processes and tools" questioned some of these assumptions. The Software Craftsmanship Manifesto extends and challenges further the assumptions of the Agile Manifesto, drawing a metaphor between modern software development and the apprenticeship model of medieval Europe.
Шолу
Бұл қозғалыстың негізі - жазба шығармаларда айтылған идеялар. Энди Хант пен Дейв Томас жазған "Прагматикалық бағдарламашы" және Пит МакБрин жазған "Программдық қолөнер" бағдарламалық жасақтаманы ортағасырлық Еуропаның гильдиялық дәстүрлерінің мұрагері ретінде анық көрсетеді. Философ Ричард Сеннет өзінің "Өнерпаз" атты кітабында бағдарламалық жасақтама туралы заманауи шеберлік ретінде жазды. Фримен Дайсон өзінің "Ғылым қолөнер саласы ретінде" атты эссесінде бағдарламалық жасақтаманы экономикалық пайдаға жету үшін бағдарламалық жасақтаманы жүргізуші ретінде қолдануды қамти отырып кеңейтеді: "Microsoft және басқа да алып өндірушілердің көтерілуіне қарамастан, бағдарламалық жасақтама негізінен қолөнер саласы болып қала береді. Арнайы қолданбалардың үлкен түр-түрлілігі болғандықтан, әрқашан жеке адамдар үшін бірегей білімдеріне негізделген бағдарламалық жасақтаманы жазуға орын болады. Шағын бағдарламалық қамтамасыз ету компанияларын өмірде ұстап тұру үшін әрқашанда нарық нишасы болады. Бағдарламалық жасақтама жазу шеберлігі ескірмейді. Бағдарламалық жасақтаманы шығармашылық тұрғыда қолдану шеберлігі оны жазу шеберлігінен де гөрі дамып келеді". Алғашқы талқылаудан кейін Лондон мен Чикагода конференциялар өткізілді, содан кейін манифест дайындалды және қол қоюшылар жиналу үшін онлайн-режимде орналастырылды. Осыдан кейін қозғалысты одан әрі дамыту үшін тәжірибелер жасалды, соның ішінде "Крестьяндық алмасулар" мен "Крестьяндық шыбықтар" дағдыларын бағалау.
"In spite of the rise of Microsoft and other giant producers, software remains in large part a craft industry. Because of the enormous variety of specialized applications, there will always be room for individuals to write software based on their unique knowledge. There will always be niche markets to keep small software companies alive. The craft of writing software will not become obsolete. And the craft of using software creatively is flourishing even more than the craft of writing it." Following initial discussion, conferences were held in both London and Chicago, after which, a manifesto was drafted and put online to gather signatories. This was followed by the development of practices to further develop the movement including the exchange of talent in "Craftsman Swaps" and the assessment of skills in "Craftsmanship Spikes".
Тарих
Бағдарламалық жасақтама шеберлігінің бастамасы 1990-шы жылдары бағдарламалық жасақтама жобаларын басқаруды реформалауды көздеген жедел бағдарламалық жасақтаманы әзірлеу қозғалысынан пайда болды. 1992 жылы Джек У. Ривздің "Программдық жобалау дегеніміз не?" атты очеркі. бағдарламалық жасақтаманы жасау - қолөнер және инженерлік пән. Жеті жылдан кейін, 1999 жылы "Прагматикалық бағдарламашы" басылып шықты. Оның "Жолаушыдан шеберге дейін" деген кіші тақырыбы бағдарламашылардың кәсіби дамуындағы кезеңдер Еуропаның ортағасырлық одақ дәстүрлеріне ұқсас екенін көрсетті. 2001 жылы Пит МакБриннің Software Craftsmanship кітабы жарық көрді. Ол бағдарламалық жасақтаманы әзірлеушілердің өздерін инженерлік дәстүрдің бөлігі ретінде қарастырмауы керектігін және басқа метафораның қолайлы болатынын айтты. 2008 жылы Agile-де өткен тамыздағы негізгі баяндамасында Роберт К. Мартин Agile манифесті үшін бесінші құндылықты ұсынды, атап айтқанда "Crap-тен қолөнер". Кейіннен ол ұсынысын "Өтіріске қарағанда қолөнер" деп өзгертті. 2008 жылдың желтоқсан айында Либертивилл қаласында бірнеше бағдарламалық жасақтама жасаушылар жиналды. Үш айдан кейін жалпы қорытындылардың тұжырымдамасы қабылданды. Ол бағдарламалық жасақтама қолөнерінің манифесті түрінде жұртшылыққа ұсынылды, оны көруге және қол қоюға болады. 2009 жылдың сәуірінде бағдарламалық жасақтама шеберлік қозғалысындағы екі компания, 8th Light және Obtiva, "Кремесші алмасу"мен тәжірибе жүргізді. "Chicago Tribune" газеті бұл оқиғаға 2009 жылдың 15 маусымында тоқталды. 2010 жылдың қаңтар айында Obtiva және Relevance арасында екінші қолөнерші алмасу өткізілді. "Лондондық бағдарламалық жасақтама жасаушылар қауымдастығы" (LSCC) 2010 жылы құрылды және бүгінде 5000-нан астам қолөнершілерімен әлемдегі ең ірі және белсенді бағдарламалық жасақтама жасаушылар қауымдастығы болып табылады. 2014 жылы оның негізін қалаушылардың бірі Сандро Манкузо "Программдық шебер: Кәсібилік, прагматизм, мақтаныш" атты кітабын жариялады. Ол бағдарламалық жасақтама шеберлік қозғалысына қосымша көрініс берді, жоғары техникалық шеберлікке және тұтынушылардың қанағаттануына қол жеткізуге бағытталған күш-жігерді күшейтті.