JavaRush /Java блогу /Random-KY /Программалык камсыздоону иштеп чыгуунун методологиялары ж...

Программалык камсыздоону иштеп чыгуунун методологиялары жөнүндө билишиңиз керек болгон нерселердин баары: тенденциялар, принциптер жана башталгычтар үчүн тузактар

Группада жарыяланган
Программалык камсыздоону иштеп чыгуу татаал бизнес процесси. Бул IT оптималдаштыруу, пландаштыруу жана эсептөө тorнде сүйлөш керек дегенди билдирет. Программалык камсыздоону иштеп чыгуунун методологиясы жөнүндө бorшиңиз керек болгон нерселердин баары: тенденциялар, принциптер жана башталгычтар үчүн тузактар ​​- 1Башкаруу концепцияларын түшүнүү иш берүүчүлөргө да, иштеп чыгуучуларга да чоң артыкчылык берет жана кызматташууну кийинки деңгээлге көтөрүүгө жардам берет.

Жаңы баштагандар үчүн эскертүү: моделдер, методологиялар жана жалпы башаламандык

Баштоо үчүн маанилүү бир түшүндүрмө: программалык камсыздоону иштеп чыгуунун өзүнчө моделдери жана бул өнүгүүнүн өзүнчө методологиясы бар. Моделдер системанын келечектеги жүрүм-турумун алдын ала. Методологиялар системанын керектүү түрдө иштеши үчүн керек. Программалык камсыздоону иштеп чыгуунун моделдерин жана методологияларын чаташтыруу ар бир IT башталгычтын ыйык милдети, ошондуктан бул одоно ката деп эсептелбейт. Бирок, моделдер классикалык каскаддуу шаркыратма болуп саналат , анын сызыктуулугу, ар бир этап үчүн так максаттарды коюу жана мөөнөттөрдү катуу көзөмөлдөө. Моделдер спираль болуп саналат , анын басымы долбоордун тобокелдиктерин эрте аныктоого жана жумшартууга багытталган. Спиралдык өнүгүү кичине масштабда башталат, адегенде жергorктүү көйгөйлөрдү чечет, андан кийин татаалыраак. Акыркы модель IID болуп саналат , ал долбоордун жашоо циклин итерациялардын ырааттуулугуна бөлөт, алардын ар бири “мини-долбоорду” элестетет. Жалпысынан алганда, модель программалык камсыздоону иштеп чыгуу процессин сүрөттөгөн нерсе . Ал эми методологиялар - бул берилген тапшырмалар боюнча ишти көзөмөлдөө, баалоо жана мониторинг жүргүзүү системалары. Методологиялар өнүгүү процессинин ар бир звеносун көзөмөлдөө үчүн зарыл болгон заманбап өнүгүүнүн сабиз жана таякчасы. Алар долбоордун багыты, анын бюджети жана акыркы продуктунун мөөнөтү боюнча тандалып алынат. Мындан тышкары, методологиялар долбоордун менеджери жана анын командасынын темпераментинин негизинде тандалып алынышы мүмкүн. Ал тургай, компаниянын же кардардын философиясына негизделген. Келгиле, эң популярдуу методологияларды карап көрөлү.

1. Scrum методологиясы

Scrum - бул ийкемдүү долбоорду башкаруу ыкмасы . Ал "спринттерге" негизделген - кыска итерациялар, катуу убакыт менен чектелген (көбүнчө 2-4 жума). Жолугушуулардын узактыгы минимумга чейин кыскарат, бирок алардын жыштыгы көбөйөт. Ар бир спринт итерациянын аягына чейин тапшырмалардын тизмесинен турат жана алардын ар биринин өзүнүн "салмагы" бар. Жолугушуулардын жүрүшүндө команда ким эмне кылганын, эмне кылаарын, кандай көйгөйлөр бар экенин талкуулашат. Scrum пландаштыруу үчүн спринт журналын колдонот. Мындай мамиледе командада көп учурда Scrum мастер пайда болот, ал бүт команданын үзгүлтүксүз ишин орнотуп, ага ыңгайлуу шарттарды түзөт. Ошондой эле долбоордо Продукт Ээсинин ролу пайда болот - иштеп чыгуу менеджери, продуктту көзөмөлдөгөн жана кардардын суроо-талабы менен команданын жыйынтыгынын ортосундагы негизги байланыштыруучу адам.

Артыкчылыктары:

  • мүмкүн болушунча аз бюджет менен тез долбоорду ишке киргизүү;
  • иштин жүрүшүнө күн сайын мониторинг жүргүзүү, долбоорду тез-тез көрсөтүү;
  • долбоордун жүрүшү менен өзгөртүүлөрдү киргизүү мүмкүнчүлүгү.

Минустары:

  • белгиленген бюджеттин жоктугунан келишимдерди түзүүдөгү кыйынчылыктар;
  • команданын төмөн квалификациясы, бааланбаган жумуш мөөнөттөрү же бюджети менен иштебейт;
  • спринттердин ортосунда үзгүлтүксүз өзгөрүүлөрдү жасоо жөндөмү башаламандыктарды жаратышы мүмкүн.

Кимге ылайыктуу:

Бул система он кишиге чейинки долбоорлор үчүн ылайыктуу - көз карандысыз же ири компаниялардын ичинде. Бул командада жумуштун чоң көлөмү жана узак жашоо цикли болсо, аларды өзгөртүүгө жана рыноктун жаңы шарттарына ыңгайлашууга мажбурлаган ыңгайлуу.

2. Канбан методологиясы

Канбандын эң маанилүү өзгөчөлүгү - бул долбоордун жашоо циклинин визуализациясы . Мамычалар жекече берилген тапшырмаларды аткаруу үчүн түзүлөт. Мамычалар төмөнкүдөй маркерлер менен белгиленет: Эмне кылуу керек, Аткарылууда, Кодду карап чыгуу, Сыноодо, Бүттү (тилкелердин аталыштары, албетте, өзгөрүшү мүмкүн). Ар бир бригаданын мучесунун максаты — биринчи колонкадагы тапшырмалардын санын кыскартуу. Канбан ыкмасы визуалдык жана көйгөйдүн кайда экенин түшүнүүгө жардам берет. Канбан түзүмү биротоло жана кайра кайтарылгыс түрдө аныкталган эмес: долбоордун өзгөчөлүгүнө жараша импровизацияланган мамычаларды кошууга болот. Мисалы, кээ бир командалар тапшырманы аткаруудан мурун анын даярдыгынын критерийлерин аныктоо керек болгон системаны колдонушат. Андан кийин эки тилке кошулат - көрсөтүү (параметрлерди көрсөтүү) жана аткаруу (ишке киришүү).

Артыкчылыктары:

  • пландоо ийкемдүүлүгү. Коллектив агымдагы ишке гана кецул бурат, тапшырманын артыкчылыгы да аныкталат;
  • көрүнүшү. Качан бардык актерлор маалыматтарга жетсе, глобалдык көйгөйлөр оңой байкалат;
  • иштеп чыгуу процессине жогорку катышуу. Процесстин визуализациясы өзүн өзү уюштурууну жана өзүн өзү башкарууну жогорулатат.

Минустары:

  • беш адамдан ашык бригадалар менен иштебейт;
  • узак мөөнөттүү пландаштыруу үчүн арналган эмес;
  • мотивациясыз командада иштөөгө ылайыктуу эмес. Канбанда ар бир тапшырма үчүн мөөнөттөр белгиленбейт жана методологияда кечиктирилгендик үчүн жаза каралган эмес.

Кимге ылайыктуу:

Канбан команда иштеп чыгууга жана натыйжаларга жетишүүгө түрткү болгон компанияларда жакшы иштейт. Буга чейин эле көрүнүп тургандай, кичинекей команда. Балким, ал тургай бир бөлүм же команданын бир бөлүгү.

3. RUP методологиясы

RUP методологиясы итеративдик өнүгүү моделин колдонот. Ар бир итерациянын аягында (2дан 6 жумага чейин созулат) команда пландалган максаттарга жетиши керек жана долбоордун убактылуу, бирок жумушчу versionсына ээ болушу керек. RUP долбоорду төрт фазага бөлүүнү камтыйт , алардын ар биринде буюмдун жаңы мууну боюнча иш жүргүзүлүүдө: долбоорду баштоо фазасы, тактоо, куруу жана ишке ашыруу. Этаптын аягында этаптын аяктоо белгиси (Project Milestone) киргизилет. Долбоордун этегине команда жетишилген натыйжаларды баалоо учурун кароого болот. Натыйжада, методология негизги өзгөчөлүктөр биринчи этапта бошотулат, ал эми кошумчалар кийинки этаптарда кошулат деп билдирет.

Артыкчылыктары:

  • кардардан келип чыккан жана иш учурунда келип чыккан милдеттердин өзгөрүшү менен күрөшүүгө мүмкүндүк берет;
  • продукцияны тынымсыз жакшыртууну камсыз кылат. Итерациялар учурунда дизайн кылдаттык менен каралышы мүмкүн;
  • иштин алгачкы этаптарында тобокелдиктерди аныктоого жана жоюуга, ошондой эле өнүгүүнүн сапатын эффективдүү көзөмөлдөөгө мүмкүндүк берет.

Минустары:

  • кичинекей команда же компания менен ишке ашыруу кыйын болгон бир топ татаал ыкма;
  • эксперттердин милдеттерди коюу жөндөмдүүлүгүнө көз карандылык;
  • талаптарды ашыкча documentтештирүү керек.

Кимге ылайыктуу:

Өнүмдү мүмкүн болушунча тезирээк чыгаруу керек болгондо, так аныкталган талаптар жана аныкталган тобокелдиктер менен ири долбоорлор. Функционалдуулуктун эсебинен да, анын ордун тез ээлеп, андан кийин гана нюанстарды тактоо үчүн.

Көптөгөн методологиялар, бир тенденция

"Agile" деген жалпы аталыштагы ийкемдүүлүк принциптерине негизделген, талашсыз популярдуу Scrum жана Kanbanдан тышкары , ошондой эле туруктуу кайталануучу RUP, компаниялар методологиянын көптөгөн вариациялары менен иштешет. Кээ бир адамдар экстремалдык программалоону жана эң тез жана эң жөнөкөй чечимдерди кабыл алууну жактырса, кээ бирлери тестирлөө аркылуу иштеп чыгууну жактырса, башкалары тиркемени тез иштеп чыгууну (RAD) артык көрүшөт. Ошол эле учурда негизги жана шартсыз тенденция бир эле учурда бир нече методологияны колдонуу болуп саналат . Же ал тургай моделдерди жана методологияларды уникалдуу башкаруу системасына айкалыштыруу. Программалык камсыздоону иштеп чыгуунун методологиялары жөнүндө бorшиңиз керек болгон нерселердин баары: тенденциялар, принциптер жана башталгычтар үчүн тузактар ​​- 2Заманбап компаниялар бюрократиялык тоскоолдуктарды жоюуга жана бөлүмдөрдүн жана блоктордун ортосунда жоопкерчorкти алмаштырбастан, уюмдун ичинде жалпы командалык иш атмосферасын түзүүгө умтулушат. Scrumalliance отчетуна ылайык , IT компаниялардын 70% Scrum колдонот. Алардын арасында Google, Amazon, Salesforce, Microsoft, Adobe сыяктуу гиганттар бар. Стартаптар жана жаш долбоорлор Канбанга көбүрөөк ыкташат, бирок аны Toyota жана, мисалы, Wargaming оюнчулары да колдонушат. Көбүрөөк жөнөкөй КМШ компаниялары Prom.ua, Bigl.ua, Kabanchik.ua Scrum жана Kanban методологияларын бир эле учурда, бирок ар кандай тапшырмалар үчүн колдонушат. Scrum - пландаштыруу куралы катары, Канбан - иштин жүрүшүн көзөмөлдөө үчүн. RUP боюнча айтсак, аны көбүнчө 50-200 кызматкери жана 1-10 миллион доллар кирешеси бар батыш компаниялары колдонот. Бирок ошол эле учурда, IBM OpenUP методологиясын чыгаруу менен Agile принциптерине жакындаш үчүн RUPди өзгөрттү - "RUP, бир гана agile". Ошол эле мактанган Agile шамдагайлыгы азыр IT пейзажын башкарып жатат . Бүгүнкү күндө бул жөн эле мода эмес - ал дагы эле новатордук жана көптөгөн ири компанияларда иштейт. Agile Сorкон өрөөнүндө колдонулат жана Facebook жана Uber тарабынан колдонулат.

Төмөнкү сызык

Ар бир долбоор командага, каржылоого, убакытка жана кардарлардын талаптарына жараша программалык камсыздоону иштеп чыгуунун өзүнүн методологиясына ээ. Универсалдуу башкаруу технологиясы жок: жада калса жапайы популярдуу Agile иштеп чыгуу процессине эң жакшы мамиле жасай алbyte. Ошондуктан, методология кылдаттык менен тандалып алынат, ал тургай, кээде негизги. Ошентип, сиз аны компаниянын өзү же анын кардарлары жөнүндө жыйынтык чыгаруу үчүн колдоно аласыз. Методологиялар аралаш, моделдер менен толукталат жана өзүнө ылайыкташтырылган. Ошентип, алар жаңы ыкмаларды пайда кылат. Акыр-аягы, башкаруу чөйрөсү Scrum жана Kanban колунда кала берет, Шаркыратма модели же итеративдик RUP күтүлбөгөн кошулмалар менен.
Дагы эмне окуш керек
Вебсайттар: Китептер:
  • Эндрю Стелман, Дженнифер Грин: "Агorкти үйрөнүү";
  • Пер Кролл, Брюс МакАйзек: “Шайдамдуулук жана тартип жеңилдеди: OpenUP жана RUP тажрыйбалары”;
  • Майк Кон: Scrum. Agile өнүктүрүү";
  • Роберт К. Мартин: “Программалык камсыздоону тез иштеп чыгуу. Принциптер, мисалдар, практика»;
  • Маркус Хаммарберг, Йоаким Сунден: "Канбан аракетте";
  • Джейкобсон, Г.Буч, Дж.Рамбо: «Бирдиктүү программалык камсыздоону иштеп чыгуу процесси».
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION