Краят на софтуерното инженерство?
Tom DeMarco е един от големите световни специалисти по управление на софтуерни проекти и е автор на една от най-важните книги за управлението на хора – Peopleware. Наскоро той разбуни духовете в софтуерния бизнес публикувайки една своя статия, в която се отрича от предишните си вярвания за смисъла и важността на софтуерното инженерство, обявявайки го за ненужно.
Какво, всъщност, представлява софтуерното инженерство?
Терминът на английски е software engineering и в компютърните среди все още няма консенсус относно неговото точно значение. Някога, в зората на компютърната индустрия, са смятали, че софтуерното производство трябва да се постави на научна основа. То трябвало да се разглежда като инженерно-техническа дейност, която може лесно да се планира и контролира. Тази идея бързо се възприема от бизнеса, който все повече иска да измъкне програмирането от научните лаборатории и да го вкара в производствените цикли на печеленето на пари.
На тази идея се противопоставят привържениците на “софтуерното занаятчийство”, които твърдят, че програмирането си е майсторлък. Него не можеш да го вкараш в калъп или да му поставяш ограничения. Това е творчески процес, който изисква вдъхновение, вглъбяване и талант.
Факт е, че днес софтуерното производство вече е бизнес като всеки друг. Но пък OpenSource движението показа, че може да бъде и некомерсиална дейност, бореща се за качествени продукти без значение от цената. Остава въпросът
дали програмирането наистина е инженерна дейност?
Том ДеМарко смята, че инженерната страна на софтуерното производство се състои във възможността да го измерваш и контролираш. Той е авторът на популярната сентенция
Не можеш да контролираш онова, което не измерваш.
Днес, обаче, той се отрича от възгледите си, че контролът е най-важното нещо в един проект.
За да разберете истинската роля на контрола, представете си два напълно различни проекта:
- Проект А, който евентуално ще струва 1 милион долара и ще донесе печалба около 1.1 милиона долара и
- Проект Б, който евентуално също ще струва към 1 милион долара, но ще донесе приходи от над 50 милиона долара
Очевидно е, че контролът е от голямо значение за Проект А, но почти не играе роля за Проект Б. Това веднага води до странното заключение, че стриктния контрол има голямо значение за относително безполезни проекти и много по-малко за истински полезните проекти. Излиза, че колкото повече се фокусирате върху контрола, толкова по-вероятно е да работите върху нещо, което носи минимална полза.
За мен, по-важният въпрос не е как да контролираме софтуерните проекти, а защо, по дяволите, се занимаваме с толкова много проекти, от които ползата е почти нищожна?
И още:
За последните 40 години се тормозехме от неспособността си да завършим своите проекти навреме и в рамките на бюджета. Но това въобще не е трябвало да бъде нашата главна цел. Много по-важна цел е трансформацията, да създадеш софтуер, който да промени света или дори да промени само една фирма и начина, по който тя прави своя бизнес.
С тези си думи Том ДеМарко направо разбива концепциите за управление на проекти, които битуват сред големите организации. Но, честно да си кажа, сякаш има право. Не случайно дори и сред популярните блогъри по темата за управление на проекти и производство на софтуер се появиха разногласия и много емоционални коментари. Предлагам ви да прочетете мненията на Jeff Atwood, който подкрепя идеята на DeMarco, и на Glen Alleman, който я отрича.
Разбира се, задължително прочетете статията на Tom DeMarco (в PDF формат).
Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се за съдържанието му чрез RSS feed или по имейл.
Смятай колко време е размишлявал този човек и колко проекти е анализирал за да стигне до тази мисъл. Има много логика в това твърдение
Прав е, разбира се, както би се съгласил всеки, който се е нагледал на “контрола” в една голяма софтуерна корпорация и сериозността, с която се изпълняват съвършено безмислени дейности в многобройните безперспективни проекти. Накрая някои корпорации разбират, че нещата вървят наникъде, и решават да въведат “Lean” или “Agile”, което по същество е връщане към творчеството, но с важното допълнение, че творческата едиинца е екипа, а не отделният програмист.
“но почти не играе роля за Проект Б”…
Е как така не играе? Да оставим проекта за 50млн без контрол и да се молим да завърши успешно… а ако не завърши, за какво са ни 50млн… я по-добре да контролираме този за 1,1млн…
Съгласен съм, че не трябва да се прекалява с контрола, но защо пък в големите проекти той да не играе роля? Нещо не ми се вързва това сравнение…
Иначе и Jeff Atwood е прав – програмирането е изкуство, и Glen Alleman е прав – не трябва да се прекалява с метриките, но и не трябва да се избягват… Златна истина няма…
е не мога съвсем да се съглася с Демарко. Да, живота щеше да е много хубав, ако всички проекти бяха такива – 1:50 … ама не са. Такива драматични печалби има все още само в накой ниши. Много често печалба от 2-3-5% се смята за голяма и достатъчна, за да се стартира проект. Нещата са изтискани отвсякъде – от към идеи, от към пазари и никой не чака само големите печалби ами си плюе на ръцете и се бори малко по малко за всеки %. Поне това е което аз виждам покрай мен.
Владо, съгласен съм, че повечето проекти са такива, каквито ги описваш. И аз съм работил предимно в такива. Лошото е при тях, че рискът планираната печалба от 5% да се превърне в загуба от 20% е ужасно голям. И това не ги прави по-добрите проекти.
До:Vlado & Georgi – защо работите по проекти с кпд 1.05? Защо дуги работят на 50? Винаги ще има къде да се изкара хляб в IT бизнеса – просто така стоят нещата. Човека се опитва да ви насочи към творчество вместо към робовладелство и хамалогия.
Винаги е по лесно за един посредствен CEO да се оправдава пред себе си с изчерпани възможности и “Нещата са изтискани отвсякъде” вместо да се замисли и да реализира нещо качествено ново и полезно на всички участващи.
Искам да ви припомня за пича, който решил да направи сайт за продажба на пластмасови пилешки кокалчета, които американците чупят на деня на благодарността. След като сглобил сайтчето, пича си ляга и на сутринта се събужда с няколко милиона продажби. Това пряко оборва теорията “Нещата са изтискани отвсякъде”, а историята за пича с 1млн. пикселовата страница знаете всички.
Малко ум в подходящия момент бие по точки всички дипломи, сертификати и умения за контрол на 99% от всички РМ-и.
Късмет:)