Как оценить задачу программирования, если у Вас нет опыта в [закрытом]

Если вы хотите использовать механизмы кэширования, например Redis или Memcached , возможно, выбор DALMP может быть выбран. Он использует чистый MySQLi . Проверьте это: Уровень абстракции базы данных DALMP для MySQL с использованием PHP.

Кроме того, вы можете «подготовить» свои аргументы перед подготовкой своего запроса, чтобы вы могли создавать динамические запросы и в конце имеют полностью подготовленный запрос. Уровень абстракции базы данных DALMP для MySQL с использованием PHP.

96
задан Peter Mortensen 2 February 2014 в 14:54
поделиться

21 ответ

Лучший ответ, который можно дать, должен попросить в течение времени поднимать быстрый прототип, чтобы позволить Вам давать более точную оценку. Без [приблизительно 110] опыт с инструментом или проблемой, любая оценка, которую Вы даете, чрезвычайно бессмысленна.

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

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

90
ответ дан RB. 24 November 2019 в 05:34
поделиться

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

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

0
ответ дан PEZ 24 November 2019 в 05:34
поделиться

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

, Когда Вы находитесь в такой ситуации, проект внезапно становится R& D проект и более длительное время, чем нормальный не должен заставлять Вас выглядеть плохо, так как Вы изучаете и производите программы. Я не знаю, как быстро Вы учитесь или какие ресурсы необходимо иметь дело с любыми проблемами, которые можно найти (Stack  Переполнение является одной из опций, которые Вы имеете).

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

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

1
ответ дан Peter Mortensen 24 November 2019 в 05:34
поделиться

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

Одна вещь, которую я подчеркнул бы, состоит в том, чтобы отслеживать Вашу оценку (маленькая электронная таблица Excel а-ля Joel, или даже документ Блокнота, если это очень просто), и в конце каждого дня обновляют это самым точным числам, которые можно теперь предоставить. Даже если Вы не должны пасовать назад, это Вашим боссам, совершенствуя это дает Вам лучшее представление о том, как прогрессируют вещи, и что еще более важно Вы получите хорошее ощущение , почему Ваши оценочные изменения как работа прогрессируют.

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

1
ответ дан Andrzej Doyle 24 November 2019 в 05:34
поделиться

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

1
ответ дан Sam Meldrum 24 November 2019 в 05:34
поделиться

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

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

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

Также распознают, что будут некоторые задачи, где все, что можно обеспечить, является Диким предположением задницы (WAG). Для них необходимо назначить минимальное время к оценке и прояснить, что Вы не знаете, каково макс. Часто времена этот вид оценки являются достаточной причиной определенного features/req's, который будет отключен управлением.

2
ответ дан Karthik Hariharan 24 November 2019 в 05:34
поделиться

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

важная часть связывается с управлением, что оценка предположение , если они требуют более точной оценки или если они пробуют к - дорогой Бог - продает Вы ограничение по времени (конечно, это только возьмет Вы 2 дня для создания Starship Enterprise, Вы хороши, что Вы) , ПРИДЕРЖИВАЮТСЯ ВАШЕГО ОРУЖИЯ , не ставьте под угрозу свою оценку или то, что это ненадежно.

, Если управление переопределяет Вас и timebox задача, например, "Ну, Это должно быть сделано через 2 дня", снова сообщает им, это их оценка, которая точно так же надежна как Ваше собственное.

Снижают все это в письменной форме.

2
ответ дан Binary Worrier 24 November 2019 в 05:34
поделиться

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

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

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

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

2
ответ дан Bill K 24 November 2019 в 05:34
поделиться

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

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

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

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

Paul.

3
ответ дан Paul W Homer 24 November 2019 в 05:34
поделиться

Можно ли дать диапазон? 40-60 часов, что-то как этот?

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

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

0
ответ дан Peter Mortensen 24 November 2019 в 05:34
поделиться

При программировании я всегда брал то, что я действительно думал, что это возьмет меня и умножит это на 3 для обеспечения оценки. Если я думаю, что могу сделать задание через 1 неделю, я говорю клиенту, что она возьмет 3 - если я буду думать, что мне действительно потребуются 3 недели, я говорю клиенту 9 недель.

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

В Вашем случае Вы, конечно, захотите получить, по крайней мере, НЕКОТОРОЕ понимание того, во что Вы погружаетесь прежде, чем обеспечить оценку. Возможно, даже необходимо обеспечить оценку на том, сколько времени она собирается взять для обеспечения оценки. Умножьтесь на 3, угождает клиентам.

3
ответ дан Jeremy H 24 November 2019 в 05:34
поделиться

Большая точная оценка является самопознанием. Если Вы записали много кода, если необходимо было изучить много API, Вы начинаете получать ощущение вопросов как:

  • , Сколько времени занимает я для изучения нового API?
  • , Сколько времени занимает я для изучения нового языка?
  • , Сколько времени занимает я для изучения нового комплекта инструментальных средств (компилятор/компоновщик/IDE)?
  • , Сколько времени занимает я для реализации типичной задачи?
  • , Сколько времени занимает я для тестирования моей работы?
  • , Сколько времени занимает я для развертывания моей работы?

, Всюду по которому, необходимо получить смысл таких вещей как:

  • , Сколько типичных ошибок Вы создаете и как они категоризированы (т.е., легкие, твердые, невозможные)
  • , Сколько сложностей представлено (т.е., потребность осуществить рефакторинг из-за отсутствия стороннего API или ошибочного API; должен перепроектировать из-за неверного толкования возможности; нестандартные инструменты/процессы сборки)
  • , Сколько времени потеряно из-за проблем прерываний/внешней стороны

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

5
ответ дан plinth 24 November 2019 в 05:34
поделиться

Следует иметь в виду, просите ли Вы большую временную оценку, но делаете ее под временем, это смотрит путь лучше, чем недооценивание и необходимость попросить расширение.

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

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

5
ответ дан Jordan Parmer 24 November 2019 в 05:34
поделиться

Даже не пытайтесь оценить. Нет никакого способа, которым Ваша оценка будет корректна. Это - в конце концов, просто оценка.

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

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

7
ответ дан Peter Mortensen 24 November 2019 в 05:34
поделиться

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

, Если "Гибкий" преподавал нам что-либо, случается так, что, если управление ожидает, что Вы, на непрерывной основе, оцените проекты тот путь, и Вы будете "выглядеть плохо", если Вы скажете, что это не может быть обеспечено, потому что у Вас нет достаточной информации, Вы находитесь на магистрали для СБОЯ.

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

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

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

(Завышенный, но незначительно.)

8
ответ дан gkrogers 24 November 2019 в 05:34
поделиться

Я использую определенную систему маркировки для своих оценок... класс A, класс B и класс C.

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

класс B плюс или минус 25%. Иногда это достаточно хорошо, и они дают мне деньги для создания. В противном случае меньшие деньги и больше исследования.

класс A плюс или минус 10%, финал, и пойдите, или никакие не идут. Если это - движение, и я отклоняюсь слишком далекий от оценки, в которой я признаюсь часто и рано.

8
ответ дан dacracot 24 November 2019 в 05:34
поделиться

Сломайте свою оценку в:

  • Известный knowns; сколько времени будет он брать, чтобы сделать то, что Вы знаете, как сделать. Необходимо быть в состоянии дать эту оценку с высокой степенью уверенности.
  • Известные неизвестные ; сколько времени делают Вы думаете, что это возьмет, чтобы сделать то, что Вы не знаете, как сделать. Можно использовать метод как dacracot's для предоставления разных уровней уверенности в этой оценке.
  • Неизвестные неизвестные ; это - оперативная черная дыра. Это вещи, которые приходят в ярость в большинство несвоевременных раз и кусают Вас в заднице. Обеспечьте диапазон для оценки с выравниванием на основе рисков, которые Вы ожидаете.

Предложение скорректировать оценку и определенные этапы по пути. Любые неизвестные неизвестные станут известными неизвестными, известные неизвестные должны стать известным knowns, как Вы приобретаете опыт, и оценка Вас, известный knowns может быть скорректирован на основе прогресса до настоящего времени. Можно сделать первоначальную оценку, затем повторно оценить когда Вы сделанных приблизительно 25%, с другой стороны в 50%, с другой стороны в 85%. В каждый этап Ваша оценка должна начать сходиться на фактическом времени, которое займут задачи.

10
ответ дан gkrogers 24 November 2019 в 05:34
поделиться

Вы могли бы хотеть рассмотреть предоставление и оценка и доверительный уровень, т.е. это - 50/50, что потребуется 3-6 месяцев или 6-9 месяцев, или 75% оказываются сделанный за 9 месяцев и 90%, что Вы будете сделаны через год.

Другая вещь, которую Вы могли бы хотеть рассмотреть, использует" мудрость толп " подход. Обойдите и спросите 25-50 человек, сколько времени они думают, что это возьмет и составит в среднем их оценки. Mike Cohn Покер Планирования , я думаю, очень похожий на это, хотя трудный для планирования со всего одним разработчиком.

13
ответ дан tvanfosson 24 November 2019 в 05:34
поделиться

Steve McConnell (и другие) говорит о приблизительно конус неуверенности . В основном Вы обеспечиваете оценку, которая выглядит примерно так:

работа возьмет между 3 и 9 неделями с 4 неделями, будучи наиболее вероятным.

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

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

31
ответ дан Jim Blizard 24 November 2019 в 05:34
поделиться

Я впущу Вас на секрете. Даже если бы Вы были экспертом с той технологией, Ваша оценка, вероятно, была бы очень неточна. Это - природа зверя при выполнении чего-то, что является по сути R& D задача. К сожалению, управление часто пытается применить производственную модель и потребовать точные оценки. Чтобы проиллюстрировать мой тезис, рассмотрите трудность при точной оценке следующих двух усилий:

Изготовление А другой 11K зонтики, которые являются тем же самым как 2K, который Вы произвели в большом количестве в прошлом месяце. Дизайн B) новый вид зонтика и сборки первая.

Разработка программного обеспечения является B, но они просят оценку, принимающую A.

лучшее, которое можно сделать, разламывают задачу на самые маленькие возможные части (не больше, чем 1/2 день каждый) и затем утраивают заключительное число, которое Вы придумываете. (Метод Spolsky)

Поочередно, у Steve McConnell есть целая книга (возможно несколько) на этом аспекте разработки программного обеспечения. http://www.amazon.com/Software-Estimation-Demystifying-Practices-Microsoft/dp/0735605351

37
ответ дан JohnFx 24 November 2019 в 05:34
поделиться

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

5
ответ дан Peter Mortensen 24 November 2019 в 05:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: