Особливості проєктного управління в контексті інженерії програмного забезпечення

Дослідження проблеми підготовки майбутніх бакалаврів з інженерії програмного забезпечення до проектного управління. Теоретичне обґрунтування проєктного управління в контексті інженерії програмного забезпечення, фактори, що впливають на його ефективність.

Рубрика Педагогика
Вид статья
Язык украинский
Дата добавления 13.06.2023
Размер файла 27,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Бердянський державний педагогічний університет

Особливості проєктного управління в контексті інженерії програмного забезпечення

Ілля Горбатюк,

аспірант

м. Бердянськ

Анотація

Стаття присвячена проблемі підготовки майбутніх бакалаврів з інженерії програмного забезпечення до проектного управління, яка зумовлена необхідністю якості й надійності програмного продукту та недостатнім рівнем підготовленості молодих спеціалістів ІТ-галузі до реальної практики. Метою дослідження є питання теоретичного обґрунтування проєктного управління в контексті інженерії програмного забезпечення.

На основі аналізу нормативно-правових документів, психолого-педагогічної літератури та наукових досліджень визначено основні поняття дослідження, як-то: «проєкт», «управління проєктом», «проєктне управління». Зокрема, проєкт схарактеризовано як завершений цикл продуктивної діяльності, спрямованої на отримання об'єктивного нового або суб'єктивно нового результату. Наявність невизначеностей та унікальність кожного проєкту потребує фахівців, які будуть займатись його управлінням.

Зазначено, що англомовна література використовує єдиний уніфікований термін - project management.

Наголошено на розумінні проєктного управління як процесі використання знань, навичок, інструментів та технік у проєктній діяльності для досягнення проєктних вимог.

Проведено порівняння проєктних фаз методології Waterfall з проєктними фазами, які пропонує у своїх книгах Project Management Institute, на основі чого виявлено та сформовано декілька особливостей проєктного управління в контексті інженерії програмного забезпечення. Виокремлено компонент проєктного управління як «врегулювання проєктних обмежень: бюджету, ресурсів, ризиків, дедлайнів, якості», що відповідає фазі дизайну проєкту.

Основними вимогами до якісного проєктного управління в інженерії програмного забезпечення встановлено: розуміння доменної області проєкту; знання мови програмування, стеку технології, процесів, методологій; навички проєктної діяльності, що характеризуються ургентністю виконання, стислими строками та швидким результатом; здатність до врегулювання проєктних обмежень.

Ключові слова: проєктне управління, інженерія програмного забезпечення, waterfall.

Abstract

Peculiarities of project management in the context of software engineering

Illia Gorbatiuk,

PhD student

Berdiansk State Pedagogical University

Berdiansk

The article is related to the problem of training future bachelors in software engineering for project management activities, which is caused by ensuring the quality and reliability of the software product and the insufficient level of preparation of young IT specialists for actual practice. The research method was the issue of theoretical justification of project management in software engineering.

Based on the analysis of legal documents, psychological and pedagogical literature, and scientific research, the main concepts of the study were determined, such as: «project» and «project management». Thus, the project is characterized as a completed cycle of productive activity aimed at obtaining an objective new or subjective new result. The presence of uncertainties and the uniqueness of each project require specialists who will be engaged in its management.

Emphasis is placed on understanding project management as a process of using knowledge, skills, tools, and techniques in project activities to achieve project requirements.

The Waterfall's methodology project phases were compared with the project phases proposed by the Project Management Institute in its books, based on which some features of project management in the context of software engineering were formed. The component of project management is singled out as «adjustment of project constraints: in a particular budget, resources, risks, delays, quality», which corresponds to the design phase of the project.

The main program requirements for high-quality project management in support engineering have been established: understanding of the domain area of the project; knowledge of the programming language, technology stack, processes, and methodologies; project activity skills, characterized by the urgency of execution, concise lines, and quick results; the ability to adjust design constraints.

Kev words: project management, software engineering, waterfall.

Основна частина

Вступ. Інформаційні технології (ІТ) є невід'ємною частиною розвитку економіки та суспільства України. Українська IT-галузь за останні 25 років перетворилася на високоінтелектуальну індустрію, де працює майже 300 тисяч фахівців і яка щороку зростає на 25-30%. Вже зараз вона вийшла на перше місце за обсягом експорту послуг (понад 5 млрд дол. на рік) і принесла Україні понад 4% валового внутрішнього продукту [5].

Попит на IT-послуги разом із порівняно високою оплатою праці зумовлює суттєве зростання кількості IT-фахівців в Україні. Взаємодія з підприємцями (ФОП) є привабливою для компаній, оскільки ІТ часто передбачає проєктний характер робіт. IT-галузь активно залучає молодь: 80% працівників IT-компаній віком від 18 до 32 років [1].

Необхідність створювати, розвивати та вдосконалювати програмне забезпечення актуалізує зростання попиту на IT-фахівців. За пів року топ-50 українських IT-компаній, за даними порталу DOU.ua, збільшили штат на 10000 людей. Щороку заклади вищої освіти випускають біля 16000-17000 бакалаврів з IT-спеціальностей. У той же час, за даними BRDO (Better Regulation Delivery Office), попит на IT - фахівців складає до 30000-50000 щороку [1]. І, за найоптимістичнішими прогнозами, «пропозиція» IT-випускників зрівняється із попитом на них тільки у 2030 році.

ІТ-індустрія - найбільша галузь світової економіки, у якій працюють і від продуктів якої залежать мільйони спеціалістів. До якості і надійності програмних продуктів сьогодні висуваються високі вимоги, але проблема їхнього забезпечення наразі остаточно не вирішена [7]. Серед причин такої ситуації дослідники називають недостатній рівень підготовленості програмістів до реальної практики діяльності підприємств галузі [2; 5: 5].

Наразі існує розрив між рівнем підготовки випускників закладів вищої освіти і вимогами з боку роботодавців, які зауважують, що випускникам бракує умінь формувати мету програмного проєкту, виконувати колективну роботу і підтримувати комунікації, своєчасно завершувати розробку і впровадження програмних продуктів [3].

Недостатня сформованість у фахівців-початківців навичок, умінь, знань, які необхідні їм для роботи в багатопрофільній команді, розуміння професійної та етичної відповідальності прийняття інженерних рішень, а також їх аналізу і критики, керування людьми та розуміння необхідності навчання зумовили використання проєктного навчання під час формування «Soft Skills» бакалаврів з інженерії програмного забезпечення (О. Кіріленко та Є. Соколова) [4: 232] на основі веб-сервісу Trello [13: 22] - одного з інструментів проєктного управління, що дозволяє керувати невеликими проєктами, які використовують Agile Kanban методологію.

Проте проблема підготовки майбутніх бакалаврів з інженерії програмного забезпечення до проєктного управління залишається актуальною для сьогодення та потребує подальшого вивчення.

Отже, метою статті є теоретичне обґрунтування проєктного управління в контексті інженерії програмного забезпечення.

Відповідно до мети визначено такі завдання: розкрити основні поняття дослідження «проєкт», «управління проєктом», «проєктне управління»; виокремити особливості проєктного управління в контексті інженерії програмного забезпечення.

Методи та методики дослідження. Для досягнення мети та розв'язання завдань використано теоретичні методи дослідження: аналіз нормативно-правових документів, психолого-педагогічної літератури та наукових досліджень - для визначення основних понять дослідження «проєкт», «управління проєктом», «проєктне управління» та виокремлення особливостей проєктного управління в контексті інженерії програмного забезпечення.

Результати та дискусії. Сучасна концепція управління проєктом базується на понятті «проєкт», у якому він виступає не лише як об'єкт управління з деякими специфічними властивостями, ай як загальна характеристика суті, основна властивість управління проєктом. У зв'язку з цим термін «управління проєктом» некоректно передає суть явища, що позначається ним, тому що чітко розмежовує управління як якусь діяльність, яка загалом не відрізняється від будь-якого іншого управління, і проєкт як об'єкт управління цієї діяльності. На відміну від управління проєктом термін «проєктне управління» більш прийнятний, оскільки поняття проєкт переноситься у властивість самого управління, тим самим підкреслюючи специфіку проєктного управління і позначаючи різницю між ним та іншими його видами. Проте термін «управління проєктом» є більш усталеним виразом, але обидва ці терміни «управління проєктом» і «проєктне управління» можна використовувати як рівнозначні. У нашому дослідженні використовуватиметься термін «проєктне управління».

Ураховуючи все сказане вище, терміни «проєкт» і «проєктне управління» слід визначати і розкривати, вказуючи на їх органічний зв'язок.

Поняття «проєкт» поєднує різноманітні види діяльності, що характеризуються низкою ознак, найбільш загальними з яких є такі: спрямованість на досягнення конкретних цілей, певних результатів; координоване виконання численних взаємозалежних дій; обмежена протяжність у часі, з певним початком та кінцем.

Існує ряд визначень терміну «проєкт», кожне з яких має право на існування залежно від конкретного завдання, яке стоїть перед фахівцем, як-то: щось, що замислюється чи планується [18]; процес переходу з вихідного стану в кінцевий результат за участю низки обмежень і механізмів [6: 8]; деяке завдання з певними вихідними даними та необхідними результатами (цілями), що включає задум, засоби його реалізації (вирішення проблеми) і одержувані в процесі реалізації результати [16]; комплекс спеціально організованих обмежених в часі, бюджеті дій, заходів чи зусиль, скерованих на створення унікального продукту (товари, послуги чи інші результати) визначеної якості [8; 13].

Поняття «проєкт» достатньо чітко визначено в розроблених як за кордоном, так і в Україні стандартах з проєктного управління. Згідно зі стандартом PMI (Project Management Institute) проєкт - це тимчасова спроба створити унікальний продукт, послугу або будь-який результат [14: 5]. Тимчасовий характер проєкту визначає те, що він має початок та кінець. Кінцем проєкту є момент, коли всі цілі проєкту були виконані або коли його було ліквідовано, бо якісь з цілей не були виконані чи відмінені, або коли немає сенсу в подальшому існуванні проєкту. Тимчасовість проєкту не означає те, що він є короткостроковим. Також тимчасовість проєкту не означає, що і результат (продукт або послугу) проєкту має бути тимчасовим.

Кожен проєкт створює унікальний продукт, послугу або інший результат. Деякі елементи можуть повторювати інші проєкти, наявність повторів не змінює фундаментальну унікальність самої роботи. Ураховуючи унікальну природу проєкту, для кожного створюваного проєкту, послуги або іншого результату можуть існувати різноманітні невизначеності [13]. Проєктні завдання можуть бути новими або незвичними для проєктної команди.

Повноцінне функціонування проєкту неможливо без його управління. Визначення цілей проєкту та проєктної команди недостатньо для гарантованого успіху, а, враховуючи наявність невизначеностей та унікальність кожного проєкту, виникає необхідність у людині або групі людей, які будуть займатись управлінням.

У нашому дослідженні ми розуміємо проєктне управління як використання знань, навичок, інструментів та технік у проєктній діяльності для досягнення проєктних вимог, визначених Project Management Institute [14: 6-7].

Тепер, маючи визначення «проєктне управління», можна розглянути особливості проєктного управління в контексті інженерії програмного забезпечення. Для цього треба проаналізувати підходи або методології розробки програмного забезпечення як елементів проєктного управління в інженерії програмного забезпечення.

Основними групами методологій при розробці програмного забезпечення є Waterfall та Agile. Як приклад, візьмемо Waterfall підхід, який складається з п'яти основних фаз, які йдуть хронологічно одна за іншою [11]: збір вимог; дизайн; виконання; перевірка; підтримка та обслуговування.

Під час фази збору вимог до проєкту вони повинні бути зібрані, структуровані та проаналізовані.

Фаза дизайну складається з двох частин: створення логічного та фізичного дизайну [10]. Підфаза створення логічного дизайну використовує дані з фази збору вимог для проєктування системи, яка є незалежною від усіх наявних програмних та апаратних систем. Як тільки проєктування закінчено, результат підфази трасформується у фізичний дизайн, котрий уже враховує нефункційні вимоги або наявні програмні та апаратні рішення. Додатковим кроком для створення фізичного дизайну може бути також створення оцінки проєкту та/або його складових.

Фаза виконання - це фактично перетворення специфікації, отриманої на фазі дизайну в програмний код.

Під час фази перевірки систему тестують на виконання всіх вимог від замовника, артефакти проєкту передаються замовнику.

Фаза підтримки та обслуговування треба для того, щоб під час використання артефактів проєкту замовником виправляти різноманітні помилки.

Головними перевагами цієї методології можна виділити наступні: помилки в дизайні/архітектурі можуть бути знайдені ще до того, як почнеться розробка програмного забезпечення; велика кількість високоякісної документації є частиною результатів роботи.

Усі фази, окрім першої, виконуються інженерами, які підпорядковуються проєктному менеджеру та працюють у рамках проєктної діяльності та проєктного управління.

Якщо порівняти ці фази з компонентами проєктного управління, ми отримаємо майже повний збіг, окрім, наприклад, управління ризиками, планування та деякі інші. Ці елементи повністю відносяться до проєктного управління, у контексті інженерії програмного забезпечення їх розглядати не є доцільним.

У рамках цієї статті основним елементом дослідження хотілося б виділити такий компонент проєктного управління, як «урегулювання проєктних обмежень: бюджету, ресурсів, ризиків, дедлайнів, якості». У розрізі методології Waterfall це відповідає фазі дизайну проєкту [17].

Згідно з твердженнями A. Stellman та J. Greene, дуже часто програмне забезпечення пишуть заради того, щоб вирішити якісь ургентні проблеми. Стейкхолдери будуть очікувати швидких результатів проєкту та всіляко підштовхувати інженерів та проєктних менеджерів до зменшення часу виконання проєкту [15] та, як результат, заниження естімацій під час фази дизайну. Отже, ургентність виконання, стислі строки та необхідність швидкого результату можна винести як особливості проєктного управління в контексті інженерії програмного забезпечення.

Разом зі стислими строками виконання проєкту безпосередньо залежить від якості розуміння доменної області виконавцями проєкту [12; 9]. Тобто для виконання проєкту вчасно та в повному обсязі, окрім технічних навичок (знання мови програмування, стеку технології, процесів, методологій), виконавці повинні мати розуміння доменної області проєкту. Водночас, відсутність або недостатній рівень розуміння доменної області призводить до некоректної оцінки, що в результаті може спричинити провал проєкту.

Висновки. Основними вимогами до якісного проєктного управління в інженерії програмного забезпечення є: розуміння доменної області проєкту; знання мови програмування, стеку технології, процесів, методологій; навички проєктної діяльності, що характеризуються ургентністю виконання, стислими строками та швидким результатом; здатність до врегулювання проєктних обмежень (бюджету, ресурсів, ризиків, дедлайнів та інше). Перспективу подальших досліджень спрямовуємо на визначення структури готовності майбутніх бакалаврів з інженерії програмного забезпечення до проєктного управління.

Література

бакалавр інженерія програмний управління

1. Асоціація «IT Ukraine». IT Ukraine Report. 2022. URL: https://reports.itukraine.org.ua/ (дата звернення: 30.10.2022)

2. Бублик В.В., Афонін А.О., Борозенний С.О. Особливості впровадження навчальної групової розробки програмних систем. Наукові записки НаУКМА. Серія: Комп'ютерні науки. 2008. Вип. 86. С. 73-77.

3. Жекало Г.І. Цифрова економіка України: проблеми та перспективи розвитку. Науковий вісник Ужгородського національного університету: серія: Міжнародні економічні відносини та світове господарство. 20і 9. Вип. 26. С. 56-60.

4. Кіріленко О., Соколова Є. Досвід використання проєктного навчання під час формування «Soft Skills» бакалаврів з інженерії програмного забезпечення. Редакційна колегія. 2022. С. 232.

5. Кучерук О. Компетентнісний підхід у підготовці майбутніх інженерів-програмістів. Міжнародний науковий журнал «Науковий огляд». 2014. Вип. 2. uRl: https://naukaiournal.org/index.php/naukaiournal/article/view/170/259 (дата звернення: 25.10.2022) __

6. Пан М., Коненко В. ПРОЕКТНИЙ АНАЛІЗ: Конспект Лекцій. Харків: ХНУМГ ім. О.М. Бекетова, 2019. 96 c.

7. Поморова О.В., Говорущенко Т.О. Сучасні проблеми оцінювання якості програмного забезпечення. Радіоелектронні і комп'ютерні системи. 2013. Вип. 64. С. 319-327.

8. Приймак В.М. Управління проектами: навчальний посібник. Київ, 2017. 464 с.

9. Henninger S. Developing Domain Knowledge through the Reuse of Project Experiences. SIGSOFT Software Engineering Notes. 1995. Вип. 20. С. 186-195.

10. Hoffer J.A., George J.F., Valacich J.S. Modern Systems Analysis and Design. Pearson Education, Inc. Upper Saddle River, New Jersey, 2008. 520 р.

11. Hughey D. The Traditional Waterfall Approach. University of Missouri-St. Louis, 2009. URL: https://www.umsl.edu/~hughevd/is6840/waterfall.html (дата звернення: 30.10.2022)

12. Karhu K., Taipale O., Smolander K. Outsourcing and Knowledge Management in Software Testing. 11th International Conference on Evaluation and Assessment in Software Engineering (EASE) (EASE).Gцteborg. 2007. URL: https://www.scienceopen.com/hosted-document? doi=10.14236/ewic/EASE2007.6

13. Цzkan D., Mishra A. Agile Project Management Tools: A Brief Comprative View. Cybernetics and Information Technologies. 2019. Issue 4. С. 17-25.

14. Project Management Institute. A guide to the project management body of knowledge (PMBOK guide). Sixth Edition. Newtown Square, PA. Project Management Institute, 2017.

15. Stellman A., Greene J. Applied software project management. O'Reilly Media, Inc., 2005. 324 p.

16. Shtub A., Bard J., Globerson S. Project management: engineering, technology and implementation. Prentice Hall, Englewood Cliffs. NJ 0763, 1994. 634 p.

17. Van Casteren W. The Waterfall Model and the Agile Methodologies: A comparison by project characteristics. Research Gate. 2017. Issue 2. Р. 1-6.

18. Webster Thesaurus. URL: https://www.merriam-webster.com/ thesaurus/project (дата звернення: 30.10.2022)

References

1. «IT Ukraine» Association (2022). IT Ukraine Report. https://reports.itukraine.org.ua/. [In Ukrainian].

2. Bublyk, V.V., Afonin, A.O., Borozennyi, S.O. (2008). Osoblyvosti vprovadzhennia navchalnoi hrupovoi rozrobky prohramnykh system. [Some peculiarities in implementing educational team development of software systems]. Naukovi zapysky NaUKMA. Seriia: Kompiuterni nauky - Scientific notes NaUKMA. Computer sciences, 86, 73-77. [In Ukrainian].

3. Zhekalo, H.I. (2019). Tsyfrova ekonomika Ukrainy: problemy ta perspektyvy rozvytku. [Digital economy of Ukraine: problems and prospects of development]. Naukovyi visnyk Uzhhorodskoho natsionalnoho universytetu: seriia: Mizhnarodni ekonomichni vidnosyny ta svitove hospodarstvo - Uzhorod National University Herald. International Economic Relations And World Economy, 26 (1), 56-60. [In Ukrainian].

4. Kirilenko, O., Sokolova, Ye. (2022). Dosvid vykorystannia proiektnoho navchannia pid chas formuvannia «Soft Skills» bakalavriv z inzhenerii prohramnoho zabezpechennia. [The experience of using project-based learning during the formation of «Soft Skills» of bachelor's in software engineering]. Redaktsiina kolehiia, 232. [In Ukrainian].

5. Kucheruk, O. (2014). Kompetentnisnyi pidkhid u pidhotovtsi maibutnikh inzheneriv-prohramistiv. [A competent approach in the training of future software engineers]. Mizhnarodnyi naukovyi zhurnal «Naukovyi ohliad» - International science journal «Scientific review», 2 (3). URL: https://naukajournal.org/index.php/naukajournal/article/view/170/259 [In Ukrainian].

6. Pan, M., Konenko, V. (2019). PROEKTNYI ANALIZ: Konspekt Lektsii. [Project analysis: Lectures]. Kharkiv: KhNUMH im. O.M. Beketova. [In Ukrainian].

7. Pomorova, O.V., Hovorushchenko, T.O. (2013). Suchasni problemy otsiniuvannia yakosti prohramnoho zabezpechennia. [The actual problems of software quality evaluation]. Radioelektronni i kompiuterni systemy - Radio-electronic and computer systems, 5, 319-327. [In Ukrainian].

8. Pryimak, V.M. (2017). Upravlinnia proiektamy: navchalnyiposibnyk. [Project management: A study guide]. Kyiv. [In Ukrainian].

9. Henninger, S. (1995). Developing Domain Knowledge through the Reuse of Project Experiences. SIGSOFT Softw. Eng. Notes, 20, 186-195. [In English].

10. Hoffer, J.A., George, J.F., Valacich, J.S. (2008). Modern Systems Analysis and Design. Upper Saddle River, New Jersey: Pearson Education, Inc. [In English].

11. Hughey, D. (2009). The Traditional Waterfall Approach. University of Missouri-St. Louis. URL:https://www.umsl.edu/~hughevd/is6840/waterfall.html. [In English].

12. Karhu, K., Taipale, O., Smolander, K. (2007). Outsourcing and Knowledge Management in Software Testing. 11th International Conference on Evaluation and Assessment in Software Engineering (EASE) (EASE), Gцteborg. https://www.scienceopen.com/hosted - document? doi=10.14236/ewic/EASE2007.6 [In English].

13. Цzkan, D., Mishra, A. (2019). Agile Project Management Tools: A Brief Comprative View. Cybernetics and Information Technologies, 4 (19), 17-25. [In English].

14. Project Management Institute (2017). A guide to the project management body of knowledge (PMBOK guide). Sixth Edition. Newtown Square. [In English].

15. Stellman, A., Greene, J. (2005). Applied software project management. O'Reilly Media, Inc. [In English].

16. Shtub, A., Bard, J., Globerson, S. (1994). Project management: engineering, technology and implementation. Prentice Hall, Englewood Cliffs, NJ 07632. [In English].

17. Van Casteren, W. (2017). The Waterfall Model and the Agile Methodologies: A comparison by project characteristics. Research Gate, 2, 1-6. [In English].

18. Webster Thesaurus.https://www.merriam-webster.com/thesaurus/project. [In English].

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.