Как вы управляете своим маленьким проектом? [закрытый]

Так как у меня есть работа, и я хочу написать некоторые из моих собственных программ в свободное время, я хочу знать, как вы, ребята, организовать, планировать и развивать такой маленький проект. Поскольку это не РАБОТА, Вы можете быть прерваны многими другими вещами, так как я могу сделать так, чтобы все шло хорошо?

27 ответов


вот несколько вещей, которые я нашел полезными:

  1. выясните свои часы пиковой производительности: некоторые люди работают лучше в 6 утра, некоторые люди в 6 вечера, некоторые в полночь. У вас, вероятно, есть и другие обязательства, поэтому постарайтесь выбрать лучшее время из того, что у вас есть, чтобы сделать что-то.
  2. Getting Things Done: есть большая книги (того же имени) Дэвид Аллен, который имеет дело с как управлять все вашего времени, будь то работа, игра, отдых или ваши небольшие проекты. Я нашел его методы чрезвычайно полезными. Они не помогут вам составить график проекта напрямую, но помогут максимально увеличить время, которое у вас есть.
  3. выложить график проекта: дайте себе срок и некоторые промежуточные целевые даты для различных этапов проекта. Даже один час, потраченный на составление дорожной карты для вашего проекта, может помогите закрепить процесс в своем уме и определить, какой график вы можете реально достичь. Я считаю, что планирование вознаграждений (ужин, выходной день, новая видеоигра) для достижения целей очень помогает. Не забудьте следить за своим прогрессом раз в неделю или около того. Это поможет вам сосредоточиться на проекте.
  4. держите свою рабочую зону четко определенной: выделить зону (в идеале, домашний офис или что-то подобное), где вы будете работать над проектом. Когда вы находятся в том месте, работают только о проекте. Даже если это всего лишь небольшой уголок в вашем офисе, что место должно быть зарезервировано для проекта. Когда у вас будет время поработать над этим, сядьте на это место. Когда придет время расслабиться или заняться другими делами, сядьте где-нибудь в другом месте.
  5. найдите время, чтобы расслабиться: вы не продержитесь долго, работая полный 8-часовой день, заботясь обо всех других обязательствах, а затем тратя каждый оставшийся час бодрствования, работая над своим проектом. Ваш тело (и ум) нужно время, чтобы расслабиться и восстановить силы.
  6. не бойтесь неудач: многие небольшие проекты терпят неудачу. Если вы хотите что-то сделать, сделайте хороший выстрел. Примите, что это может не сработать, но если вы решите работать над этим,фиксация себя к мысли о том, что это удастся, и не оглядывайтесь назад.
  7. весело: Если вам не нравится, найдите способ сделать работу приятной. Слушайте любимую музыку, пишите свои код в уютной маленькой кофейне где-нибудь, или просто поработать над другой частью проекта на некоторое время.

выключите телефон, отдайте телевизор и отключите интернет.

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


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

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

прочие советы могут быть. Установите вехи, еженедельно, если не ежедневно.


Я пишу свои идеи в блокноте (ручка и бумага) во время длительной поездки на поезде/с моей реальной работы. Я, вероятно, в среднем около 3 часов планирования и написания на каждый 1 час фактического кодирования. Поскольку я трачу так много времени на планирование и проектирование, когда я на самом деле сажусь писать какой-то код, код гораздо более высокого качества и его не нужно переписывать так часто. Я бы, наверное, немного меньше продуктивно, если бы я потратил все это время только на написание кода.

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


более прагматичный ответ...

  1. убедитесь, что у вас есть удаленный контроль версий (subversion и git действительно хороши).
  2. разместите свой контроль версий на сервере, который получает резервную копию (либо ваш, либо бесплатный сервис)
  3. Trac для отслеживания ошибок / билетов, этапов проекта, Вики и т. д. Интегрируется с большинством систем контроля версий с открытым исходным кодом. (если вы пользователь git, то я рекомендую github а чем проф)

наденьте его code.google.com (или другой механизм хостинга с открытым исходным кодом по вашему выбору), "выпороть" его в списках рассылки, сайтах и c, которые могут иметь людей, действительно увлеченных концепцией, и пусть 'er rip. Вряд ли он получит большую тягу, пока у вас не будет какого-то полуработающего кода в svn или hg, но вы никогда не знаете!-)

Open source-это ключ: если вы можете работать над проектом только в случайных обрывках времени, он никуда не денется, пока вы не сможете получить других участников доска - Что означает с открытым исходным кодом; -).


У меня уже много лет довольно большой проект на c++. (только кодер...) Мой совет: сделайте перерыв, Если вам нужно: принудительный код = = плохой код. Кроме того, ваша голова будет продолжаться, даже если ваши пальцы не печатают... (благосклонно)


Я должен рекомендовать вам дать FogBugz попробовать. Я склонен работать над несколькими проектами на стороне, и я не смогу продолжать с ним работать. Некоторые быстрые вещи, которые мне нравятся:

  • Wiki для планирования проекта и документации. Если проект требует документации в качестве результата для клиента, я также использую wiki в качестве отправной точки и копирую его в PDF-файлы после его завершения.
  • отслеживание ошибок для отслеживания прогресса особенности разработки и ошибки, которые я нахожу по пути. Я думаю, что это в конечном итоге более масштабируемо, чем бумажный список или задачи в коде, даже для небольших проектов.
  • интегрируется с моим репозиторием SVN, поэтому мои коммиты отображаются в соответствующем билете.
  • все мои запросы о помощи клиентам идут прямо в FogBugz через API. Позволяет легко отслеживать запросы поддержки и сохранять информацию на будущее.

Как уже упоминалось в thread, FogBugz имеет бесплатную версию для 2 человек. Если вы хотите настроить исходное РЕПО, попробуйте Beanstalk (beanstalkapp.com) - у них также есть бесплатная версия.

вы также можете рассмотреть Basecamp (basecamphq.com). Я не использую его лично, но большинство людей, кажется, любят его.


2 простые задачи: 1) установить еженедельные цели 2) Установите appart 1 час в день для работы над этими целями

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

с уважением.


Я нахожусь в той же ситуации. У меня есть свой маленький проект, над которым я работаю в свободное время.

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

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


Я работаю над домашним животным проектом уже более 10 лет, и то, что я делаю, чтобы сохранить разумное планирование и мотивацию на месте, меняется год от года. В настоящее время я использую Код Google где система отслеживания проблем позволяет мне управлять работой, которую я хочу сделать (и ошибки от пользователей) в здравом уме, легко. Он также хорошо интегрирует систему управления версиями и отслеживания проблем, что делает их синхронизацию приятной и легкой. Это лучшая система (с самой низкой стоимостью), которую я нашел для управления проект.

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

для взаимодействия с пользователями I ранее РАН списки рассылки, но они кажутся менее популярными сейчас и требуют больше воспринимаемых инвестиций от пользователей. Я добавил форумы на свой сайт (Спасибо bbPress) и видели гораздо больше take-up и извлекали пользу из тех. Основной сайт я запускаю очень минимальный кожу на вершине Wordpress чтобы сделать его менее похожим на блог-использование набора встроенных инструментов для управления сайтами означает, что вы не тратите время на непрофильные мероприятия. Я хочу потратить время на разработку текстового редактора, не CMS. Наконец, для документации я прошел через несколько разных подходов, но тот, который в настоящее время хорошо работает для меня, - это хостинг wiki. Это очень низкое трение для людей, чтобы внести свой вклад, и для меня, чтобы окунуться в любое время, чтобы документировать что-то в ответ на вопрос на форумах. Предварительно скомпилированный файл справки, который я использовал для создания, становится полностью устаревшим.

один из самых важных уроков, которые я узнал, как сказать "нет". Как только вы получите кучу пользователей они начнут запрашивать сотни функций / параметров конфигурации/исправлений ошибок и дошло до того, что я почувствовал, будто живу в облаке работы, которую не хочу делать. От просмотра других проектов я научился говорить:"конечно, хорошая идея, но я не буду работать над этим". Преимущество open source в том, что кто-то другой может сделать это, если это достаточно важно для них.

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

и, наконец, помните, что вы можете взять отпуск от проекта - это помогает вернуться заново с новым энтузиазмом.


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

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

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

Я считаю, что я всегда более продуктивен с карандашом / бумагой. Еще лучше то, что таким образом я могу получить вещи (даже быстрые, маленькие кусочки работы), сделанные в короткие перерывы (говорят, поднимаясь в лифте или в очереди в магазине). Таким образом, я могу выполнять значительный объем работы над своими проектами в "бесполезное время", которое в противном случае было бы потрачено впустую.

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

Что касается логистики, я могу только рекомендовать то, что я всегда рекомендую: составьте список! Если вы используете программу или бумагу, составьте список своих задач (и подзадач, и подзадач и т. д.) Невозможно быть продуктивным, если вы должны попытаться отслеживать свои задачи в голове. Я даже не могу сосчитать, сколько раз я кричал на свою мать, когда она ворчит из-за того, что у нее слишком много дел и она перегружена работой, хотя я велел ей это записать. Помню, как-то раз она на месяц уехала в Норвегию повидаться с матерью, и мне пришлось взять на себя все ее обязанности. Я продолжаю говорить ей, что, поскольку у меня был чертов список дел, которые я должен был сделать, мне удалось сделать все это без перегруженности.

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


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

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

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


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

Я тогда использую MonkeyPirateTiddlyWiki для записи всего, что я считаю полезным и может быть повторно использован в будущем. Настойчивый мой мысли.

все это на простых html-файлах с автоматическим резервным копированием.


Ну, я не управляю своим маленьким проектом...он управляет мной!

когда я в настроении играть с ним, он будет поглощать всю мою энергию. Обычно это длится несколько дней. Затем я отказываюсь от него (но, конечно, только временно).

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


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

кроме этого, я бы рекомендовал использовать управление версиями (код Google, как уже упоминалось, является хорошей идеей, так как у вас есть резервная копия на удаленной машине. Кроме того, есть OpenSVN или SourceForge. С OpenSVN вы можете использовать TRAC, с удобно для отслеживания прогресса и ошибок).

остальное зависит от размера вашего проекта, но некоторые крупнозернистые вехи с датами, безусловно, не повредят процессу. Кроме того, не имеет смысла делать слишком много управления проектами на небольшом проекте. :)

Я нашел это сообщение в блоге очень полезным:попадание себя в "зону", и некоторые заметки о программировании как ремесло


положите Блокнот у кровати. У меня всегда есть лучшие идеи в 3 утра.

Что касается планирования небольшого проекта, вы можете сделать много управления проектами в электронной таблице, прежде чем он станет громоздким. Если есть только один из вас, это маловероятно. Проводите 10 минут в день, отмечая выполненные и выполняемые задачи. Держите все в курсе.


У меня есть небольшая консалтинговая компания, которой я управляю "на стороне". У меня было несколько проектов за эти годы - некоторые из них достаточно большие, что мне пришлось привлечь других разработчиков. Самое главное для меня было получить предварительное понимание с моими клиентами временных ограничений - и бюджета. Я знаю, что могу работать полный рабочий день - 2 часа в сутки в течение недели и 5 часов в день в выходные. Больше, чем это, и я должен финансировать больше персонала, чем просто себя. Я знаю многих людей. можно сказать, что 5 часов в день в выходные не так много - но я говорю им - вы делали это раньше с оплатой клиентами. Есть жизненные потребности, о которых вы тоже должны позаботиться - а в сутках всего несколько часов. До сих пор у меня не было разочарованных клиентов, использующих эту систему, и для меня это самое главное.

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

удачи в вашем начинании arsane.


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

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

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

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


мои рекомендации:

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

но самое главное: вас могут прервать в любое время. Даже быть прерванным другим проектом-это весело (часто случается со мной), потому что это всего лишь один клик и вы в курсе прогресса другого проекта. И можете рассказать своему клиенту (если программа не только для вас), что вы сделали за последнюю неделю.

конечно, это просто инструмент, но из доступных я видел, мой любимый.


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

лично я использую Codespaces.com и рекомендую для отслеживания небольших проектов. Он имеет доску задач, wiki и SVN репозиторий. Лучше всего это бесплатно для проектов 500МБ!


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


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

  • FreeMind - свободное программное обеспечение отображения разума, которое позволяет вам мозговой штурм функции и функции и дисплей их организованно
  • Voice Notes Recorder on my BlackBerry Storm-всякий раз, когда вдохновение попадает или я вспоминаю пропущенный элемент, я быстро оставляю себе голосовую заметку и сохраняю ее, пока не смогу добавить ее на карту разума.

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

надеюсь, что это помогает.


  1. Если это небольшой проект, вы должны иметь возможность отслеживать обзор в своей голове. Если не можешь, он слишком большой. Сказав это, список ошибок и функций (скажем, в Excel) - хорошая идея.
  2. выясните, как долго вы обычно работаете в одной строке, и подготовьте список задач, которые хорошо вписываются в это время. Например, если вы получаете (скажем) час вечером после работы, но до чая, составьте список получасовых заданий. Они должны быть крошечными (например, " line up these элементы управления", "рефакторинг этого одного класса", "добавить одно дополнительное поле ввода"). Лучше вычеркнуть одну крошечную задачу, чем сказать:"я сделал 1% прогресса в этой большой задаче".
  3. держите его маленьким. Подровнять, подровнять и подровнять еще. Выясните, что такое Абсолютный минимум v1. Даже если у этого нет надежды заработать деньги, это может принести доход от рекламы или, по крайней мере, некоторые веб-обсуждения. После того, как вы сделали v1, вы можете беспокоиться о v2. Если вы работаете один час в ночь, то проект из шести человек в месяц займет почти три годы.
  4. используйте управление версиями и резервные копии. Есть более одной машины? Я использую ноутбук в качестве сервера SVN и работаю на своей основной машине. Я использую пакетный файл для сохранения дампа репозитория в Dropbox один раз в неделю. Бесплатно и легко.
  5. Не бросайте свою девушку - получите бай-ин. Они могут помочь в проекте? Писать документы? Продвигать? Графический дизайн? Тест? Код?

Я использую www.manymoon.com

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

вы должны попробовать. базовая версия бесплатна.


Я использую кодовую базу (codebasehq.com) для моего сервера git и управления кодом. Существует также множество других приложений для управления проектами на основе SaaS, которые относительно недороги, например Basecamp.

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

удачи!


получить бесплатную учетную запись FogBugz

во-первых, сделайте то, что рекомендует Алекс Мартелли... все это отличные намеки.

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

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

http://www.fogcreek.com/FogBugz/StudentAndStartup.html?isl=140855