2009-05-29 2 views
13

Очень жаль, когда вы сказали своему клиенту или менеджеру, что это может быть закончено на 10 дней, но вы потратили 20 дней, чтобы еще не развернуться, чтобы жить.Как вы оценили время, потраченное до начала проекта веб-разработки?

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

Благодаря

+0

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

ответ

25

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

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

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

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

+0

Если бы я мог проголосовать за это несколько раз, я бы это сделал. Это отличный ответ. – Abel

+4

Я согласен со всем, что вы сказали, ЗА ИСКЛЮЧЕНИЕМ первого предложения. Опыт - это не единственное, что поможет вам лучше оценивать. Разбивка задачи на несколько подзадач также повысит вашу точность, и вы сможете сделать это сегодня, а не только тогда, когда вы получите больше опыта. –

+0

Да, я согласен, я был немного двоичным с этим утверждением. +1 к вашему ответу, чтобы извиниться :) –

4

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

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

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

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

+0

Сделаю это с сегодняшнего дня, спасибо большое. –

12

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

+0

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

3

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

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

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

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

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

+0

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

3

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

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

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

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

+0

Надеюсь, что смогу сделать что-то подобное, вы имели в виду, что я должен сказать своим клиентам или менеджерам, что я проведу 20 дней (как я ожидал 10 дней в первом пункте)? –

+0

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

2

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

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

+0

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

1

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

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

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

+0

Мне сказали (полушутя), чтобы взять время, удвоить его и поднять блок. Так что три часа - шесть дней! Скорее точный ... –

2

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

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

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

1

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

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

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

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

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

1

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

+0

Спасибо в любом случае. –

1

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

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

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

+0

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

+0

aye! ... что последний был более ухожен в щеку. – kevchadders

1

запомнить Также старую пословицу ...

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

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

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

+0

Возможно, вы имели в виду первые 90% занять 10% времени, последние 10% занимают 90% времени? –

+0

Нет. Общая сумма составляет не менее 180% времени. :) –

Смежные вопросы