rshaibakov
@rshaibakov
Web-разработчик

Как организовать процесс процесс разработки одиночке?

Собственно этот вопрос поднимался ни раз. Но он не затрагивал некоторых тем, которые интересуют меня.
Если ты разрабатываешь один, нужно (оправдано) ли:
  1. вести проект по методологиям Scrum или Agile
  2. внедрять GitFlow
  3. использовать практику непрерывной интеграции (CI)
  4. деплоить проекты через Docker

Сейчас про эти вещи говорит каждый кому не лень. И все в одно горло кричат, что это облегчает процесс разработки.
Я пытался самостоятельно разобраться во всех этих новых технологиях и методологиях. И если по Agile и GitFlow мне все понятно, то по остальным вещам у меня возникли трудности.
В следствии, у меня возник вопрос, а нужно ли мне это, человеку который ведет разработку в одиночку?
Было бы здорово, если бы вы поделились своим опытом разработки в одиночку.
  • Вопрос задан
  • 834 просмотра
Решения вопроса 1
@Panamer
CI да.
Больше автоматизирует нудное тестирование. Упрощает выкладку новых версий. Твоя работа будет легче, меньше ошибаться будешь.

Docker удобным образом вписывается в CI. Более того, современный софт подразумевает контейнеры для CI. Как правило это Docker.

Методологии Agilie, gitflow и пр. смысла лишены. При работе команды имеют смысл. При работе в одного - внутри своего мозга вы куда быстрее и куда лучше договоритесь.

Порядок в Git смысл имеет даже при работе в одного

P.S. gitfow и CI это противоречивые вещи.
Gitflow подразумевает выпуск кумулятивных релизов. И их поддержку (hotfix'ы).

А CI предполагает прямо противоположенное - непрерывные изменения. Без явно выраженных версий

Gitflow хорошо подходит под выпуск к примеру определенных версий Linux (ради чего и создан git), тут целесообразен полный gitfow.

В то время как например GitHub модернизирует себя постоянно и потому обходится без gitflow.
Пруф https://m.habrahabr.ru/post/189046/

Я сомневаюсь что одиночному разработчику под силу поддерживать несколько разных релизов (именно для этого нужен gitflow)
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
saboteur_kiev
@saboteur_kiev Куратор тега Организация работы
software engineer
Методология - нет
воркфлоу и CI - да
докер - возможно

Методологии нужны для того, чтобы организовать работу команды над проектом. В основном - чтобы минимизировать простои в команде, повысив общую производительность.
В одиночку вы можете попытаться имитировать самоорганизацию команды, но так, как никакого видимого результата в этом не будет, быстро надоест. Например, ежедневный стендап, где все делятся друг с другом что происходит- будет выглядеть глупо в команде из одного человека.
Ответ написан
petermzg
@petermzg
Самый лучший программист
1. Вести проект по Scrum оправдано:
а. Вы можете выставить приоритеты своим задачам. Красивостям - маленький, тому что позволит быстрее монетизировать - большой.
б. Пользовательские истории с низким приоритетом могут быть вашим блокнотом идей.
2. Это по желанию.
Если ваш проект уже приносит деньги, то скорее нужно, так как понадобиться делать быстрые фиксы,
когда вы в данный момент разрабатываете новый функционал.
3. Это скорее для команд.
Ответ написан
Комментировать
drno-reg
@drno-reg
см не кратко
Здравствуйте.

Считаю что, даже при разработке в одиночку GitFlow уже необходим (если я все верно понял это контроль версий).

Предполагаю, что разработка в одиночку это начало, т.к. большие проекты в одиночку не утянуть и знание методологии Scrum / Agile и CI лишними не будут.

Деплоить проекты через Docker: сам на самом деле только пытаюсь осваиваить этот продукт, т.к. для многих работодателей это уже стандарт.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы