Как вы оценили время, потраченное до начала проекта веб-разработки?

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

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

Спасибо

Ответы

Ответ 1

Опыт поможет вам стать лучше, чем оценивать, и ничего больше.

Самое важное, что нужно помнить, это информировать людей.

Если задание было оценено в 10 дней, и вы на 5-й день и явно не собираетесь управлять им в 10, вы должны сообщить людям об этом, а не когда он достигнет 11-го дня.

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

Ответ 2

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

Ответ 3

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

Воспользуйтесь своим последним опытом и используйте его для изменения следующей оценки времени.

Также см. http://en.wikipedia.org/wiki/Estimation_in_software_engineering для получения дополнительной информации.

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

Ответ 4

Вы не можете оценить, не зная, что вы собираетесь делать; вам нужно разбить задачу на куски, которые вы можете разумно оценить - вплоть до ЧАСА (не менее 1 часа, округлить)

например. "Сделайте мне страницу входа в систему" ​​

Форма входа в систему HTML - 1 час Таблица базы данных для пользователей - 2 часа и т.д. и т.д.

Затем вытащите календарь и попробуйте заполнить часы - хорошо в понедельник, я могу работать около 5 часов, чтобы позаботиться о одной задаче. Можете ли вы разумно многозадачно? Наверное, но не говорите, что вы можете выполнять 3 x 4 часа в один день, даже если у вас есть 12 часов для "запасных" (это слишком много).

Посмотрите на выходные; будете ли вы ими работать? Наверное, нет, включите это. Должен ли ты сменить масло? Свадьба подходит? Удостоверьтесь в том, что это включено. Включите некоторое время вымывания, если вы не можете работать несколько дней (дети заболевают, питание гаснет)

Ответ 5

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

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

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

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

Ответ 6

Одной вещью, которую нужно всегда учитывать, является время тестирования. Если что-то понадобится 10 дней для разработки, было бы идеально, если бы вы проводили тестирование не менее 7-8 дней. Хорошее понимание требований вперед помогает оценить время. Когда/при изменении требований вам нужно будет сообщить клиенту, что он добавит дополнительное время на дату поставки.

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

Ответ 7

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

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

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

Ответ 8

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

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

Это работает для меня. Это не научный, но он действительно работает.

Ответ 9

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

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

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

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

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

Ответ 10

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

Ответ 11

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

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

пс. или вы можете сделать классический подход, взяв время, которое вы думаете, "это займет вас, а затем удвоить его!;)

Ответ 12

Также помните старую поговорку...

"Первые 90% занимают 90% времени. Последние 10% занимают 90% времени".

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

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