Складною знайти людину, який не бажав би, щоб до нього ставилися з повагою. Але для такого стану справ повинна бути причина. Наприклад, коли людина є висококласним визнаним фахівцем у сфері розробки програмного забезпечення. А для цього необхідно вчитися. І в рамках цієї статті буде розглянуто, що таке Agile, яка користь від неї, і як розібратися в цій технології.
Спочатку давайте розберемося з технічними моментами. Що собою являє Agile? Переклад (дослівний) цього слова з англійської мови – «живий, рухливий», трохи рідше згадується «гнучкий». І до речі, це скорочення. Повна назва цього підходу це Agile software development. Але оскільки це занадто довго, і було вирішено скоротити. І зараз кажуть просто Agile. Переклад як «гнучкий» використовується з-за того, що він найбільшою мірою відповідає реальній ситуації.
Продовжуємо розглядати, що таке Agile. Тут хочеться сконцентрувати увагу на тому, що це гнучкий підхід, в основі якого лежить безліч різних методологій (Scrum, ХР, "Канбан", Lean). Для того щоб краще розібратися в темі, давайте проведемо паралелі. Припустимо, що Agile-технології – це процес зародження Всесвіту. Кінцевий продукт – безпосередньо сам існуючий світ. А великий вибух – це найбільш болюча проблема, з якою доводиться тільки зустрічатися, – зміна переліку вимог до продукту. Зазвичай процеси створення передбачають використання каскадної моделі. В цьому випадку все йде послідовно по етапах. Такий підхід можна висловити коротко: бачу мета – йду до неї. І якщо змінюються вимоги до кінцевого результату, то іноді доводиться переробляти заново чи не всі. Що ще ускладнює таку ситуацію, так це спроба зробити вигляд, що все нормально, і потрібно рухатися вперед.
Більше:
Розширення "Економія трафіку Google Chrome
У статті піде мова про те, як здійснюється економія трафіку в Google Chrome. Цей режим ще називають "Турбо", і його практично кожен спостерігав в таких браузерах, як Yandex Browser або Opera. Проте в Google Chrome даний компонент відсутній, і заощади...
Смайли в "Скайпі" - опис, застосування, секрети
Skype - програма, якою користуються багато людей. Вона призначена спеціально для спілкування і обміну даними. Як і будь-який інший месенджер, "Скайп" оснащений чудовим інтерфейсом і графічними елементами. Тут можна виражати емоції різними способами. ...
Ресурс вогняна сіль в "Скайриме"
Матеріал у грі «Скайрим» вогняна сіль має ряд застосувань, які будуть корисні для гравця. Цей предмет можна дістати кількома способами, які варто знати користувачу. Стаття надає всю потрібну інформацію з цього ресурсу.ВидобутокУ проекті ж...
І ось Agile, методологія управління, покликана боротися з усім цим завдяки своїй гнучкості. Ця збірна "солянка" мінімізує різні ризики за допомогою використання наборів принципів. Всі вони відображені в Agile-маніфесті, випущеному в 2001 році. Якщо коротко, то звучать вони наступним чином:
Може здатися, надто розпливчасто і не точно, але давайте деталізуємо.
Розглядаючи, що таке Agile, давайте звернемося до однієї з найбільш популярних методичок, відомої як "Скрам" (Scrum). Що ж він пропонує? Для початку потрібно:
Методологія управління незалежно від обраного напрямку завжди володіє такими особливостями:
Давайте уявимо річку. На одному березі замовник. На другому – команда. У такому разі гнучка методологія розробки має переваги для всіх:
Коли розповідається, що таке Agile, зазвичай говорять виключно про позитивні моменти. І дійсно, поліпшується взаємодія всередині команди. Всі люди фокусуються на одній ідеї, не створюють секрети між собою, беруть на себе зобов'язання. Як результат, командапрацює в комфортних умовах і швидкому темпі. Такий підхід дозволяє впорядкувати хаос.
З моменту свого формування він зміг знайти визнання в технологічних галузях. На даний момент широко використовується для проектування нових програмних продуктів. Але в рамках загальному ділової практики подібний підхід все ще маловідомий. Тому до нього обережно ставляться ті, хто не зустрічався з Agile раніше. Також слід розуміти, що його слід застосовувати тільки в тих випадках, коли перед людьми стоїть завдання інтелектуальної праці.
Давайте розглянемо, як працюють ці методології розробки ПЗ. Припустимо, у нас є Петро, власник продукту. Він не знає технічних деталей, зате у нього є бачення загальної картини. Він знає, навіщо потрібний продукт, які проблеми він буде вирішувати, кого задовольнить. Також є зацікавлені особи. Вони можуть використовувати продукт, підтримувати його створення або ж як ще бути залученими до його створення. Можна внести ще й власні історії, в яких висловлюються побажання зацікавлених осіб. Наприклад: система бронювання квитків на рейсові автобуси Москва-Санкт-Петербург повинна мати пошук по рейсам. Петро буде допомагати зацікавленим особам. Він візьме під контроль реалізацію ідей користувальницьких історій. Також є команда розробників. Це люди, що будуть будувати робочу систему.
Оскільки використовується гнучка методологія розробки, то користувальницькі історії не накопичуються до великого релізу, а випускаються відразу після завершення і як можна частіше. Кількість опрацьованих звернень становить пропускну здатність команди на тиждень. Щоб не втратити темп і не загрузнути в ручному тестуванні, команда повинна працювати над автоматизованої інтеграцією. У чому вона полягає? Для кожного робочого моменту пишеться автоматичний тест. Якщо історій дуже багато, то може виникнути поспіх, втрата мотивації, зниження продуктивності і якості. На такі випадки передбачено метод «вчорашня погода». Він полягає в тому, що треба встановити жорсткі рамки кількості роботи і ретельно вибирати, що саме буде реалізовуватися. Згаданий раніше "Канбан" пропонує встановлювати ліміт завдань.
Гаразд, ось команда вирішила, що вона може обробляти чотири історії на тиждень. Але як зорієнтуватися у всім, що є? Припустимо, користувачі підкидають по десять історій на тиждень. Обробляється чотири. Таким чином, черга буде постійно зростати. На цей випадок є тільки один ефективний метод – слово "ні". Для власника продукту це надзвичайно важливо. Сказати «так» не важко. Значно складніше і важливіше вирішити, що робити не потрібно. Причому за це потрібно нести відповідальність. Тому слід вирішувати, чому приділяти увагу зараз, а що слід відкласти. Щоб правильно розставляти пріоритети, потрібно щоб власник продукту розумів цінність і обсяг кожної історії.
Частина історій надзвичайно потрібна. Інші ж просто являють собою приємний бонус. Одні історії будуть розроблятися кілька годин. На створення інших підуть місяці. Багато часто проводять співвідношення між розміром історії та її цінністю. Але це не завжди правильно. Більше – не рівнозначно краще. Петру правильно розглядати пріоритети допомагає складність і цінність виконуваної задачі. Як визначити ці характеристики в кількісному значенні? Та ніяк. Це справжня гра в угадайку. І для більшої ефективності в неї необхідно залучати досить багато людей. Це і команда розробників, яка поінформує про обсяг робіт, і зацікавлені особи. Але слід розуміти, що всі дані, отримані таким способом, являють собою приблизні здогадки. Тут не буває точних цифр. Спочатку будуть промахи. Але у міру отримання досвіду їх кількість і масштаб будуть знижуватися.
Для уникнення проблем необхідно дати чесні відповіді на ряд питань. Це:
В даному випадку необхідні знання. Їх можна розглядати як протилежності ризиків. Коли фіксується значний рівень невизначеності, то ми здобуваємо знання – наприклад, створюємо прототипи інтерфейсу або технічні експерименти. І вже володіючи ними, приймаємо рішення про те, в якому напрямку слід рухатися.
IT-індустрія надзвичайно швидко розвивається, і щоб не програти в кінцевому підсумку, необхідно постійно навчатися, підвищувати кваліфікацію і ефективність роботи. Тому як ніколи актуальні питання навчання та впровадження. З чого почати? Найкращий варіант – це кооперація з компанією, де вже застосовується Agile. Навчання в такому випадку буде проводитися людьми, які не з чуток знають, що собою являє гнучка розробка. Але таке, на жаль, не завжди можливо. Найчастіше залучається сторонній фахівець, який знає, що собою являє Agile. Впровадження цього підходу здійснюється під йогонаглядом. Правда, послуги такого фахівця коштують грошей. Але якщо залучити дійсно знаючої людини, то всі витрати окупляться сторицею. Адже в сучасному світі ефективність співробітників грає важливу роль.
Методології розробки ПЗ постійно розвиваються. Шукають нові шляхи й можливості підвищення ефективності діяльності і роботи. Сказати, що нас чекає в майбутньому, досить проблематично. Ймовірно, гнучка система розробки буде інтегрована з засобами автоматизації виробничих процесів. Наприклад, можна буде вирішувати проблеми, навіть перебуваючи на відстані від місцезнаходження компанії. Багато в чому визначають майбутнє нові інформаційні технології. Адже коли вони виникають, то потрібно освоювати нові методи роботи з ними. І в цьому випадку виникає розвиток, замкнутий в циклі.
Ось і закінчився екскурс в гнучкі методи розробки. Але слід нагадати, що одна справа теорія, а зовсім інше – практика. Нові інформаційні технології, що постійно виникають, кидають виклики численному спільноти розробників. Як зробити діяльність команди більш ефективною? Відповідь на це питання кожен знаходить сам. Представлена тут інформація може бути використана для того, щоб оформити кістяк. Але на практиці доведеться працювати з наявною моделлю і доводити положення справ до стану відповідності існуючим викликам. Тоді команда зможе ефективно виконувати поставлені перед нею цілі.
Article in other languages:
Alin Trodden - автор статті, редактор
"Привіт, Я Алін Тродден. Я пишу тексти, читаю книги і шукаю враження. І я непогано вмію розповідати вам про це. Я завжди радий брати участь у цікавих проектах."
Новини
Як побудувати графік в Excel? Поетапна інструкція для новачків
Сьогодні пакет Microsoft Office являє собою один з найбільш потужних, сучасних, зручних і багатофункціональних комплексів, який користується заслуженою популярністю не лише на великих підприємствах і в установах, але і ідеально пі...
Як перевірити пінг в системі Windows
Якщо у вас є комп'ютер, підключений до глобальної мережі Інтернет, то просто необхідно знати, як перевірити пінг. Особливо це актуально для любителів мережевих баталій, де навіть секундне зволікання часто означає загибель пе...
Як записати ISO на флешку. Основні моменти
Іноді необхідно скористатися образом диска, проте немає можливості записати його на носій або пристрій просто не здатне відтворити його. І тут цілком закономірно може виникнути питання про те, як записати ISO на флешку, адже часто...
Кращі стратегії про Другу світову війну
Одні проекти про Другу світову війну носять глибокий патріотичний характер. Інші описують знаменні історичні події тих часів. Треті включають в себе і те і інше. У даній статті будуть обговорюватися ігри жанру RTS-стратегії (про Д...
Гра Darkness: The New Order. Системні вимоги Wolfenstein: The New Order
Жанр шутерів на сьогоднішній день, як вважають численні геймери, знаходиться в глибокому занепаді. Дійсно, «стрілялки» вже втратили колишню популярність. Мало того, що можна придумати нового в цьому жанрі? Та, власне, ...
Файл підкачки Windows 7. Де знаходиться і як правильно його налаштувати
У випадках, коли комп'ютер не вистачає оперативної пам'яті, використовується файл підкачки Windows 7. Де знаходиться цей файл, ви дізнаєтеся, прочитавши статтю. Крім того, дотримуючись порад досвідчених користувачів, ви зможете ви...
Примітка (0)
Ця стаття не має коментарів, будьте першим!