Шта је СДЛЦ? Објашњене фазе, методологије и процеси развоја софтвера

Јамес Таилор, који је аутор Управљања пројектима информационе технологије , приметио је да „животни циклус пројекта обухвата све активности пројекта.“ А циљ развоја система је остварење захтева производа.

Ако желите да научите како да градите, примените и креирате висококвалитетни софтвер, желећете да следите нацрт.

Као што је Тејлор артикулисао, ваш циљ треба да буде холистично размишљање о свим активностима пројекта и како најбоље управљати сваком фазом.

Али одакле треба почети?

Један од одговора је коришћење оквира за вођење вашег понашања и радних токова.

Један посебно моћан и популаран оквир назива се процес животног циклуса развоја софтвера (СДЛЦ).

У овом чланку ћу вас провести кроз следеће:

  1. Како СДЛЦ ради и зашто се користи
  2. Свака фаза СДЛЦ-а и најбоље праксе и методологије морате бити свесни када га користите
  3. Закључићу цитирајући примере који ће показати користи СДЛЦ приступа.

Како СДЛЦ ради и зашто се користи

СДЛЦ се састоји од шест корака које сам овде дао за вашу референцу.

У целини, СДЛЦ је затворена петља. То значи да сваки корак утиче на акције које следе након њега, а свака фаза пружа смернице које гледају у будућност.

Шест фаза настоји да се међусобно надограђује на ефикасан начин да би се одговорило на питања и обезбедило усклађивање вашег процеса развоја.

Настојим да узмем сажетак и наведем примере са којима се ви као студенти и практичари развоја софтвера можете лакше повезати.

На пример, ако се трудите да направите софтвер дизајниран за запослене по сату, као што је то урадио Зоомсхифт, или софтвер за праћење времена, започели бисте у фази „анализе захтева“.

Овде, на овом најтемељнијем нивоу, могли бисте схватити који су захтеви радника када је у питању праћење радног времена и рада.

То бисте могли учинити разговарајући са запосленима који раде по сату. Можда бисте разговарали са менаџерима који воде радне тимове по сатима.

Друга идеја је да бисте могли да тестирате решења на тржишту како бисте боље разумели замке постојећег софтвера.

Можете да правите белешке, скицирате дијаграме или правите графиконе како бисте дубље разумели квалитативне и квантитативне повратне информације.

Тек након дубоког разумевања ових тачака бола бићете спремни за прелазак на следећу фазу СДЛЦ.

Тек тада можете започети фазу планирања.

Фаза анализе захтева може бити заморна.

Али ако прођете кроз ове кораке, можете смањити време за излазак на тржиште, осигурати бољи излаз производа, уштедети новац и повећати вероватноћу прилагођавања тржишту производа.

Размислите даље од праћења времена.

Размислите о томе шта желите да изградите и где су ваше технолошке страсти.

Откријте захтеве за решавање проблема у том домену. Овде почињете.

Фазе СДЛЦ-а и најбоље праксе и методологије

Сваки корак мора бити завршен пре него што се пређе на следећу фазу развојног пута.

Што је најважније, прва три корака теже да генеришу одговоре на питања, а задња три корака су оптимизована да дају резултате.

  • Анализа захтева
  • Одговор: које проблеме треба решити?
  • Планирање
  • Одговор: шта желимо да радимо?
  • Архитектонски / софтверски дизајн
  • Одговор: Како постижемо свој циљ?
  • Развој софтвера
  • Реши: Хајде да градимо
  • Тестирање
  • Решите: Обезбедимо да оно што смо изградили делује
  • Распоређивање
  • Реши: Узмимо наше решење и искористимо га.

Ових шест фаза мапирају понашање које можда већ примените приликом утврђивања опсега, израде, тестирања и издавања софтвера. Али СДЛЦ ток рада чини стандардизованим и формалним.

Ово је у вашу корист: пратећи одређене кораке, лако можете комуницирати тамо где сте у процесу и обавестити друге где сте кренули.

Заронимо дубље у сваку фазу и објаснимо испитна питања и исходе за које желите да се оптимизујете.

Фаза # 1: Анализа захтева

Ова фаза СДЛЦ-а присиљава вас да добијете повратне информације и откуп од релевантних интерних и екстерних заинтересованих страна.

Размислите о мојим претходним примерима са временским праћењем развоја софтвера. Мораћете широко да размислите ко су ваши „корисници“.

Неке идеје укључују ваше клијенте, дизајнере, вашег шефа или друге техничке представнике у тиму.

На крају тражите одговор на ово питање: које проблеме треба решити? Сматрам корисним у првој фази да правим белешке и да активно слушам.

Када се осећате угодно са својим одговорима, можете прећи на следећу фазу.

Фаза # 2: Планирање

Тражите одговор на ово питање: шта желимо да радимо? Ово питање би вас могло надахнути да разумете економику јединице вашег плана (трошкови и користи), факторе ублажавања ризика и очекиване вредности.

Слично као и планирање одмора, морате организовати имовину и размислити о томе које торбе спаковати.

Ево релевантног примера.

Опширно сам читао о историји Инстаграма. Огромно времена потрошено је на фазу планирања развоја апликације. То је било баш у време када су се друштвени медији брзо ширили.

Још увек није било познато како ће корисници комуницирати са производом.

Оснивачи су знали да ако је темељно искуство јако (прављење, уређивање и дељење фотографија), следи раст, успех и велика конверзија. За ово су планирали.

Оснивачи су провели време на дизајнирању апликација и веб страница, знајући да ће, ако правилно планирају, стварна фаза архитектуре и дизајна бити глатка.

Увек су гледали корак испред и размишљали о будућности друштвене размене и куповине е-трговине.

Планирајте оно што можете да контролишете и имајте на уму ствари које не можете да планирате. Ово ће вам помоћи да имате солидне темеље који иду у трећу фазу.

Фаза # 3: Архитектонски / софтверски дизајн

У овој фази знате који су ваши захтеви и шта желите.

На добром сте терену да сада одговорите на следеће питање пре него што почнете да пишете софтвер: како да постигнемо свој циљ? Укратко, морате одлучити за шта оптимизујете и за то дизајнирати.

Можда градите софтвер који желите да буде сигуран, ефикасан, издржљив и ефикасан. Који од тих принципа вам је најважнији и зашто?

Да ли се заинтересоване стране из прве фазе слажу? Осигурајте да су заинтересоване стране у потпуности усклађене.

Након фазе дизајнирања, почећете да стављате „руке на тастатуре“ и уношење промена постаће скупље у смислу времена и новца. Мали променљиви трошкови ће се збрајати.

Постоји неколико стубова дизајна које саветујем да размотрите током ове фазе: оперативна изврсност, сигурност, поузданост, ефикасност перформанси и оптимизација трошкова.

Користите ове канте за доношење коначних одлука о дизајну.

Фаза # 4: Развој софтвера

Ово је фаза израде у којој не тражите одговоре на питања већ резултате.

Конкретно, желите да покажете пристрасност према акцији и развијете прототип или систем који други могу искусити.

Када започнете изградњу, пресудно је да пратите прве три фазе како би се ваши резултати ускладили са очекивањима.

Извадите рачунар, уверите се да је окружење погодно за рад, узмите грејник за кафу и кригле и укључите монитор.

У овој фази ћете зарадити поверење својих заинтересованих страна оличењем размишљања градитеља.

Фаза # 5: Тестирање

Некада сам виђао сараднике како носе мајице на којима је писало следеће: „Зидање стена, не толико тестирање.“

Не можете произвести коначну верзију производа без да једете сопствену „псећу храну“.

По завршетку ове фазе можете да осигурате да оно што сте изградили функционише. Потражите грешке или недостатке. Добити друга мишљења.

Истражите дубоко како бисте пронашли грешке које ће успорити објављивање вашег коначног производа. Осигурајте јаке основе.

Фаза # 6: Примена

Иди узми своје решење и искористи га. Лансирање. Уживо.

Наведите заинтересоване стране из прве фазе да користе ваш софтвер у дивљини. Прославити. Почните да мерите продајни ангажман.

Слушајте кориснике и понављајте их, јер анкетама и смерницама за повратне информације корисника можете поново да започнете у првој фази утврђивања нових захтева.

Обједињавање свега: СДЛЦ приступ

СДЛЦ постоји како би вам помогао да смањите време за излазак на тржиште, осигурате бољи излаз производа, уштедите новац и повећате вероватноћу да оно што градите буде корисно заинтересованим странама до којих вам је стало.

СДЛЦ је посебно користан у свету развоја софтвера јер вас приморава да „обојите боје унутар линија“.

Другим речима, СДЛЦ ће вас приморати да следите кораке и да будете сигурни да радите праве акције у право време и из правих разлога.

Схватите СДЛЦ као нацрт успеха. Слепо праћење не осигурава ништа - али повећава вероватноћу да ћете бити задовољни резултатима.

Развој софтвера - као што сви знамо - широка је домена и може покрити алате за дизајн веб страница и мрежне обрасце за робусније машинско учење или позадинске системе.

Без обзира да ли кодирате у прегледачу или радите робуснији развојни посао, потребан вам је план акције.

Израда софтвера може бити тешка.

То такође може бити корисно. СДЛЦ је водич за технички рад, али шире се на њега може гледати као на водич у животу.

СДЛЦ можете да примените на многим доменима.

На пример, писање садржаја СааС следи СДЛЦ циклус. Пре писања садржаја, аутор мора прво дефинисати захтеве, планирати шта ће бити написано, а затим заправо ставити оловку на папир.

СДЛЦ је одличан оквир и за технолошке предузетнике.

Мој пријатељ је желео да оснује најбољу Фацебоок рекламну агенцију и обратио се мени и другима за смернице. Саветовао сам га да користи СДЛЦ да би прво извршио анализу захтева иако су његове амбиције биле прилично велике.

Питао сам га: које проблеме желите да решите? Шта желе ваши корисници? И на крају, како би вам ова платформа помогла да постигнете ове циљеве?

Уоквиривањем ових питања око СДЛЦ-а, он је могао боље да усаврши своје коначно решење и да изгради праве алате за праве кориснике.

Сузио је свој опсег и ближе дефинисао свој проблематични простор. Успео је да додели ресурсе фази планирања пре него што је почео да ради било шта друго.

Наставио је да гради вероватно најбољу услугу за раст Инстаграма коју сам свестан. Али његово поље се непрестано развија.

Сада постоји софтвер који у великој мери обавља улогу планера друштвених медија. На крају ће се морати вратити на основе: анализу захтева.

Усвајање његове технологије доказ је да СДЛЦ, када се правилно примени и изврши, може довести до дубоких технолошких и пословних резултата. Али као и код развоја предузећа, софтвер се никада не ради.

Отуда се циклус наставља.

Без обзира на то шта градите - компанију, алат, сложени програм или потпуно нови производ - било би паметно применити СДЛЦ како бисте осигурали квалитет и помогли вам да задржите фокус на својим купцима док градите.

„Грађење стена“ требало би да буде ваша Северњача.

СДЛЦ је алатка која ће вам помоћи да вас успут усмерите.