В търсене на теория за софтуерното производство
Ivar Jacobson е забележителна личност в областта на софтуерното производство. Той е един от създателите на езика за моделиране на процеси и изисквания UML, както и на Rational Unified Process – една от класическите методологии за управление на софтуерни проекти. Ivar Jacobson не спира да търси най-добрия начин за правене на ефективен и полезен за потребителя софтуер. Той има и собствен блог, в който споделя своите търсения и открития в областта на разработката на софтуерни продукти.
Стига с тези революционни подходи!
В една своя статия г-н Jacobson се възмущава от твърде честото възникване на нови “революционни” подходи в разработката на софтуер. Проблемът не е само в това, че някои мениджъри се хвърлят в тяхното внедряване като методология за управление на проекти без много замисляне. Проблемът е, че го правят изхвърляйки и зарязвайки всичко, постигнато до момента в техните компании.
Ние в инженерната индустрия ли работим или в модната?
– възкликва той. И продължава:
Не ви ли се струва, че следването на последната мода в софтуерната индустрия е станало по-важно от производството на качествен софтуер?
В стремежа си да бъдат модерни, казва той, хората унищожават доброто заедно с лошото. Вместо да се поучат от собствения си опит и да градят на базата на своите успехи, те съвсем безотговорно зарязват всичко постигнато до момента и започват с нещо, което вярват, че е фундаментално ново. Сякаш нямат никакви солидни знания, върху които да се опрат. Затова и толкова лесно се люшкат към всяка нова тенденция без да могат да запазят онова, което са научили от опита си.
Подобно нещо се получава и с така наречените гъвкави (agile) методологии. Agile manifesto представи набор от ценности, които бяха нещо здраво и устойчиво, способно да издържи на натиска на промените. Но нароилите се в последствие “методологии” представят съществуващи и преди практики. Те само са преименувани и са представени като нещо съвсем ново. Това, в крайна сметка само отвлича вниманието на програмистите и техните мениджъри от основната им задача – правенето на качествен софтуер.
Какво трябва да се направи?
Имаме нужда от теория на софтуерното производство. Но тя не трябва да е нещо сложно и неразбираемо, а нещо просто и конкретно, за да има практическа полза от нея.
Първо, теорията трябва да стъпи на някаква основа
Трябва да се изгради едно ядро, което е общо и разбираемо за всички. В крайна сметка, всички сегашни методологии признават, че има дейности, които винаги извършваме, когато разработваме софтуерни продукти. Например:
- винаги пишем код,
- и винаги го тестваме (по един или друг начин),
- винаги мислим за изискванията (документирани или не),
- винаги имаме списък със задачи (backlog) – експлицитен или имплицитен
- и винаги имаме план – независимо дали е записан на хартия или е само в главите ни.
След това трябва да разберем смисъла на методите и процесите
и да ги обясним в термините на ядрото. Можем да съберем всички съществуващи практики и да ги изчистим от козметичните разлики. Така ще получим един набор от основни и важни дейности, които да бъдат от реална полза за екипите, разработващи софтуер. Те трябва да залегнат и в учебните планове на университетите, така че от там да излизат хора, разбиращи процеса на софтуерното производство в неговата същност. Хора, които да могат да фокусират своите усилия в производството на полезни и удобни за потребителя продукти.
По-нататък авторът описва в детайли ползата за бизнеса, за софтуерната индустрия като цяло, за програмистките екипи и за академичната общност от една такава теория, изцяло ориентирана към практиката. Препоръчвам ви да прочетете цялата статия, за да придобиете по-добри впечатления за идеята.
За да бъде цялото усилие от реална полза е много важно участието на хората, занимаващи се със създаването на софтуерни продукти. Затова и авторът приканва всеки, който има идеи или желание да сподели опит, да му пише на оставения имейл. Така онова, което се получи като краен продукт, ще произлиза от действителността и ще носи реална полза за всички. Всеки, който иска, би могъл да даде своите идеи и предложения на Ivar Jacobson и неговия екип, а аз ще очаквам да споделите вашите мисли и коментари тук.
Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се за съдържанието му чрез RSS feed или по имейл.