Какво е SDLC? Обяснени фази, методологии и процеси на разработване на софтуер

Джеймс Тейлър, който е автор на „ Управление на проекти за информационни технологии“ , отбеляза, че „жизненият цикъл на проекта обхваща всички дейности на даден проект.“ И целта на развитието на системите е реализирането на продуктовите изисквания.

Ако искате да научите как да изграждате, внедрявате и създавате висококачествен софтуер, ще искате да следвате план.

Както формулира Тейлър, вашата цел трябва да бъде да мислите цялостно за всички дейности на даден проект и как да управлявате най-добре всеки етап.

Но откъде да започнете?

Един от отговорите е да използвате рамка, която да насочва вашето поведение и работни потоци.

Една особено мощна и популярна рамка се нарича процес на жизнен цикъл на разработката на софтуер (SDLC).

В тази статия ще ви преведа следното:

  1. Как работи SDLC и защо се използва
  2. Всеки етап от SDLC и най-добрите практики и методологии трябва да сте наясно, когато го използвате
  3. Ще завърша, като цитирам примери, за да покажа ползите от SDLC подхода.

Как работи SDLC и защо се използва

SDLC се състои от шест стъпки, които съм начертал тук за ваша справка.

Като цяло SDLC е затворен цикъл. Това означава, че всяка стъпка влияе върху действията, които идват след нея и всеки етап предоставя насоки за бъдещето.

Шестте фази се стремят да се надграждат една върху друга по ефективен начин, за да отговорят на въпроси и да осигурят привеждане в съответствие във вашия процес на развитие.

Стремя се да взема резюмето и да дам примери, с които вие, като студенти и практикуващи разработчици на софтуер, можете да се свържете по-лесно.

Например, ако се стремите да създадете софтуер, предназначен за почасови служители, както е направил Zoomshift, или софтуер за проследяване на времето, ще започнете на етапа „анализ на изискванията“.

Тук, на това най-фундаментално ниво, бихте разбрали какви са изискванията на работниците, когато става въпрос за проследяване на часове и труд.

Можете да направите това, като говорите с почасови служители. Може би бихте се включили в разговор с мениджъри, които водят почасови работни екипи.

Друга идея е, че можете да тествате решения на пазара, за да разберете по-добре капаните на съществуващия софтуер.

Можете да правите бележки, да скицирате диаграми или да изграждате графики, за да разберете по-задълбочено качествената и количествената обратна връзка.

Само след дълбоко разбиране на тези точки на болка ще бъдете готови да преминете към следващата фаза на SDLC.

Едва след това можете да започнете фазата на планиране.

Фазата на анализ на изискванията може да бъде досадна.

Но като преминете през тези стъпки, можете да намалите времето си за пускане на пазара, да осигурите по-добра продукция на продукта, да спестите пари и да увеличите вероятността за пригодност на продуктовия пазар.

Мислете отвъд проследяването на времето.

Помислете какво искате да изградите и къде са вашите технологични страсти.

Разберете изискванията за решаване на проблеми в тази област. Тук започвате.

Етапи на SDLC и най-добри практики и методологии

Всяка стъпка трябва да бъде завършена, преди да се премине към следващата фаза в пътуването за развитие.

Най-важното е, че първите три стъпки имат за цел да генерират отговори на въпроси, а последните три стъпки са оптимизирани, за да осигурят резултати.

  • Анализ на изискванията
  • Отговор: какви проблеми трябва да бъдат решени?
  • Планиране
  • Отговор: какво искаме да направим?
  • Архитектурен / софтуерен дизайн
  • Отговор: Как да постигнем целта си?
  • Разработване на софтуер
  • Решаване: Нека да изграждаме
  • Тестване
  • Решаване: Нека гарантираме, че това, което сме изградили, работи
  • Разгръщане
  • Решаване: Нека вземем нашето решение и го използваме.

Тези шест фази съответстват на поведението, което може би вече прилагате при определяне на обхвата, изграждане, тестване и пускане на софтуер. Но SDLC прави работния поток стандартизиран и формален.

Това е във ваша полза: като следвате конкретни стъпки, можете лесно да комуникирате къде се намирате в процеса и да информирате другите къде сте се насочили.

Нека да се потопим по-дълбоко във всеки етап и да обясним изследващите въпроси и резултати, за които ще искате да оптимизирате.

Фаза # 1: Анализ на изискванията

Този етап от SDLC ви принуждава да получавате обратна връзка и купуване от съответните вътрешни и външни заинтересовани страни.

Помислете за предишните ми примери с разработване на софтуер за проследяване на времето. Ще трябва да помислите широко за това кои са вашите „потребители“.

Някои идеи включват вашите клиенти, дизайнери, вашия шеф или други технически представители в екипа.

В крайна сметка търсите отговор на този въпрос: какви проблеми трябва да бъдат решени? Намирам за полезно на първа фаза да си водя бележки и да слушам активно.

Когато се чувствате добре с отговорите си, можете да преминете към следващата фаза.

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

Вие търсите отговор на този въпрос: какво искаме да направим? Този въпрос може да ви вдъхнови да разберете икономическата единица на вашия план (разходи и ползи), факторите за намаляване на риска и очакваните стойности.

Подобно на планирането на ваканция, трябва да организирате притежанията си и да помислите какви чанти да опаковате.

Ето подходящ пример.

Чел съм много за историята на Instagram. Огромно време беше отделено на фазата на планиране на разработването на приложението. Това беше точно по времето, когато социалните медии бързо се разрастваха.

Все още не е известно как ще взаимодействат потребителите с продукта.

Основателите са знаели, че ако основополагащият опит е силен (правене, редактиране и споделяне на снимки), тогава ще последва растеж, успех и висока конверсия. Това са планирали.

Основателите отделиха време за апликация и дизайн на уебсайтове, знаейки, че ако планират правилно, действителният етап на архитектура и дизайн ще бъде по-плавен.

Те винаги гледаха с една крачка напред и мислеха за бъдещето на социалното споделяне и пазаруването чрез електронна търговия.

Планирайте това, което можете да контролирате, и внимавайте за неща, за които не можете да планирате. Това ще ви помогне да имате солидна основа, преминаваща към трета фаза.

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

На този етап вие знаете какви са вашите изисквания и какво искате.

Вие сте на твърда основа, за да отговорите на следния въпрос, преди да започнете да пишете софтуер: как да постигнем целта си? Накратко, трябва да решите за какво оптимизирате и да проектирате за това.

Може би създавате софтуер, който искате да бъде сигурен, високоефективен, издръжлив и ефективен. Кой от тези принципи е най-важен за вас и защо?

Съгласни ли са заинтересованите страни от първата фаза? Уверете се, че заинтересованите страни са напълно изравнени.

След фазата на проектиране ще започнете да поставяте „ръце на клавиатури“ и извършването на промени ще стане по-скъпо по отношение на изразходваното време и пари. Малките променливи разходи ще се добавят.

Има няколко стълба на дизайна, които ви съветвам да обмислите по време на тази фаза: експлоатационни постижения, сигурност, надеждност, ефективност на изпълнението и оптимизиране на разходите.

Използвайте тези кофи, за да управлявате окончателните дизайнерски решения.

Фаза # 4: Разработка на софтуер

Това е фазата на изграждане, в която се стремите да не отговаряте на въпроси, а да произвеждате резултати.

По-конкретно се стремите да покажете пристрастие към действие и да разработите прототип или система, която другите могат да изпитат.

Когато започнете да изграждате, е изключително важно да следвате първите три фази, така че резултатът ви да се приведе в съответствие с очакванията.

Извадете компютъра си, уверете се, че средата ви благоприятства за работа, вземете по-топла кафе и халба и включете монитора.

На тази фаза ще спечелите доверието на заинтересованите страни, като въплътите мисленето на строителя.

Фаза # 5: Тестване

По-рано виждах колеги, облечени в тениски, на които пишеше следното: „Изграждане на скали, тестване не толкова много.“

Не можете да произведете окончателна версия на продукт, без да ядете своя собствена „кучешка храна“.

След приключване на тази фаза вие сте в състояние да гарантирате, че изграденото от вас работи. Потърсете грешки или дефекти. Получете второ мнение.

Пробвайте дълбоко, за да намерите грешки, които ще забавят пускането на крайния ви продукт. Осигурете силни основи.

Фаза # 6: Внедряване

Вземете решението си и го използвайте. Стартиране. Отидете на живо.

Накарайте заинтересованите страни от първа фаза да използват вашия софтуер в природата. Празнувайте. Започнете да измервате ангажираността на продажбите.

Слушайте потребителите и повторете, защото чрез проучвания и насоки за обратна връзка с потребителите можете да започнете отново на първа фаза, обхващайки нови изисквания.

Обединяване на всичко: Подходът SDLC

SDLC съществува, за да ви помогне да намалите времето си за пускане на пазара, да осигурите по-добра продукция на продукта, да спестите пари и да увеличите вероятността това, което изграждате, да е полезно за заинтересованите страни, които ви интересуват.

SDLC е особено полезен в света на разработката на софтуер, защото ви принуждава да „оцветявате в редовете“.

С други думи, SDLC ще ви принуди да следвате стъпки и да се уверите, че правите правилните действия в точното време и по правилните причини.

Помислете за SDLC като план за успех. Следването му сляпо не гарантира нищо - но увеличава вероятността да останете доволни от резултатите.

Разработката на софтуер - както всички знаем - е широк домейн и може да обхваща инструменти за проектиране на уебсайтове и онлайн формуляри за по-стабилни системи за машинно обучение или бекенд системи.

Независимо дали кодирате в браузъра или извършвате по-стабилна разработка, имате нужда от план за действие.

Изграждането на софтуер може да бъде трудно.

Може да бъде и възнаграждаващо. SDLC е ръководство за техническа работа, но в по-широк план може да се разглежда като ръководство в живота.

Можете да разположите SDLC в много домейни.

Например писането на съдържание на SaaS следва цикъла SDLC. Преди да напише съдържание, авторът трябва първо да дефинира изискванията, да планира какво ще бъде написано и след това всъщност да постави химикал на хартия.

SDLC е чудесна рамка и за технологични предприемачи.

Моят приятел искаше да създаде най-добрата агенция за реклами във Facebook и се обърна към мен и другите за насоки. Посъветвах го да използва SDLC, за да извърши първо анализ на изискванията, въпреки че амбициите му бяха доста големи.

Попитах го: какви проблеми търсиш да решиш? Какво искат вашите потребители? И накрая, как тази платформа ще ви помогне да постигнете тези цели?

Чрез формулирането на тези въпроси около SDLC той по-добре успя да усъвършенства своето крайно решение и да създаде правилните инструменти за правилните потребители.

Той стесни обхвата си и определи по-строго проблемното си пространство. Той успя да разпредели ресурси за фазата на планиране, преди да започне да прави нещо друго.

Той продължи да изгражда може би най-добрата услуга за растеж на Instagram, която познавам. Но неговото поле непрекъснато се развива.

Сега съществува софтуер, който да изпълнява ролята на планировчик на социални медии в мащаб. В крайна сметка ще трябва да се върне към основите: анализ на изискванията.

Приемането на неговата технология е доказателство, че SDLC, когато се прилага и изпълнява правилно, може да доведе до дълбоки технологични и бизнес резултати. Но както при развитието на бизнес, софтуерът никога не се прави.

Следователно цикълът продължава.

Независимо от това, което изграждате - компания, инструмент, сложна програма или изцяло нов продукт - би било разумно да внедрите SDLC, за да осигурите качество и да ви помогнете да поддържате фокус върху клиентите си, докато изграждате.

„Изграждането на скали“ трябва да бъде вашата Северна звезда.

SDLC е инструмент, който ще ви помогне да ви насочва по пътя.