Как бы кто-то реализовал концепции процессов Agile в качестве индивидуального разработчика? Agile, кажется, полезен для более быстрой разработки приложений, но он также очень ориентирован на команду ...
Как бы кто-то реализовал концепции процессов Agile в качестве индивидуального разработчика? Agile, кажется, полезен для более быстрой разработки приложений, но он также очень ориентирован на команду ...
Ответы:
Я помню, как читал тезис о Cowboy Development, который необходим Agile для индивидуальных разработчиков, но я не могу вспомнить, где я его нашел.
В дополнение к ответу от klez (все хорошие предложения) я бы предложил следующее:
Эти вещи, вероятно, применимы как к одиночной, так и к небольшой команде (2 или 3 разработчика).
ДОБАВЛЕНО: через некоторое время после того, как я написал этот ответ, я нашел этот доклад на конференции и был очень впечатлен: Личный Канбан: Оптимизация Индивидуального Кодера
В конечном счете, я определяю Agile как «делать то, что имеет смысл для вашей команды и клиента, и не придерживаться старых практик, потому что они выглядели так, как будто работали в прошлом».
Agile работает так же хорошо для отдельных людей, как и для команд. Речь идет о поиске процесса, который работает для вас, и позволяет вам адаптироваться к меняющимся обстоятельствам, как только ваш проект уже начался. Речь также идет о предоставлении ценности для вашего клиента регулярно, независимо от того, действительно ли программное обеспечение «закончено».
Гибкие процессы очень итеративны. Работа выполняется за короткие промежутки времени / спринты / циклы / итерации. Некоторые проектные работы могут потребоваться заранее, но могут быть реорганизованы по мере того, как вы узнаете больше о том, что вам нужно делать в системе. Модульное тестирование является основой почти всех методов разработки Agile, давая вам представление о том, работает ли ваше программное обеспечение, и если дополнения / изменения в вашем программном обеспечении нарушат существующую кодовую базу.
Если вы придерживаетесь BDD / TDD, позволяйте вашим требованиям меняться по мере необходимости и можете соответствующим образом корректировать приоритеты ваших функций, если вы строите всю свою систему и часто выполняете все тесты, и если вы предоставляете рабочий код в конце каждого спринта ты уже проворный.
Ух ты. Я попытался бы удержать друга на крючке, которому я мог бы позвонить, когда у меня были проблемы - и обсудить проблему кодирования. Вы знаете, что я имею в виду ... просто объяснение проблемы вслух приносит мне решение в 90% случаев.