Как дела очень быстрый (и грязный) оценки для кодирования задач?

var p = {
    "p1": "value1",
    "p2": "value2",
    "p3": "value3"
};

for (var key in p) {
    if (p.hasOwnProperty(key)) {
        console.log(key + " = " + p[key]);
    }
}
<p>
  Output:<br>
  p1 = values1<br>
  p2 = values2<br>
  p3 = values3
</p>

11
задан Community 23 May 2017 в 10:32
поделиться

17 ответов

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

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

17
ответ дан 3 December 2019 в 01:16
поделиться

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

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

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

0
ответ дан 3 December 2019 в 01:16
поделиться

Для оценки в правильном порядке величины Вам нужно:

  • никакое введение новой технологии или платформы для требуемой функции;
  • разделить Вашу оценку в чистое время разработки и доступность разработчиков (и клиент и тестер..;
  • получить обратную связь на Ваших более ранних оценках;
  • размер функции в Вашем безопасном диапазоне оценки (не в 2 раза более большой с в 2 раза большим количеством людей)
  • стабильная группа разработчиков.
  • никакой запуск проекта наверху.
  • чтобы только оценить для работы, Вы делаете самостоятельно.
0
ответ дан 3 December 2019 в 01:16
поделиться

Время от времени как они, я помню правило McKenzie Brother о преобразовании в метрику: "Удвойте его и добавьте тридцать".

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

0
ответ дан 3 December 2019 в 01:16
поделиться

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

0
ответ дан 3 December 2019 в 01:16
поделиться

Я недавно читал Гибкую Оценку и Планирование, и не могу рекомендовать это достаточно.

1
ответ дан 3 December 2019 в 01:16
поделиться

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

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

Вы получите некоторый интервал, например, 12-15 дней или 5-30 дней - это намного более полезно, чем 16-дневный вместо упомянутых интервалов.

Это может быть полезно для Вас хорошая книга по Оценке Steve McConnel Software: Демистифицирование Черной магии.

2
ответ дан 3 December 2019 в 01:16
поделиться

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

Факторный № 2 является воспринятой трудностью и доступностью инструментов и ресурсов под рукой.


Результат = примерно удваивает Вашу оценку

1
ответ дан 3 December 2019 в 01:16
поделиться
  • Сломайте задачу в части и отведите каждую роль время

  • Работа в единицах не меньше, чем 1/2 день. Это предотвратит микропланирование

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

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

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

1
ответ дан 3 December 2019 в 01:16
поделиться

В дополнение к необходимой разбивке: совет, который я изучил от Прагматически настроенных Программистов, состоит в том, чтобы выразить оценки более чем 15 дней в неделях и оценивает более чем 8 недель в месяцах; так, чтобы единица отразила точность оценки. Будьте очень осторожны более чем 30 недель.

Можно также основывать оценки на подобных задачах Вы уже сделанный.

3
ответ дан 3 December 2019 в 01:16
поделиться

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

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

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

5
ответ дан 3 December 2019 в 01:16
поделиться

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

  1. Обновите сценарий модели данных (3 объекта в 2 таблицах)
  2. Измените входной экран (3 новых исходных данных)
  3. Проверьте Вход (3 новых исходных данных)
  4. Данные обновления.
  5. Дисплей заканчивается и т.д...
  6. Модульный тест сборки

Присвойте приблизительный подсчет на каждом из них и если Вы не можете думать о том, подавленном по крайней мере 2 часа, потому что даже самый простой объект, вероятно, займет, по крайней мере, час, но 2x позволит по причине неопределенности.

По крайней мере, Вы будете думать обо всех объектах, которые необходимо будет сделать так, это будет в правильном порядке величины, как требовался.

7
ответ дан 3 December 2019 в 01:16
поделиться

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

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

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

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

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

3
ответ дан 3 December 2019 в 01:16
поделиться

Если я вынужден обеспечить оценки без достаточного количества времени для надлежащего исследования предмета под рукой, я склонен в широком масштабе переоценивать. Фиксация является почти всегда более трудной, чем я думаю, что это будет. Если я думаю, что что-то займет день затем, я говорю два дня. Если я говорю, что что-то собирается занять час затем, я говорю день. То, что я пытаюсь проиллюстрировать с этими комментариями, - то, что для всех кроме самых приземленных задач как орфографические ошибки, даже небольшое изменение кода может взорваться в целый день. Для чего-либо я думаю, мог бы занять день, или больше я удваиваю оценку. Я знаю, что может быть трудно сделать это. Management хочет небольшие числа. Вы хотите выглядеть умными и способными перед другим разработчиком. См. также Scotty Factory.

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

1
ответ дан 3 December 2019 в 01:16
поделиться

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

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

Эмпирическое правило будет следующим:

' первое число »- это количество дней, которое, по вашему мнению, потребуется вам для выполнения задачи, в зависимости от объема задачи, как только что описано. (Но, конечно, вам не все сказали.)

Первое кратное - это дополнительное время, необходимое для перекодирования после первой демонстрации / прототипа, предоставленной боссу, и он говорит: «Хорошо, отлично. Но можете ли вы добавить. .. "

Второе кратное - это время, необходимое для перекодирования перекодировки в соответствии с правильным стандартом для производства.

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

И четвертое кратное - это ваше непредвиденное обстоятельство для вышеперечисленного.

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

2
ответ дан 3 December 2019 в 01:16
поделиться

Я считаю, что ответ всегда будет «от шести до восьми недель».

0
ответ дан 3 December 2019 в 01:16
поделиться

"от шести до восьми недель" работает очень хорошо, еще одна вещь, которая работает, основана на модели данных.

Представьте себе количество таблиц базы данных (или аналогичных), необходимых для приложения, умножьте это на количество дней, в течение которых вам нужно кодировать модели, CRUD, UI и т. д. для каждой таблицы, и добавьте к этому от 30% до 50% времени.

0
ответ дан 3 December 2019 в 01:16
поделиться
Другие вопросы по тегам:

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