Я будую програмну систему для свого магістерського проекту і шукаю поради щодо конкретних методологій, які б відповідали "команді одного чоловіка" ...
Я будую програмну систему для свого магістерського проекту і шукаю поради щодо конкретних методологій, які б відповідали "команді одного чоловіка" ...
Відповіді:
Я заробляю на життя людиною як "програмний пістолет для найму", який працює в основному з дому, тому я вмираю, щоб почути, що інші люди мають про це сказати.
Ось декілька речей, які я вважаю важливими:
Мої інші методи розвивались роками, і я налаштовую їх залежно від проекту та клієнта. Люди платять мені за робочий код, не обманюючи процес, тож я намагаюся утримати процес легким та не в обличчі своїх клієнтів. Але я вважаю, що Agile методи дуже добре працюють для мене:
Інша проблема, що ви працюєте самостійно - у вас немає нікого, щоб сказати вам, що робити або коли, або якщо ви достатньо закінчилися, або коли кинете роботу, тому що ви зробили достатньо - так що ви повинні зробити що для себе. Я особисто віддаю перевагу Scrum, тому що можу відстежувати, як я роблю по відношенню до своїх спринт-цілей. Для проектів Kanban я можу просто відстежити, скільки часу я вкладаю, але мені це не подобається, а також щось більш орієнтоване на цілі.
Деякі мої друзі клянуться Помодоро як спосіб, щоб вони зосереджені на завданнях і відстежують особисту ефективність, і я думаю про те, щоб спробувати це.
У мене також є офіційний процес для випуску коду для моїх клієнтів, щоб переконатися, що вони отримують "правильно", але це, мабуть, поза межами того, про що ви просите.
Використовуйте SVN вище за інше, версія все. Для відстеження ноутбук буде робити для більш простих проектів, якщо потрібно, у вас є багато безкоштовних програм для відстеження завдань / помилок (Redmine - це круто). Agile / XP / Безперервна інтеграція / інші, на мою думку, будуть трохи зайвими.
Окрім процесу персонального програмного забезпечення , я не знайшов багато інформації про формальні моделі процесів, розроблені для використання одним розробником. Програма PSP досить важка для документації та оформлення документів (у будь-якому випадку в сирому вигляді), особливо не варто говорити про конкретні методи виконання робіт (натомість, PSP зосереджується на зборі даних, щоб знайти сфери для вдосконалення), але це є початковим точка для розвитку особистого процесу, який ви можете використовувати в мало-середніх проектах.
Я думаю, що найкращим способом дій було б просто слідувати деяким належним чином обраним (виходячи з ваших потреб та проекту) широко прийнятим кращим практичним досвідом з ряду моделей процесів. Погляньте на методи відстеження виконаної роботи / роботи, що залишилася, керування вимогами, контроль версій, тестування (особливо тестування одиниць та прийняття), постійну інтеграцію, стандарти кодування, You Ain't Gonna Need It тощо. Якщо ви цього не зробили, я пропоную прочитати програму Code Complete і «Прагматичний програміст» і виконувати їхні поради.
Найголовніше в індивідуальній роботі - це те, що окрім будь-яких обмежень, накладених на вас сторонніми силами, все залежить від вас. Вам не потрібно розміщувати когось іншого, хто працює поруч, тому простіше вибрати методи, які дозволять вам працювати найефективнішим способом. З роками ви, напевно, зрозуміли, як вам найкраще працювати, тож це було б гарною відправною точкою. Потім застосуйте відомі "найкращі практики", щоб покращити свої здібності та методи.
Хлопець запитує про конкретні методології, і люди відповідають "використовувати програмне забезпечення X / Y". НЕ є питанням інструментів, насправді існує багато методологій, і, схоже, для них ще немає звіту про перевірку: Agile, Iterative, Spiral, Waterfall, XP, V-Model, TDD.