Визначте замовника.
Це інша компанія? Ще одна людина?
Це ще одна команда у вашій компанії?
Це продукт-чемпіон у вашій компанії?
Це ви?
Все вищесказане можливо, і цілком розумно залежно від обставин. Ви не хочете робити жодного погляду вниз по тунелі щодо того, що це таке Agile, так що, скажімо, остаточний " НІ" був би невірним. ТАК, з іншого боку, вимагає трохи побічного мислення.
Подумайте над словом Agile на мить. Дуже розумна група людей, що ввели цей термін, не могла вибрати кращу метафору для концепції, яку вони намагалися описати. Коли ви говорите спритність , що вам спадає на думку? Будучи флотом пішки? Швидко реагувати можливо? Швидке пристосування?
Тепер подумайте про всі загальноприйняті практики Agile там і запитайте себе, що вони насправді досягають методів розробки програмного забезпечення, які вважаються спритними .
Я - замовник всіх намірів і цілей моїх сольних проектів. Я навіть іноді ношу справжню шапку, коли мені дуже хочеться змінити свою роль клієнта . Це робить мене не менш спритним, ніж я, коли я на роботі. За всім, що мені байдуже, моя кішка може бути менеджером. Він гарантує, що я раз на час перерву відпочиваю, і нагадує мені уникати занадто одержимих будь-яким одним завданням. Ви можете віддати перевагу використанню вашої фантазії "Pomadoro Technique", але я віддаю перевагу таймеру "Rascal" !! Вся справа в тому, що я працюю в суворо Agile процесі, коли пишу код для себе. Я не тип ковбоя-хакера, який живе життям нескінченних стрибків розвитку і нічого не досягає. Мені подобається розробляти своє програмне забезпечення, планувати розробки навколо моєї роботи та особистого життя та завершувати його таким чином, як я б очікував зробити, якби працював на справжнього замовника. Коли речі переривають мій графік, я відповідно коригую і визначаю пріоритетність своєї роботи над проектом. Я використовую всі стандартні методи Agile та методи, які я можу застосувати сольно, і я "доставляю" робочий код собі (або другові або колезі для тестування) якомога частіше. Якщо все це не спритно, я запитаю, що це?
Тому моя відповідь - так , ви можете бути розробником Agile Software, і ви можете застосувати методологію Agile, і вам не обов’язково потрібен клієнт або навіть менеджер. Ви можете працювати над проектом самостійно і носити кілька шапок. Однак, можливо, не є ідеальним відмовитися від інших ролей, оскільки дуже корисно співпрацювати з іншими для досягнення мети. Вони виступають як озвучувальна дошка для ваших ідей, і вони подають вам вимоги, які в іншому випадку вам може бути важко зробити розумно самостійно. Інша дуже важлива роль, яку задовольняють клієнт та менеджер, - це те, щоб ви зосереджувались на своїх цілях, без нескінченного додавання функцій та вдосконалення свого коду, ніж те, що може бути вкрай необхідним.
Однак якщо ви працюєте дисципліновано, чітко дотримуючись своєї методології вибору, і застосовуєте Agile практики, і якщо ви отримуєте сторонне спостереження, або ви передумаєте (коли носите капелюх клієнта) та дизайн продукту чи напрямок продукту по черзі, якщо ви зможете адаптувати свій графік і коригувати свої пріоритети так, як ви б вважали, що ваш клієнт очікує від вас, тоді ви станете спритними.