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

Особливості групової динаміки в інженерії програмного забезпечення Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
241
83
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
програмна інженерія / групова динаміка / розроблення програмного забезпечення / професійне спілкування / розподіл ролей / software engineering / group dynamics / software development / professional communication / role distribution

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — М. С. Пасєка

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Some Aspects of Group Dynamics in Software Engineering

The specific features of the development of software applications, especially the impact of professional aspects of group dynamics and communication within the team and requirements to the personal qualities of specialists in software engineering are studied. A systematic analysis of the classification personal skills of specialists in software engineering, in the context of group dynamics the development of computer programs and professional communication while working on the project is made. Workflow and management problems in dynamic groups of developers of software applications are analyzed. A typical distribution of roles in groups up to ten people is proposed. The effective use of group dynamics methodology that provides high morale of the team and leads to increased productivity and discipline of the staff in the development team of software applications is proposed.

Текст научной работы на тему «Особливості групової динаміки в інженерії програмного забезпечення»

12. Dillon B. Inzhenernye methods of providing of reliability of the systems / B. Dillon, Ch. Singkh. - М. : Publisher "The World", 1984. - 318 p. (Russian edition).

13. Pronikov A.S. Reliability of Machines / A.S. Pronikov. - M. : Publisher "Mechanical Engineering", 1978. - 592 p. (Russian edition).

14. Movchan I.A. Determination of the projected time fighting a fire in the industry / I.A. Movchan, E.N. Hulida, D.P. Voytovych // Problems of Fire Safety. - Kharkov, Ukraine UCD, 2008. - Vol. 23. - Pp. 241-247. (Ukrainian edition).

15. Ivannikov V.P. Reference head of fire extinguishing. / V.P. Ivannikov, P.P. Klyus. - М. : Publisher "Stroyizdat", 1987. - 288 p. (Russian edition).

Мовчан I. О. Методика визначення ризику збшьшення тривалост часу лжвщацп пожеж1

Розроблено метод визначення ризику збшьшення тривалост часу процесу лжвща-цп пожежi на об'ект з використанням основних положень теорп надшносй з розроб-лення функщональних моделей ризику кожно'1 технолопчно!' операци процесу лжвща-ци пожеж^ на шдсташ яких отримано математичну модель ризику збшьшення трива-лостi часу лiквiдацiï пожежi зi встановленням впливу складових ризику на забезпече-нiсть проектами та програмами кожно'1 технологiчноï операци, яка впливае на ефектив-нiсть гасшня пожежi.

Ключовi слова: пожежа, лжвщацш пожежi, ризик збiльшення тривалостi часу лш-вiдацiï пожежi, математична модель, розподш Вейбулла, експоненцiальний розподiл, нормальний розподiл, iнформацiйнi технологи.

Movchan I.O. The Methods of Determining the Risk of Increasing the Length of Time for the Fire Suppression

The method of determining the risk of an increase in the length of time needed for the process of fire elimination at the facility using the basic principles of the theory of reliability with the development of functional models of risk each technological operation process of fire suppression on which mathematical models of risk increasing the length of time of the fire extinguishing installation components influence risk security projects and programs of each technological operation which affects the efficiency of fire fighting.

Keywords: fire, fire suppression, the risk of increasing the length of time for fire suppression, mathematical model, Weibull distribution, exponential distribution, normal distribution, information technology.

УДК 004.42 Доц. М.С. Пасека, канд. техн. наук -

1вано-Франшвський НТУ нафти i газу

ОСОБЛИВОСТ1 ГРУПОВО1 ДИНАМ1КИ В 1НЖЕНЕРН ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

Дослщжено специфику розроблення програмних додатюв, особливост впливу професшних аспект]в групово! динамши та комуншацп всередиш команди й вимоги до особисйсних якостей спещашстш з програмно! шженерп. Проведено системна аналiз класифiкацií особистих якостей спецiалiстiв з програмно! шженерп, у контекст групово! динамши розроблено комп'ютерних програм та професшного спiлкування пiд час роботи над проектом. Проаналiзовано особливостi органiзацi'í робочого процесу i проб-леми управлшня у динамiчних групах розробниюв програмних додатюв, а також запро-поновано типовий розподiл ролей у групах до десяти оиб. Запропоновано ефективне використання методологи групово! динамiки, що забезпечуе вищий моральна дух команди i приводить до шдвищення продуктивностi працi та дисципл^ни персоналу в ко-мандi розробниюв програмних додатюв.

Ключовi слова: програмна шженерш, групова динамика, розроблено програмного забезпечення, професiйне спшкування, розподш ролей.

5. !нформацшш технологи raay3i

391

Нащональний лкотехшчний yнiверситет Украши

Актуальшсть. Розpоблення пpогpaмного зaбезпечення - це сктадний теxнологiчний пpоцес з викоpистaнням piзномaнiтниx iнфоpмaцiйниx теxноло-гiй i комaнд pозpобникiв. Основну pоль yспiшностi пpогpaмного бiзнес-пpоектy вiдiгpae гpyпa pозpобникiв тa ïï гpyповa динaмiкa, pозмip, pозтaшyвaння i pоз-подал повновaжень, a тaкож ноpмaтивнi обмеження й вимоги yпpaвлiння. Ha сьогоднi не кнуе yнiвеpсaльноï фоpмyли aбо теxнологiï для виpiшення всix пот-pеб pозpоблення пpогpaмного зaбезпечення.

Динaмiчнi гpyпи pозpобникiв пpогpaмного зaбезпечення пpaцюють y pi3rax yмовax, i cпpaвдi кожнa комaндa пеpебyвae в yнiкaльнiй cитyaцiï. Суть ^облеми в тому, що pозpобники мaють aдaптyвaти вci сво!' здания i пiдxоди, щоб вiдобpaзити pmm^ з якими може зiткнyтиcя динaмiчнa гpyпa.

Системний aнaлiз дослщжень i пyблiкaцiй. Теоpетичне пвдфунтя оп-paцювaння цieï пpоблеми пpофеciйного cпiлкyвaння вiдобpaжено в opau^x ви-чизняниx i зapyбiжниx доcлiдникiв: Л. Буево!, Г. Бaтивощевоï, С. Амелiноï, Л. Бapaновcькоï, О. Дaниленко тa iн. [4-6]. Когштивш знaння у гaлyзi пpогpaм-ноï iнженеpiï й фоpмyвaння пpофеciйниx якостей iнженеpiв з opогpaмного 3a-безпечення opоaнaлiзyвaли тaкi вченi: О. Кipиленко, О. Лyчшевa, Н. Шдадко, Д. Щедpолоcьeв, Ф. Бpyкc, Г. Вейнбеpг, Н. Вipт тa ш. [1, 2].

Резyльтaти aнaлiзy пpaць з цieï opоблемaтики cвiдчaть пpо те, що yвaгa доcлiдникiв головним чином aкцентовaнa нa вивченi тшьки окpемиx acпектiв opофеciйного cпiлкyвaння, здебшьшого комyнiкaтивного. У cyчacниx досль дженняx мгло yвaги opидiляють cпецифiцi пpофеciйноï дiяльноcтi iнженеpiв з opогpaмного зaбезпечення в acпектi фоpмyвaння готовноcтi до opофеciйного cпiлкyвaння.

Оcобливоcтi групово'1 динамжи розроблення nporpaMHoro забезпе-чення. Гpyповa динaмiки бaзyeтьcя нa поняттi ^упи pозpобникiв тa комушта-цiï вcеpединi не1", визнaчae cклaд i взaeмодiю як членiв гpyп мiж собою, тaк i мiж гpyпaми [3, 7]. До пpоцеciв гpyповоï диншши вiдноcять: кеpiвництво й ль деpcтво, фоpмyвaння гpyповоï динaмiки, згypтовaнicть ^упи, нaцiленicть гpyпи нa ycпix, конфлшти i т. iн. Швидкi змши в гaлyзi iнфоpмaцiйниx теxнологiй тa iншиx виpобничиx i невиpобничиx cфеpax зумовлюють потpебy у pозpобленнi cклaднiшиx opогpaмниx opодyктiв i викоpиcтaннi iнновaцiйниx методик. Як нacлiдок, pинок пpaцi cтaвить пеpед мaйбyтнiми фaxiвцями яккш вимоги до opофеciйноï квaлiфiкaцiï тa оcобиcтicниx xapaктеpиcтик.

У зв'язку з особливими acпектaми pозpоблення opогpaмного зaбезпечен-ня aкцент у дiяльноcтi IТ-cпецiaлicтa pобитьcя нa aбcтpaкцiю, моделювaння, оp-гaнiзaцiю тa подaння iнфоpмaцiï, yпpaвлiння змiнaми, a тaкож pеaлiзaцiю пpоек-ту i контpоль якоcтi, mi в тpaдицiйномy iнженеpномy циклi зaзвичaй вiдноcять до фaз opоектyвaння бiзнеc-пpоцеcy. Кpiм цього, opоцеc cyopоводy е EpHraHro вaжливим для opогpaмного зaбезпечення. Пpогpaмне зaбезпечення pозpобля-ють для piзниx opиклaдниx облacтей, тому rr^axiEnj мaють володiти доcвiдом i освиою у вiдповiднiй opедметнiй облacтi тa cyмiжними облacтями. Це дae ш змогу ефективно викоpиcтовyвaти cпецифiчнi для opедметноï облacтi методи, зacоби i компоненти.

392

Збiрник HayKoBo-техшчних праць

Розроблення комп'ютерних програм у сучасних реал1ях е масовою про-фескю, але одночасно, за думкою академка А. П. бршова, це одна з найважчих професш. Складнкть полягае в тому, що програмкт мае володати здатнктю першокласного математика до абстракцц й лопчного мислення у поеднант з Едкотвським талантом споруджувати все що завгодно, з нуля i одинищ. Вш мае поеднувати акуратнкть бухгалтера з провшцшнктю розвщника, фантазда автора детективних ромашв з тверезою практичнктю економкта, окрш цього, програмкт повинен мати смак до колективно! роботи, розумгги 1нтереси корис-тувача i т. ш. [2].

Пров1вши системний анатз, визначено типов1 ситуацц, з якими на цей час стикаються команди розробниюв програмного забезпечення. Не дивно, що внаслщок анашу з'ясувалося, що команди розроблення програмного забезпечення працюють у дуже широкому д1апазош ситуацш. Залежно в1д б1знес-ви-мог розробники об'еднуються в невелик! команди по 10 ос1б або менше, середт команди розробниюв програмного забезпечення мають вщ 11 до 50 ос1б, i дуже велит команди, ят мають понад 50 ос1б. Мал1 команди, зазвичай, зосереджеш в одному мкщ, проте використання сучасних комункащйних технологш дае змогу створити команди, розподшет географ1чно тим або шшим способом. Де-як1 команди стикаються з вщносно простими проблемами розвитку, але здебшь-шого команди стикаються з1 значними техшчними i технолопчними складностями. Ус1 щ особливосп - розм1р команди, географ1чний розподш, розподш ор-гашзацшних повноважень, техшчно1 складаосп та нормативних проблем - мають великий вплив на те, як працюють команди i як вони самооргашзуються.

Враховуючи достатньо великий спектр проблем, з якими стикаються групи розробнитв програмного забезпечення, стае зрозумшо, що команди мають бути гнучкими у сво'х шдходах. Команда з п'яти чоловк, як1 працюють над програмним проектом будуть працювати по-шшому, шж команда з 20 ос1б, як1, водночас, працюють по-шшому, шж команда 1з 200 ос1б. Команда, яка розмще-на в одному офк1, буде працювати по-1ншому, шж команда, яка розсдаеться по р1зних офках, яка працюе по-шшому поршняно з командою, що розкидана ге-ограф1чно. Команди у р1зних ситуащях вимагають особлив1 оргашзацшш структури, р1зн1 розбиття програмних модулш для забезпечення б1знес-процесу та в1дм1нш оснащения конф1гурацш. Групи бшьшого розм1ру потребують шир-шого професшного сшлкування та значних оргашзацшних витрат, а отже, мають бшьший ризик, шж менш1 команди. Координащя у межах невелико!' Agile команди вир1шуеться шляхом щоденних стендап-мггинпв та раз на два тижш детального планування елеменпв комп'ютерно! програми, а також розподш зав-дань м1ж учасниками групи розробниюв. Для середнх команд може знадобити-ся два р1вш координацп розробниюв програмного забезпечення stand-up meeting, i "scrum of scrum", а також мггинг детального планування з розподшом завдань всередиш групи [8-10].

На рис. 1 наведено типовий розподш ролей у команд! розробнитв програмного забезпечення до 5 ос1б (мала типова група розробниюв). На рис. 2 наведено типовий розподш ролей у команд! розробниюв програмного забезпечення вщ 6 до 10 ос1б. Ефективнкть розроблення програмного б1знес-додатку за-

5. Iнформацiйнi технологи raay3i

393

Нащональний лкотехшчний унiверситет Укра'ши

лежно вщ кiлькiсного складу групи наведено на рис. 3. Один шаблон не тдхо-дить для Bcix випадюв i не буде нiколи тдходити.

Рис. 1. РозподЫ ролей у групах до 5 oci6 Рис. 2. РозподЫ ролей у грут eid 6 до 10 oci6

О 10 20 30 40 50 60 70 80 90 Рис. 3. Результати аналиу устшност1 проект1в залежно eid к1лькост1 розробнитв

Необхщшсть бшьш гнучко'1 структури команди за допомогою архкекту-ри тдприемства i керування стратепями в рамках розвитку може ускладнити керування групою розробникiв програмного забезпечення. Розроблення прог-рамного забезпечення може бути дуже непростим, наприклад велика програма, оргашзована в п'ять або бiльше тдгрупи, вимагае набагато бiльш складних ор-ганiзацiйних структур для виршення архкектурно'1 еволюцií, управлiння вимо-гами та питаниями узгодження мiж групами. Складност координацп стратеги збiльшують ризики команди на фатальне завершення бiзнес-проекту, цим самим збiльшуючи загальну складшсть у динамiчнiй групi розробиикiв програм-ного забезпечення.

Висновок. Проведений аналiз показав, що використання Agile software development технологи тд час розроблення програмного забезпечення е ефек-тивнiше, анiж розроблення без використання Agile. Окрiм цього, використання методологи групово'1 динамiки Agile забезпечуе вищий моральний дух команди, що призводить до тдвищення продуктивност працi та дисциплiни персоналу в командi розробникiв програмних додаткiв.

394

Збiрник науково-технiчних праць

^уювий вкник НЛТУ Укpaïни. - 2G15. - Вип. 25.3

Лiтература

1. Брукс, Ф. Mифический человеко-месяц или как создаются программные системы / Ф. Брукс. - СПб. : Изд-во "Символ-Плюс". 1999. - 304 с.

2. Ершов, А.Д. О человеческом и эстетическом факторах в программировании / А.Д. Ершов // Кибернетика : сб. науч. тр. - 1972. - № S. - С. 9S-99.

3. Mакконнелл, С. Профессиональная разработка программного обеспечения : пер. с англ. / С. Mакконнел. - СПб. : Изд-во "Символ-Плюс", 2006. - 240 с.

4. Рекомендации по преподаванию программной инженерии и информатики в университетах. - M. : ИНТУИТ.РУ "Интернет-Университет Информационных Технологий", 2007. - 462 с.

5. Соммервилл, И. Инженерия программного обеспечения : пер. с англ. / И. Соммервил. -M. : Изд-во "Вильямс", 2002. - 624 с.

6. Шафер, Д. Управление программными проектами: достижение оптимального качества при минимуме затрат / Д. Шафер. - M. : Изд-во "Вильямс", 2003. - 1136 с.

7. Шнейдерман, Б. Психология программирования человеческие факторы в вычислительных и информационных системах / Б. Шнейдерман. - M. : Изд-во "Радио и связь", 1984. - 304 с.

8. Jones, Capers, "Assessment and Control of Software Risks", Englewood Cliffs, NJ: Yourdon Press, 1994.

9. Guide to the Software Engineering Body of Knowledge (SWEBOK). [Electronic resource]. -Mode of access http://www.swebok.org.

10. Lakhanpal, B. "Understanding the Factors Influencing the Performance of Software Development Groups: An Exploratory Group#Level Analysis" / B. Lakhanpal // Information and Software Technology. - 1993. - Vol. 35(8). - Pp. 468-473.

Пасека Н.С. Аспекты групповой динамики в инженерии программного обеспечения

Исследована специфика разработки программных приложений, особенности влияния профессиональных аспектов групповой динамики и коммуникации внутри команды и требования к личностным качествам специалистов по программной инженерии. Проведен системный анализ классификации личных качеств специалистов по программной инженерии, в контексте групповой динамики разработки компьютерных программ и профессионального общения во время работы над проектом. Проанализированы особенности организации рабочего процесса и проблемы управления в динамических группах разработчиков программных приложений, а также предложено типичное распределение ролей в группах до десяти человек. Предложено эффективное использование методологии групповой динамики, что обеспечивает высокое моральное состояние команды и приводит к повышению производительности труда и дисциплине персонала в команде разработчиков программных приложений.

Ключевые слова: программная инженерия, групповая динамика, разработка программного обеспечения, профессиональное общение, распределение ролей.

Pasyeka M.S. Some Aspects of Group Dynamics in Software Engineering

The specific features of the development of software applications, especially the impact of professional aspects of group dynamics and communication within the team and requirements to the personal qualities of specialists in software engineering are studied. A systematic analysis of the classification personal skills of specialists in software engineering, in the context of group dynamics the development of computer programs and professional communication while working on the project is made. Workflow and management problems in dynamic groups of developers of software applications are analyzed. A typical distribution of roles in groups up to ten people is proposed. The effective use of group dynamics methodology that provides high morale of the team and leads to increased productivity and discipline of the staff in the development team of software applications is proposed.

Keywords: software engineering, group dynamics, software development, professional communication, role distribution.

5. Iнфopмaцiйнi технoлoriï гaлyзi

395

i Надоели баннеры? Вы всегда можете отключить рекламу.