Поскольку у меня есть работа, и я хочу написать свое собственное программное обеспечение в свое свободное время, я хочу знать, как вы, ребята, организуете, планируете и разрабатываете такой небольшой проект. Поскольку это не работа, вы можете быть прерваны многими другими вещами, так как я могу заставить ее продолжать идти хорошо?
Как вы управляете своим собственным небольшим проектом?
Ответ 1
Вот несколько полезных вещей, которые я нашел полезными:
- Определите максимальные часы производительности:. Некоторые люди работают лучше в 6 часов утра, некоторые люди в 6 вечера, некоторые в полночь. У вас, вероятно, есть и другие обязательства, поэтому убедитесь, что вы выяснили лучшие времена, с того времени, что у вас есть, чтобы все было сделано.
- Выполнение сделанных действий: Существует великая книга (с тем же именем) Дэвида Аллена, которая занимается как управлять всем своим временем, будь то работа, развлечение, отдых или небольшие проекты. Я нашел его методы чрезвычайно полезными. Они не помогут вам составить график вашего проекта напрямую, но они помогут вам максимально увеличить время, которое у вас есть.
- Разместите график проекта: Дайте себе срок и некоторые промежуточные целевые даты для разных этапов проекта. Даже один час, потраченный на разработку дорожной карты для вашего проекта, может помочь укрепить процесс в вашем сознании и определить, какой график вы можете реально достичь. Я нахожу, что вознаграждение за планирование (ужин, выходной день, новая видеоигра) для встречи с целями помогает много. Обязательно отслеживайте свой прогресс один раз в неделю или около того. Это поможет вам сосредоточиться на проекте.
- Сохраняйте свою рабочую область четко.. Отметьте область (в идеале, домашний офис или что-то подобное), где вы будете работать над проектом. Когда вы находитесь в этом месте, работайте только над проектом. Даже если это всего лишь небольшой уголок в вашем офисе, это место должно быть зарезервировано для проекта. Когда у вас есть время для работы над этим, сядьте в это место. Когда пришло время расслабиться или заняться другими вещами, сядьте где-нибудь еще.
- Уделите время, чтобы расслабиться:. Вы не будете долго работать полный 8-часовой день, заботясь обо всех других обязательствах, а затем тратите каждый оставшийся час бодрствования, работая над вашим проектом. Вашему телу (и разуму) нужно время, чтобы расслабиться и омолодиться.
- Не бойтесь неудачи: Многие небольшие проекты терпят неудачу. Если вы хотите что-то сделать, дайте ему хороший снимок. Примите, что это может не сработать, но если вы решите работать над этим, примите во внимание мысль о том, что это произойдет, и не оглядывайтесь назад.
- Удачи: Если вам это не нравится, найдите способ сделать работу приятной. Слушайте любимую музыку, напишите свой код в уютной маленькой кофейне где-нибудь или просто немного поработайте над другой частью проекта.
Ответ 2
Выключите телефон, отпустите свой телевизор и отключите интернет.
Дальнейшие шаги, которые могут потребоваться в зависимости от вашей ситуации: свалить свою подругу, найти увлечение своей женой, продать своих детей и нанять экономки.
В более серьезной ноте я нахожу ранние утра намного более продуктивными, чем попытки работать ночью, когда есть так много отвлекающих факторов. Как побочный эффект, который ложится спать раньше, вы становитесь намного более энергичным и счастливым человеком в моем опыте.
Ответ 3
Одним из наиболее эффективных методов, которые я узнал, было захватить партнера. Когда вы начинаете участвовать в проекте, это может стать очень одиноким и удручающим. Одно шоу человека облегчает просто складывание магазина и возвращение домой.
С партнером вы можете найти обязательство предоставить то, что необходимо для выполнения вашего обещания, которое должно быть "мы добьемся успеха". Плюс, если у вас есть партнер, вы можете отбросить идеи от него. Из коробки мышление будет намного проще.
Другие советы могут быть. Установите вехи, еженедельно, если не ежедневно.
Ответ 4
Я пишу свои идеи в блокноте (ручке и бумаге) во время моей длинной поездки на поезде до/от моей настоящей работы. Я, вероятно, усредняю около 3 часов планирования и письма за каждые 1 час фактического кодирования. Поскольку я трачу так много времени на планирование и проектирование, когда я на самом деле сажусь, чтобы написать код, код намного более качественный и его не нужно переписывать так часто. Я, вероятно, был бы немного менее продуктивным, если бы все это время я просто писал код.
В дополнение к этому вы также можете бесплатно использовать FogBugz дома, хотя мне это действительно не нравилось как проект инструмент управления.
Ответ 5
Более прагматичный ответ...
- Убедитесь, что у вас есть дистанционное управление версиями (subversion и git оба действительно хороши).
- Удерживайте свой контроль над версиями на сервере, который получает резервную копию (либо ваш, либо бесплатный сервис).
- Trac для отслеживания ошибок/билетов, этапов проекта, вики и т.д. Интегрируется с большинством систем контроля версий с открытым исходным кодом. (если вы пользователь git, тогда я рекомендую github, а не trac)
Ответ 6
Поместите его на code.google.com(или другой движок хостинга с открытым исходным кодом по вашему выбору), "выложите" его в списки рассылки, сайты и c, которые могут заставить людей действительно увлекаться концепцией, er rip. Это вряд ли получит большую тягу до тех пор, пока у вас не будет НЕКОТОРЫЙ полурабочий код в svn или hg, но вы никогда не знаете! -)
Открытый исходный код - это ключ: если вы можете работать с проектом только в случайных моментах времени, он не будет нигде, пока вы не сможете получить других участников на борту, что означает открытый исходный код; -).
Ответ 7
У меня есть довольно большой проект С++ уже много лет. (только кодер...) Мой совет: сделайте паузу, если вам нужно: принудительный код == плохой код. Кроме того, ваша голова будет продолжаться, даже если ваши пальцы не печатаются... (возможно)
Ответ 8
Я должен рекомендовать вам дать FogBugz. Я, как правило, работаю над рядом проектов на стороне, и я не смог бы с этим справиться. Некоторые быстрые вещи, которые мне нравятся:
- Wiki для планирования проекта и документации. Если для проекта требуется документация для доставки клиенту, я также использую wiki в качестве отправной точки и копирую ее в PDF файлы после ее завершения.
- Отслеживание ошибок для отслеживания прогресса в разработке функций и ошибок, которые я нахожу на этом пути. Я думаю, что это становится более масштабируемым, чем бумажный список или TODO в коде, даже для небольших проектов.
- Интегрируется с моим репозиторием SVN, поэтому мои фиксации отображаются в соответствующем билете.
- Все запросы наших клиентов направляются прямо в FogBugz с помощью API. Легко отслеживает запросы на поддержку и сохраняет информацию в будущем.
Как упоминалось в другом разделе, FogBugz имеет бесплатную версию для 2 человек. Если вы хотите создать исходное репо, попробуйте Beanstalk (beanstalkapp.com) - у них также есть бесплатная версия.
Вы также можете рассмотреть Basecamp (basecamphq.com). Я не использую его лично, но большинство людей, похоже, его любят.
Ответ 9
2 простых задания: 1) установить еженедельную цель 2) установить 1 час в день для работы над этими целями.
Если у вас нет четкого звонка, вы ничего не добьетесь. Кроме того, если вы не настроите время на это, скорее всего, вы никогда не запустите свой проект.
С уважением.
Ответ 10
Я в той же ситуации. У меня есть свой небольшой проект, над которым я работаю в свободное время.
Ключевым элементом здесь является верить в игрушку. Не расстраивайтесь, потому что это происходит слишком медленно. конечно, если будет мало времени, это будет медленным. Это может занять месяцы или годы. просто верьте в это и продолжайте работать над ним, не устанавливая крайний срок (вы будете скучать по нему почти наверняка).
В течение дня вы можете подумать о том, что вы будете делать этим вечером, исследовать интернет, собрать информацию, прочитать несколько блогов и примеров, а вечером вы уже знаете, что делать и как подойти к ней.
Ответ 11
Я работаю над проектом для домашних животных уже более 10 лет, а то, что я делаю, чтобы сохранить планомерность и мотивацию на месте, меняются в годовом исчислении. В настоящее время я использую Google Code, где система отслеживания проблем позволяет мне управлять работой, которую я хочу делать (и ошибками с пользователей), в разумной, простой путь. Он также прекрасно интегрирует контроль источника и отслеживание проблем, что делает их синхронизацией приятными и легкими. Это лучшая система (с самой низкой стоимостью), которую я нашел для управления проектом.
Для отслеживания работы я определяю набор этапов примерно для следующих трех выпусков, а также помещаю вещи, которые я хочу сделать в эти вехи, а затем отрываться. Важно не застревать в колее, этот проект отчасти для меня, поэтому время от времени я добавляю новую функцию или переписываю большой кусок по прихоти. Конечно, это было не в плане, но потом никто не платил мне, чтобы доставить вовремя и в бюджет:)
Для взаимодействия с пользователями я ранее запускал списки рассылки, но они кажутся менее популярными сейчас и требуют больше воспринимаемых инвестиций от пользователей. Я добавил форумы на свой сайт (спасибо bbPress), и они видели гораздо больше усилий и преимуществ от них. Основной веб-сайт, который я запускаю, - это минимальная скина поверх Wordpress, чтобы сделать его менее похожим на блог - с помощью набора pre -строенные инструменты для управления вашими сайтами означают, что вы не тратите время на непрофильные виды деятельности. Я хочу потратить время на разработку текстового редактора, а не на CMS. Наконец, для документации я рассмотрел несколько разных подходов, но тот, который в настоящее время хорошо работает для меня, размещает wiki. Это очень низкие трения для людей, которые могут внести свой вклад, и для меня окунуться в любое время, чтобы документировать что-то в ответ на вопрос на форумах. Скомпилированный файл справки, который я использовал для сборки, становится полностью устаревшим.
Один из самых важных уроков, который я узнал, - это сказать "нет". Как только вы получите кучу пользователей, они начнут запрашивать сотни функций/параметров конфигурации/исправлений ошибок и он дошел до такой степени, что чувствовал, что я живу под облаком работы, которую я не хотел делать. От просмотра других проектов я узнал, как сказать: "Конечно, хорошая идея, но я не буду работать над этим". Преимущество открытого источника заключается в том, что кто-то другой может это сделать, если он достаточно важен для них.
Для мотивировки я считаю, что желание использовать то, что вы строите, важно: если вы не занимаетесь обработкой своего кода или зарабатываете на нем какие-либо деньги, вам, вероятно, будет скучно и двигаться дальше.
Наконец, помните, что вы можете взять отпуск из проекта - он помогает вернуться с новым энтузиазмом.
Ответ 12
Большинство заданий, которые у меня были, были такими, где есть много времени простоя (ожидание мусора), не говоря уже о мучительных поездках на автобусе с/на работу.
В результате я всегда сохранял проектную книгу со мной (например, адресную книгу с долларовым магазином), что я держу все свои проекты и идеи. Тогда я смогу отобразить все на бумаге (что всегда быстрее и проще, чем на компьютере). Таким образом, я могу получить весь проект, а также псевдо-(и не такой псевдо) код.
Всякий раз, когда я застреваю в своих проектах во время работы на компьютере, я пытаюсь распечатать соответствующие фрагменты кода, чтобы я мог увидеть всю картину (с лучшим разрешением на мониторе) и сделать все виды заметки и изменения в карандаше, намного проще и быстрее.
Я считаю, что всегда работаю с карандашом/бумагой. Еще лучше, что таким образом я могу получить вещи (даже быстрые, небольшие кусочки работы) в кратчайшие перерывы (скажем, поднимаясь на лифте или ожидая очереди в магазине). Таким образом, я могу выполнять значительную работу над моими проектами в "бесполезное время", которое в противном случае было бы потрачено впустую.
В дополнение к моим проектам кодирования у меня есть все мои другие идеи (сценарии, эскизы, списки всех видов, изобретения и т.д.). Таким образом в любое время У меня есть свободный момент, я всегда может найти какую-то полезную вещь. Единственный улов в том, что через некоторое время он становится довольно раздутым, и мне приходится сокращать завершенные/мертвые проекты и т.д.:)
Что касается логистики, я могу только рекомендовать то, что я всегда рекомендую: составить список! Используете ли вы программу или документ, составляете список своих задач (и подзадачи, и подзадачи и т.д.). Его невозможно быть продуктивным, если вам нужно попытаться отслеживать свои задачи в своей голове, Я не могу даже считать достаточно высоким, чтобы посчитать количество раз, которое я накричал на свою мать, когда она дремала о том, чтобы слишком много делать и быть перегруженной, хотя я сказал ей, чтобы она описала ее. Я помню однажды, когда она поехала в Норвегию, чтобы увидеть свою мать в течение месяца, поэтому мне пришлось взять на себя все ее обязанности здесь. Я продолжаю рассказывать ей, что, поскольку у меня был своенчатый контрольный список вещей, я мог сделать все это без переполнения.
Составьте список и перейдите в раздел задач, когда вы идете. Вы были бы изумлены, насколько проще, когда вы видите задачи и прогресс на глазах.
Ответ 13
В принципе, я организую свой день. Это точно так же, как если бы я планировал любую другую рутину, например, ходить в спортзал.
Я специально говорю себе, что я отложу отдельные часы дня, чтобы работать над своими личными проектами. Теперь, потому что они личны, они должны быть забавны, поэтому не нужно прилагать столько усилий. Однако, если что-то вас прерывает, все в порядке.
В конце концов, я просто говорю себе, что его стоит преуспеть, тем более, что многое предстоит узнать о разработке программного обеспечения, когда вы берете на себя личный проект.
Ответ 14
В настоящее время я делаю то же самое и не хочу ничего интересного, простого, но эффективного решения. С бесплатным решением для хостинга кода, заботясь об управлении версиями, я использую MonkeyGTD для записи и отслеживания всех действий в проекте. Я также могу настроить тикеры, оповещения о запланированных действиях. Организация моих мыслей
Затем я использую MonkeyPirateTiddlyWiki для записи всего, что я нахожу полезным и могу быть повторно использован в будущем. Сохраняя мои мысли.
Все это в простых файлах html с автоматическим резервным копированием.
Ответ 15
Ну, я не управляю своим маленьким проектом... он меня управляет!
Когда я в настроении играть с ним, он поглотит всю мою энергию. Обычно это длится несколько дней. Затем я отказываюсь от него (но только временно, конечно).
Итог: если это хобби, сделайте это, когда вы почувствуете это, и не позволяйте ему стрессовать вас.
Ответ 16
Как правило, лучше назначить фиксированный день, когда вы хотите потратить несколько часов на свой проект в неделю. Регулярность очень важна для сохранения вещей в течение длительного периода времени.
Кроме этого, я бы рекомендовал использовать Управление версиями управления (Google Code, как уже упоминалось, является хорошей идеей, так как у вас есть резервная копия на удаленной машине. Кроме того, есть OpenSVN или SourceForge. С помощью OpenSVN вы можете использовать TRAC, и это удобно для отслеживания вашего прогресса и ошибок).
Остальное зависит от размера вашего проекта, но некоторые крупномасштабные вехи с датами, безусловно, не повредят этому процессу. Кроме того, не имеет смысла делать слишком много управления проектами в небольшом проекте.:)
Я тоже нашел эту статью в блоге: Получайте себя в "зону" и некоторые заметки о программировании как о ремесле
Ответ 17
Положите ноутбук на кровать. У меня всегда есть лучшие идеи в 3 часа ночи.
Что касается планирования небольшого проекта, вы можете сделать много управления проектами в электронной таблице, прежде чем он станет громоздким. Если только один из вас, это маловероятно. Проводите 10 минут в день, отмечая выполненные задачи и делайте это. Держите все в курсе.
Ответ 18
У меня небольшая консалтинговая компания, которую я запускаю "на стороне". На протяжении многих лет у меня было несколько проектов - некоторые из них были достаточно большими, и мне приходилось привлекать других разработчиков. Самое главное для меня было получить предварительное понимание с моими клиентами ограничений по времени - и бюджета. Я знаю, что я могу выполнять свою полную работу - работаю 2 часа в неделю в течение недели и 5 часов в день в выходные дни. Больше, чем это, и мне приходится выделять больше персонала, чем самому себе. Я знаю, что многие люди могут сказать, что 5 часов в день в выходные дни не так много, - но я говорю им, что вы на самом деле делали это раньше с оплатой клиентов. Есть потребности в жизни, о которых вы также должны заботиться, и есть только так много часов в день. До сих пор - у меня не было разочарованных клиентов, использующих эту систему - и для меня - это то, что считается самым большим.
Я знаю, что некоторые из вас собираются сказать: "Но подождите, - сказал он свой небольшой проект". Это правда, но тогда он его собственный клиент. Если он хочет "сохранить это", ему нужно рассматривать каждый проект так, как если бы клиент имел на него ответ, даже если этот клиент сам. Он может настроить свои собственные требования времени и "бюджет" своего времени разработчика соответственно.
Желаем удачи в твоем начинании arsane.
Ответ 19
GTD всегда помогает. Список элементов, способных убить размер, которые нужно проверить, когда вы продвигаетесь вперед, обеспечивает максимальный прогресс и моральный дух. Также важно выделить время и пространство для работы.
Другим инструментом, который необходим, является либо наличие у кого-то другого, кто работает над своим проектом, или тот, кто понимает вашу мотивацию, чтобы помочь вам привлечь вас к ответственности. Прогресс обновления пару раз в неделю с кем-то еще, как правило, держать вас продуктивным, потому что очень сложно ничего не принести в таблицу на собраниях. Даже телефонный разговор будет работать, и он добавит удивительный объем производительности в ваш проект.
Держите проект как можно более вездесущим. Я нахожу, что если я смогу иметь свой TODO/Project Spec где-нибудь, что я могу получить к нему доступ на работе и дома, это действительно помогает мне быть более продуктивным. Я могу обратиться к нему, если у меня есть мысль на работе и проверка моих идей, когда я прихожу домой, чтобы работать над вещами. Я использую Evernote для моего спецификатора /TODO и ноутбука Moleskine для ловушки идей на ходу.
Вдоль строк лица, чтобы держать вас в подотчетных, вы также можете настроить блог, чтобы делать сообщения о статусе. Это даст много преимуществ. Один из них позволяет вам разбить работу на куски размером с пост, чтобы вы могли решать отдельные части проекта за один раз, а затем писать о них. Во-вторых, это цементирует вещи в вашем уме, вызывая их на слова, подобно тому, как учит кого-то другого, как что-то делать. Наконец, это делает намного проще, когда вы закончите иметь контент для своих клиентов, чтобы узнать, как появился продукт, узнать свою историю и начать маркетинг/брендинг.
Ответ 20
Моя рекомендация:
Попробуйте PivotalTracker. Поместите в "истории" то, что должен достигнуть ваш проект, вставьте найденные ошибки. Поскольку мы используем PivotalTracker, в команде гораздо больше мотивации, а также в моих собственных проектах. Вы действительно следите за тем, что вы сделали и что еще нужно сделать.
Но самое главное: вас могут прервать в любое время. Даже прерывание другого проекта - забава (часто случается со мной), потому что это всего лишь один клик, и вы в курсе других проектов. И можете сообщить вашему клиенту (если программа предназначена не только для вас), что вы сделали за последнюю неделю.
Конечно, это просто инструмент, но из доступных я видел, мой любимый.
Ответ 21
Используйте веб-сайт управления проектами s/w для отслеживания ваших задач и исходного кода. Хуже всего то, что работа над проектом после часов работает только на коротких очередях, поэтому очень важно иметь возможность забрать с того места, где вы остановились как можно быстрее.
Лично я использую Codespaces.com и рекомендую его для отслеживания небольших проектов. Он имеет панель задач, вики и репозиторий SVN. Лучше всего это бесплатно для проектов под 500 МБ!
Ответ 22
Лучшим способом сохранить это будет считать его столь же серьезным, как ваша работа. Я бы предложил включить в проект несколько других единомышленников, если это возможно. Я бы даже предложил, чтобы ваша семья выполняла некоторые бизнес-задачи, такие как юзабилити-тестирование, документация и т.д. Таким образом, это не будет звучать как рутинная работа, и вы бы хотели работать над этим, так как все поддерживают, преданы и надеются увидеть проект преуспевает.
Ответ 23
Что касается организации проекта, я сам работаю над крупномасштабным проектом и имею много аспектов, которые мне нужно учитывать. У меня есть опыт кодирования и разработки больших сайтов, но он будет на 100% моим. Я использую два инструмента, которые помогают мне организовывать свои мысли, прежде чем я начну использовать код и избегаю траты времени:
- FreeMind - Бесплатное программное обеспечение для сопоставления разума, которое позволяет вам организовывать мозговой штурм функций и функций и отображать их организованно.
- Регистратор речевых заметок на моем BlackBerry Storm. Всякий раз, когда появляется вдохновение или я вспоминаю пропущенный предмет, я быстро оставляю себе голосовую заметку и сохраняю ее, пока не смогу добавить ее на карту разума.
Я работаю над всеобъемлющей картой ума в течение примерно трех недель, чтобы убедиться, что я не упускаю какой-либо аспект развития, и я не чувствую, что готов начать кодирование. Карта разума будет хороша для хэша с завершенных элементов и получения визуального метода отслеживания моей активности.
Надеюсь, что это поможет.
Ответ 24
- Если это небольшой проект, вы должны иметь возможность отслеживать обзор в вашей голове. Если вы не можете, он слишком велик. Сказав это, ошибка и список функций (скажем, в Excel) - хорошая идея.
- Определите, как долго вы обычно работаете в одиночном strecth, и подготовьте список задач, которые хорошо подходят в течение этого времени. Например, если вы получите (скажем) час по вечерам после работы, но перед чаем, составите список получасовых заданий. Они должны быть крошечными (например, "выровнять эти элементы управления", "реорганизовать этот единственный класс", "добавить одно дополнительное поле ввода" ). Лучше перечеркнуть одну крошечную задачу, чем сказать: "Я сделал 1% -ую работу по этой большой задаче".
- Держите его маленьким. Обрезать, обрезать и обрезать еще немного. Выясните, что такое абсолютный минимум v1. Даже если у этого нет надежды заработать деньги, он может генерировать доход от рекламы или, по крайней мере, некоторую веб-дискуссию. После того, как вы сделали v1, вы можете беспокоиться о v2. Если вы управляете одним часом ночи, тогда проект на шесть человек займет около трех лет.
- Используйте источник управления и используйте резервные копии. Получили больше одной машины? Я использую ноутбук как SVN-сервер и работаю на своей основной машине. Я использую пакетный файл для сохранения дампа репозитория Dropbox раз в неделю. Бесплатно и легко.
- Не сбрасывайте свою подругу - приобретайте бай-ин. Могут ли они помочь в проекте? Напишите документы? Содействовать этому? Графический дизайн? Контрольная работа? Код?
Ответ 25
Я использую www.manymoon.com
Его очень простая в использовании, но достаточная мощность для небольших проектов.
Вы должны попробовать. базовая версия бесплатна.
Ответ 26
Я использую Codebase (codebasehq.com) для управления сервером и кодом git. Есть также множество других приложений управления проектами на основе SaaS, которые относительно недороги, например. Basecamp.
Одна из основных вещей, которую я бы посоветовал, однако, состоит в том, чтобы найти другого человека, который будет писать вам код - это делает проекты намного интереснее, когда вы работаете с другим единомышленником. Я обнаружил, что все проекты, над которыми я работал самостоятельно, состояли из гораздо более измельченных, чем те, которые я закончил с "приятелем кодирования".
Удачи!
Ответ 27
Получить бесплатную учетную запись FogBugz
Во-первых, делайте то, что рекомендует Алекс Мартелли... все это отличные подсказки.
Во-вторых, получите учетную запись fogbugz... она бесплатна для небольшого проекта, такого как ваш. Используйте его, чтобы записать свои мысли, сломать задачи и т.д.
Удивительно, какая разница в плане вашего проекта помогает, когда у вас есть куча времени для работы над ним.
http://www.fogcreek.com/FogBugz/StudentAndStartup.html?isl=140855