Кіріспе
Бағдарламалық жобаларды жоспарлау және басқару саласы – бағдарламалық жобаларды жоспарлау және басқару процесі. Бұл жобаны басқарудың бір саласы болып табылады, онда бағдарламалық жобалар жоспарланады, іске асырылады, қадағаланады және бақыланады.
Software project management is the process of planning and leading software projects. It is a sub discipline of project management in which software projects are planned, implemented, monitored and controlled.
Бағдарламалық жасақтаманы әзірлеу процесі
Бағдарламалық жасақтаманы әзірлеу процесі бағдарламалық құралдар сияқты техникалық емес, бағдарламалық жасақтаманы әзірлеудің өндірістік аспектісімен негізінен айналысады. Бұл процестер бағдарламалық жасақтаманы әзірлеуді басқаруды қолдау үшін негізінен қалыптасқан және көбінесе бизнес мәселелерін шешуге бағытталған. Көптеген бағдарламалық жасақтаманы әзірлеу процестерін жалпы жобаны басқару процестерімен ұқсас түрде жүргізуге болады. Мысалдар: адамдар арасындағы қарым-қатынас, қақтығыстарды басқару және шешу. Белсенді, жиі және шыншыл қарым-қатынас жобаның сәтті болу ықтималдығын арттыру және проблемалық жобаларды азайту үшін ең маңызды фактор болып табылады. Даму тобы соңғы пайдаланушыларды қатыстыруға тырысуы және даму процесіне олардың үн қосуын ынталандыруы керек. Пайдаланушыларды қатыстырмау талаптарды қате түсінуге, клиенттердің өзгеретін қажеттіліктеріне сезімталдық танытпауға және клиент тарапынан негізсіз күтулерге әкелуі мүмкін. Бағдарламалық жасақтаманы әзірлеушілер, пайдаланушылар, жоба менеджерлері, клиенттер және жоба демеушілері үнемі және жиі қарым-қатынаста болуы керек. Бұл талқылаулардан алынған ақпарат жобалық топқа күшті және әлсіз жақтарын, мүмкіндіктерін және қауіптерін (SWORT) талдауға және осы ақпаратты пайдаланып мүмкіндіктерден пайда алуға және қауіптерді азайтуға мүмкіндік береді. Жаман жаңалықты ертерек жеткізсе, оны жақсы жаңалыққа айналдыруға болады, себебі проблемалар тым кеш байқалмаса, оларды шешуге болады. Мысалы, пайдаланушылармен, команда мүшелерімен және басқа да мүдделі тараптармен болып жатқан кездейсоқ әңгімелер ресми жиналыстарға қарағанда ықтимал проблемаларды ертерек анықтауға көмектеседі. Барлық қарым-қатынас зияттылық тұрғысынан адал және шынайы болуы керек, сонымен қатар даму жұмысына тұрақты, жиі және жоғары сапалы сын қажет, бірақ ол тыныш, құрметпен, сындарлы, айыптамайтын және ашулы емес түрде ұсынылуы керек. Жобаны пайдаланушылар үшін тиімді, пайдалы және маңызды ету үшін, сондай-ақ оны аяқтау мүмкіндігі шегінде ұстау үшін әзірлеушілер мен соңғы пайдаланушылар, сондай-ақ жоба менеджерлері мен клиенттер арасында жиі және кездейсоқ байланыс қажет. Тиімді адамдар арасындағы қарым-қатынас, қақтығыстарды басқару және шешу – бағдарламалық жобаны басқарудың кілті. Ешбір әдістеме немесе процесті жақсарту стратегиясы қарым-қатынастағы немесе жеке аралық қақтығыстарды басқарудағы күрделі проблемаларды жеңе алмайды. Сонымен қатар, мұндай әдістемелер мен процесті жақсарту стратегияларының нәтижелері жақсы қарым-қатынас арқылы жақсарады. Қарым-қатынас команданың жобалық мақсатты түсінгендігіне және осы мақсатқа қарай алға жылжып бара жатқандығына бағытталған болуы керек. Соңғы пайдаланушылар, бағдарламалық жасақтаманы әзірлеушілер және жоба менеджерлері жиі қарапайым, элементарлық сұрақтар қоюы керек, олар проблемаларды олар үлкен апатқа ұласқанша анықтауға көмектеседі. Соңғы пайдаланушылардың қатысуы, тиімді қарым-қатынас және командалық жұмыс жеткіліксіз болғанымен, жақсы нәтижеге қол жеткізу үшін қажет, ал олардың болмауы жаман нәтижеге әкелуі мүмкін. Тәуекелді басқару – тәуекелді өлшеу немесе бағалау және одан кейін тәуекелді басқару стратегиясын әзірлеу процесі. Жалпы алғанда, қолданылатын стратегияларға тәуекелді басқа тарапқа жүктеу, тәуекелді болдырмау, тәуекелдің теріс әсерін азайту және белгілі бір тәуекелдің салдарының бір бөлігін немесе барлығын қабылдау кіреді. Бағдарламалық жобаны басқарудағы тәуекелді басқару жобаны бастау үшін бизнес-негіздемеден басталады, онда шығын-пайданы талдау, сондай-ақ жоба сәтсіз аяқталған жағдайдағы резервтік нұсқалардың тізімі, яғни жоспар кіреді. Тәуекелді басқарудың бір бөлігі – Мүмкіндіктерді басқару, бұл бірдей мағынаны білдіреді, бірақ тәуекелдің ықтимал нәтижесі теріс емес, оң әсер етеді. Теориялық тұрғыдан бірдей қарастырылса да, "тәуекел" деген сөздің орнына "мүмкіндік" деген сөзді қолдану команданы кез келген тәуекел тізіліміндегі жобалардың мүмкін болатын оң нәтижелеріне, мысалы, бөлініп шыққан жобаларға, күтпеген пайдаға және қосымша ресурстарға назар аударуға көмектеседі. Талаптарды басқару – талаптарды анықтау, алу, құжаттау, талдау, іздеу, басымдық беру және келісу, содан кейін өзгерістерді бақылау және тиісті мүдделі тараптарға хабарлау процесі. Жаңа немесе өзгертілген компьютерлік жүйедегі мәселе – қате, сұралған мүмкіндік, тапсырма, жоғалған құжаттама және т.б. болуы мүмкін. Мысалы, OpenOffice.org бұрын Bugzilla-ның өзгертілген нұсқасын IssueZilla деп атаған, 2010 жылдың қыркүйегінен бастап оны Issue Tracker деп атайды.
Interpersonal communication and conflict management and resolution. Active, frequent and honest communication is the most important factor in increasing the likelihood of project success and mitigating problematic projects. The development team should seek end user involvement and encourage user input in the development process. Not having users involved can lead to misinterpretation of requirements, insensitivity to changing customer needs, and unrealistic expectations on the part of the client. Software developers, users, project managers, customers and project sponsors need to communicate regularly and frequently. The information gained from these discussions allows the project team to analyze the strengths, weaknesses, opportunities and threats (SWOT) and to act on that information to benefit from opportunities and to minimize threats. Even bad news may be good if it is communicated relatively early, because problems can be mitigated if they are not discovered too late. For example, casual conversation with users, team members, and other stakeholders may often surface potential problems sooner than formal meetings. All communications need to be intellectually honest and authentic, and regular, frequent, high quality criticism of development work is necessary, as long as it is provided in a calm, respectful, constructive, non accusatory, non angry fashion. Frequent casual communications between developers and end users, and between project managers and clients, are necessary to keep the project relevant, useful and effective for the end users, and within the bounds of what can be completed. Effective interpersonal communication and conflict management and resolution are the key to software project management. No methodology or process improvement strategy can overcome serious problems in communication or mismanagement of interpersonal conflict. Moreover, outcomes associated with such methodologies and process improvement strategies are enhanced with better communication. The communication must focus on whether the team understands the project charter and whether the team is making progress towards that goal. End users, software developers and project managers must frequently ask the elementary, simple questions that help identify problems before they fester into near disasters. While end user participation, effective communication and teamwork are not sufficient, they are necessary to ensure a good outcome, and their absence will almost surely lead to a bad outcome. Risk management is the process of measuring or assessing risk and then developing strategies to manage the risk. In general, the strategies employed include transferring the risk to another party, avoiding the risk, reducing the negative effect of the risk, and accepting some or all of the consequences of a particular risk. Risk management in software project management begins with the business case for starting the project, which includes a cost benefit analysis as well as a list of fallback options for project failure, called a contingency plan. A subset of risk management is Opportunity Management, which means the same thing, except that the potential risk outcome will have a positive, rather than a negative impact. Though theoretically handled in the same way, using the term "opportunity" rather than the somewhat negative term "risk" helps to keep a team focused on possible positive outcomes of any given risk register in their projects, such as spin off projects, windfalls, and free extra resources. Requirements management is the process of identifying, eliciting, documenting, analyzing, tracing, prioritizing and agreeing on requirements and then controlling change and communicating to relevant stakeholders. New or altered computer system An issue could be a bug, a requested feature, task, missing documentation, and so forth. For example, OpenOffice. org used to call their modified version of Bugzilla IssueZilla. as of September 2010, they call their system Issue Tracker.
Эмиссияларды басқару
Бағдарламалық жасақтаманы әзірлеу процестерінің кейбір нұсқаларында мәселелер сапаны қамтамасыз ету аналитиктерімен зерттеледі, жүйенің дұрыстығы тексеріледі, содан кейін анықталған мәселені шешу үшін даму тобының мүшесіне қайтарылады. Бұндай мәселелерді жүйе пайдаланушылары қолданушы қабылдау сынағы (UAT) кезеңінде де анықтай алады. Мәселелерді немесе ақауларды тіркеу және хабарлау үшін мәселелерді немесе ақауларды қадағалау жүйелері қолданылады. Егер ресми мәселелерді немесе ақауларды қадағалау жүйесі болмаса, табылған мәселенің бар екенін хабарлау үшін электрондық пошта немесе жылдам хабарлама сияқты жазбаша хабар алмасудың кез келген түрін қолдану қалыпты жағдай.
Философия
Жобалық басқарудың бір саласы ретінде, кейбірлер бағдарламалық құралды дамытуды басқаруды өндірісті басқарумен теңестіреді, оны басқару дағдылары бар, бірақ бағдарламалау дағдылары жоқ адам да орындай алады. Джон К. Рейнольдс бұл көзқарасқа қарсы шығып, бағдарламалық құралды дамытудың толығымен жобалау еңбегі екенін айтады және бағдарлама жаза алмайтын менеджерді, жаза алмайтын газеттің бас редакторымен салыстырады.