Является ли написание спецификаций для хобби-проектов единственным способом их завершения? - PullRequest
43 голосов
/ 18 июня 2009

Вот что мне интересно. Каждую ночь, когда наш 3-месячный ребенок дает нам спать, я прыгаю к компьютеру и начинаю кодировать свои хобби-проекты. У меня есть около 20 различных проектов, над которыми я работаю: различные типы проектов, от игр на C ++ до веб-приложений, а также некоторый вклад в проекты с открытым исходным кодом. Это действительно страсть, и это было в течение многих лет.

Тем не менее, когда я оглядываюсь назад, я вижу, что не смог полностью завершить один из моих хобби-проектов. Я всегда делал прототипы и настраивал самые важные функции, но со временем, вместо того, чтобы закончить свой проект, я в конечном итоге переключаюсь на другой проект, который на данный момент кажется «намного круче». Поэтому я обычно получаю глючные и неполные игры, в которых нет ни конца, ни истории, 3D-движков, которые имеют самую быструю процедуру PolygonDraw из всех когда-либо существовавших, но при этом им не хватает реализации чего-либо еще и т. Д. Список длинный. Я думаю, что я, должно быть, написал незаконченный Понг более чем в сто раз!

Мне сказали, что для этого нужно написать спецификации для моих хобби-проектов.

С одной стороны, я пишу много спецификаций на работе. Я знаю, насколько они важны для определения дорожной карты продукта и соблюдения графика. С другой стороны, спецификации и хобби-проект, похоже, совсем не согласны! Мне кажется, что кривая обучения созданию игры - это то, что делает ее интересной; не сама игра. Отсюда удовольствие от потери времени на реструктуризацию всего движка, удовольствие от создания самых бесполезных функций и так далее ...

Итак, возникает вопрос: вы когда-нибудь писали спецификации для своих хобби-проектов? Чем они отличаются от работы? Как вам удается завершить свои хобби проекты?

Я был бы рад узнать, работая над моим новым проектом: генератором сонаты для фортепиано:)

Ответы [ 23 ]

15 голосов
/ 19 июня 2009

Я не думаю, что написание спецификаций - это решение вашей проблемы. Очевидно, что ваши "хобби-проекты" - это то, что вам нравится. Вы пишете забавные части, но затем избегаете не забавных частей, которые были бы необходимы для завершения чего-либо.

Если вы просто "программируете для удовольствия", тогда хорошо, у вас все получается. Я не думаю, что писать спецификации - это весело.

Если вы действительно хотите что-то «доделать», лучший способ - не написать спецификацию, а не переходить к другому проекту, когда фактор веселья падает.

12 голосов
/ 19 июня 2009

Это все о «самостоятельном управлении проектами» ... даже для удовольствия.

Я чувствую к вам ... У меня было много репозиториев, которые, как правило, застревали примерно на 200-й ревизии.

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

Я научился писать свои собственные спецификации для личного использования

до

  1. Дай мне сосредоточиться, чтобы выполнить работу, а не уходить в полосу начальных возможностей
  2. Напомни мне, над чем я работаю
  3. Иметь отличные идеи, прежде чем я начну кодировать
  4. Делайте вещи дольше, веселее

Для меня написание собственных спецификаций жизненно важно для выполнения чего-либо!

Вы бы не начали бизнес без плана, не так ли?

Для личных проектов у меня есть тонны книг о молескинах, наполненных грубыми характеристиками и идеями. Когда они созревают, они переходят из записных книжек в реальные документы, и начинается кодирование.

БОЛЬШОЕ РЕДАКТИРОВАНИЕ : На пути к личной эффективности и для завершения проектов. Я читаю "Как все сделать" ... Несмотря на всю хиппи-хрень о «психике» и различных уровнях ума (которые, я уверен, не основаны ни на какой науке), советы очень хороши.

7 голосов
/ 19 июня 2009

Я не слишком усложняюсь, но перечисление всех функций и требований, которые вы хотите включить в свое приложение, действительно помогает. Как и в большинстве хобби-проектов, вы часто не просто садитесь и кодируете их в течение 2 месяцев и заканчиваете их. Здесь час, два часа там и т. Д. По сути, очень часто забывают над чем вы работали в последний раз и какова была первоначальная цель этой супер-отличной идеи для приложения.

Если вы потратите несколько часов на написание спецификаций и требований, это будет очень полезно для вас через 6 месяцев, когда у вас будет свободное время или ваш ADD переключится на этот проект, и вы попытаетесь вспомнить, что это было, если делать.

6 голосов
/ 19 июня 2009

Я только недавно узнал, что написание спецификаций - это действительно то, что мне нужно для выполнения моих проектов.

Я был немного похож на вас, множество проектов, прыгающих от одного к другому и никогда не заканчивающих дела. Примерно 6 месяцев назад, когда я начал писать спецификации и готовил план своих проектов.

Все, что я могу сказать, это то, что это на самом деле работает, потому что вы разбиваете свои проекты на более мелкие шаги, как гонка с контрольными точками, и когда вы начинаете отмечать контрольные точки как выполненные, это чувствует себя хорошо, вызывает привыкание и ваше внимание будет на финише.

Таким образом, вы можете сохранить только 1 или 2 проекта одновременно, но фактически завершить их. И, конечно, у вас есть дополнительный и довольно ценный бонус - не отставать от проекта, даже если вы не касались его в течение месяца или более. Спецификации всегда будут там, чтобы напомнить вам о целях и задачах вашего проекта.

Это всего лишь мой личный опыт, и я считаю, что вы должны попробовать. Надеюсь, это тоже поможет тебе.

4 голосов
/ 19 июня 2009

Это не работает для меня! Фактически, когда я пишу спецификации, я, как правило, делаю проекты еще больше и с меньшей вероятностью их завершения.

Иногда лучший способ сделать это - просто сделать это.

Зе Франк объясняет это намного лучше меня: http://www.zefrank.com/theshow/archives/2006/07/071106.html (видео ссылка с матом)

РЕДАКТИРОВАТЬ: Просто чтобы добавить. Если вы обнаружите, что хотите оставить свой незавершенный проект ради новой, грандиозной идеи ... сделайте это! Не оглядывайся назад

Завершение не является обязательным требованием для ваших собственных проектов домашних животных. Никто не будет обвинять вас в том, что вы не закончите то, что едва ли кто-нибудь другой даже захочет начать.

Причина, по которой вы начали, была из-за страсти. Это очень важно. Вы не должны заставлять себя «пробираться» в свободное время. Вы истощите свою страсть, которая является вашим самым важным ресурсом.

4 голосов
/ 19 июня 2009

Я смог сделать несколько хобби-проектов и закончить некоторые из них. Я пытаюсь закончить их все, но некоторые я просто не могу собрать.

Причина, по которой я думаю, заключается в том, что количество деталей, необходимых для завершения проекта, настолько велико, что оно превращается из увлеченного проекта в рутинную работу по проекту.

Что помогло мне закончить большую часть моего, так это то, что они оставались страстными, пока последние штрихи не остались. Так что я просто пахал их.

Поможет ли спецификация, в какой-то степени да. Они ведут вас дальше в проект, но почти всегда есть момент, когда страсть угасает, и вы ищете следующий блестящий объект.

2 голосов
/ 19 июня 2009

Единственная лучшая вещь, которую я когда-либо нашел, чтобы помочь продвинуться к завершению, состоит в том, чтобы кто-то еще работал над проектом с вами. Найдите друга (или двух), который интересуется той же самой вещью, и спроектируйте / закодируйте ее с ними. Мало того, что у вас есть кто-то, от кого выкарабкиваются идеи, но у вас также есть кто-то, кто мотивирует вас, не говоря уже о том, что прогресс в два раза быстрее, так что вы надеетесь закончить, прежде чем сдаться

Конечно, он требует контроля исходного кода, но вы уже использовали его для своих проектов, верно? :)

2 голосов
/ 19 июня 2009

Вы хотите закончить их?

Я думаю, что разумно никогда не заканчивать хобби-проект. Вы можете просто продолжать работать над этим, пока вы живете. Aciddose работает над его виртуальным инструментом xhip в течение многих лет, упорно никогда не добраться до 1.0, что делает инструмент пластырей люди программу бесполезной от одного релиза к другим. И все же он и пользователи его софтсинтта, похоже, замечательно проводят время.

Может быть, если вы просто стремитесь к «освобождению» и не «закончите», вы будете более удовлетворены. Бетас позволяет вам продолжать мечтать.

2 голосов
/ 19 июня 2009

У меня также есть несколько хобби-проектов, которые я еще не закончил. У меня есть около 10 и я написал спецификацию именно для одного из них, самого большого по объему (также для игры).

Я не закончил ни те, что без спецификаций, ни те, что с. Я думаю, это потому, что я никогда не публикую работу и не показываю ее кому-либо, поэтому она остается полна ошибок и никогда не заканчивается.

Полагаю, это означает, что независимо от того, есть у вас спецификация или нет, это не повлияет на успех проекта так же, как другие факторы, такие как время, мотивация, помощь и уверенность.

2 голосов
/ 19 июня 2009

Я обычно пишу первый набор спецификаций, когда начинаю.

Я также большой поклонник бумажного мышления, поэтому я буду рисовать экраны, UML, диаграммы, блок-схемы, элементы дизайна ... Это всего лишь вопрос определения масштаба вашего проекта и возможности наблюдать за тем, что ты имел в виду. Это действительно помогает мне думать.

Эти документы будут моими спецификациями для всего проекта. Я буду добавлять других по мере того, как я иду, но я не пытаюсь сохранить старые так, как хотел бы, это был рабочий проект: я знаю, куда я иду, и я могу отслеживать изменения, глядя на свои код.

Конечно, некоторые из моих хобби-проектов осуществляются совместно. В этих случаях я записываю больше спецификаций, чтобы лучше общаться со своей командой, и стараюсь обновлять такие документы, как диаграммы БД.

...