Кіріспе

Бағдарламалық жобаларды жоспарлау және басқару саласы – бағдарламалық жобаларды жоспарлау және басқару процесі. Бұл жобаны басқарудың бір саласы болып табылады, онда бағдарламалық жобалар жоспарланады, іске асырылады, қадағаланады және бақыланады.

Бағдарламалық жасақтаманы әзірлеу процесі

Бағдарламалық жасақтаманы әзірлеу процесі бағдарламалық құралдар сияқты техникалық емес, бағдарламалық жасақтаманы әзірлеудің өндірістік аспектісімен негізінен айналысады. Бұл процестер бағдарламалық жасақтаманы әзірлеуді басқаруды қолдау үшін негізінен қалыптасқан және көбінесе бизнес мәселелерін шешуге бағытталған. Көптеген бағдарламалық жасақтаманы әзірлеу процестерін жалпы жобаны басқару процестерімен ұқсас түрде жүргізуге болады. Мысалдар: адамдар арасындағы қарым-қатынас, қақтығыстарды басқару және шешу. Белсенді, жиі және шыншыл қарым-қатынас жобаның сәтті болу ықтималдығын арттыру және проблемалық жобаларды азайту үшін ең маңызды фактор болып табылады. Даму тобы соңғы пайдаланушыларды қатыстыруға тырысуы және даму процесіне олардың үн қосуын ынталандыруы керек. Пайдаланушыларды қатыстырмау талаптарды қате түсінуге, клиенттердің өзгеретін қажеттіліктеріне сезімталдық танытпауға және клиент тарапынан негізсіз күтулерге әкелуі мүмкін. Бағдарламалық жасақтаманы әзірлеушілер, пайдаланушылар, жоба менеджерлері, клиенттер және жоба демеушілері үнемі және жиі қарым-қатынаста болуы керек. Бұл талқылаулардан алынған ақпарат жобалық топқа күшті және әлсіз жақтарын, мүмкіндіктерін және қауіптерін (SWORT) талдауға және осы ақпаратты пайдаланып мүмкіндіктерден пайда алуға және қауіптерді азайтуға мүмкіндік береді. Жаман жаңалықты ертерек жеткізсе, оны жақсы жаңалыққа айналдыруға болады, себебі проблемалар тым кеш байқалмаса, оларды шешуге болады. Мысалы, пайдаланушылармен, команда мүшелерімен және басқа да мүдделі тараптармен болып жатқан кездейсоқ әңгімелер ресми жиналыстарға қарағанда ықтимал проблемаларды ертерек анықтауға көмектеседі. Барлық қарым-қатынас зияттылық тұрғысынан адал және шынайы болуы керек, сонымен қатар даму жұмысына тұрақты, жиі және жоғары сапалы сын қажет, бірақ ол тыныш, құрметпен, сындарлы, айыптамайтын және ашулы емес түрде ұсынылуы керек. Жобаны пайдаланушылар үшін тиімді, пайдалы және маңызды ету үшін, сондай-ақ оны аяқтау мүмкіндігі шегінде ұстау үшін әзірлеушілер мен соңғы пайдаланушылар, сондай-ақ жоба менеджерлері мен клиенттер арасында жиі және кездейсоқ байланыс қажет. Тиімді адамдар арасындағы қарым-қатынас, қақтығыстарды басқару және шешу – бағдарламалық жобаны басқарудың кілті. Ешбір әдістеме немесе процесті жақсарту стратегиясы қарым-қатынастағы немесе жеке аралық қақтығыстарды басқарудағы күрделі проблемаларды жеңе алмайды. Сонымен қатар, мұндай әдістемелер мен процесті жақсарту стратегияларының нәтижелері жақсы қарым-қатынас арқылы жақсарады. Қарым-қатынас команданың жобалық мақсатты түсінгендігіне және осы мақсатқа қарай алға жылжып бара жатқандығына бағытталған болуы керек. Соңғы пайдаланушылар, бағдарламалық жасақтаманы әзірлеушілер және жоба менеджерлері жиі қарапайым, элементарлық сұрақтар қоюы керек, олар проблемаларды олар үлкен апатқа ұласқанша анықтауға көмектеседі. Соңғы пайдаланушылардың қатысуы, тиімді қарым-қатынас және командалық жұмыс жеткіліксіз болғанымен, жақсы нәтижеге қол жеткізу үшін қажет, ал олардың болмауы жаман нәтижеге әкелуі мүмкін. Тәуекелді басқару – тәуекелді өлшеу немесе бағалау және одан кейін тәуекелді басқару стратегиясын әзірлеу процесі. Жалпы алғанда, қолданылатын стратегияларға тәуекелді басқа тарапқа жүктеу, тәуекелді болдырмау, тәуекелдің теріс әсерін азайту және белгілі бір тәуекелдің салдарының бір бөлігін немесе барлығын қабылдау кіреді. Бағдарламалық жобаны басқарудағы тәуекелді басқару жобаны бастау үшін бизнес-негіздемеден басталады, онда шығын-пайданы талдау, сондай-ақ жоба сәтсіз аяқталған жағдайдағы резервтік нұсқалардың тізімі, яғни жоспар кіреді. Тәуекелді басқарудың бір бөлігі – Мүмкіндіктерді басқару, бұл бірдей мағынаны білдіреді, бірақ тәуекелдің ықтимал нәтижесі теріс емес, оң әсер етеді. Теориялық тұрғыдан бірдей қарастырылса да, "тәуекел" деген сөздің орнына "мүмкіндік" деген сөзді қолдану команданы кез келген тәуекел тізіліміндегі жобалардың мүмкін болатын оң нәтижелеріне, мысалы, бөлініп шыққан жобаларға, күтпеген пайдаға және қосымша ресурстарға назар аударуға көмектеседі. Талаптарды басқару – талаптарды анықтау, алу, құжаттау, талдау, іздеу, басымдық беру және келісу, содан кейін өзгерістерді бақылау және тиісті мүдделі тараптарға хабарлау процесі. Жаңа немесе өзгертілген компьютерлік жүйедегі мәселе – қате, сұралған мүмкіндік, тапсырма, жоғалған құжаттама және т.б. болуы мүмкін. Мысалы, OpenOffice.org бұрын Bugzilla-ның өзгертілген нұсқасын IssueZilla деп атаған, 2010 жылдың қыркүйегінен бастап оны Issue Tracker деп атайды.

Эмиссияларды басқару

Бағдарламалық жасақтаманы әзірлеу процестерінің кейбір нұсқаларында мәселелер сапаны қамтамасыз ету аналитиктерімен зерттеледі, жүйенің дұрыстығы тексеріледі, содан кейін анықталған мәселені шешу үшін даму тобының мүшесіне қайтарылады. Бұндай мәселелерді жүйе пайдаланушылары қолданушы қабылдау сынағы (UAT) кезеңінде де анықтай алады. Мәселелерді немесе ақауларды тіркеу және хабарлау үшін мәселелерді немесе ақауларды қадағалау жүйелері қолданылады. Егер ресми мәселелерді немесе ақауларды қадағалау жүйесі болмаса, табылған мәселенің бар екенін хабарлау үшін электрондық пошта немесе жылдам хабарлама сияқты жазбаша хабар алмасудың кез келген түрін қолдану қалыпты жағдай.

Философия

Жобалық басқарудың бір саласы ретінде, кейбірлер бағдарламалық құралды дамытуды басқаруды өндірісті басқарумен теңестіреді, оны басқару дағдылары бар, бірақ бағдарламалау дағдылары жоқ адам да орындай алады. Джон К. Рейнольдс бұл көзқарасқа қарсы шығып, бағдарламалық құралды дамытудың толығымен жобалау еңбегі екенін айтады және бағдарлама жаза алмайтын менеджерді, жаза алмайтын газеттің бас редакторымен салыстырады.