Как Заниматься хроническими проблемами времени?

   private Func<T, object> GetOrderByExpression<T>(string sortColumn)
    {
        Func<T, object> orderByExpr = null;
        if (!String.IsNullOrEmpty(sortColumn))
        {
            Type sponsorResultType = typeof(T);

            if (sponsorResultType.GetProperties().Any(prop => prop.Name == sortColumn))
            {
                System.Reflection.PropertyInfo pinfo = sponsorResultType.GetProperty(sortColumn);
                orderByExpr = (data => pinfo.GetValue(data, null));
            }
        }
        return orderByExpr;
    }

    public List<T> OrderByDir<T>(IEnumerable<T> source, string dir, Func<T, object> OrderByColumn)
    {
        return dir.ToUpper() == "ASC" ? source.OrderBy(OrderByColumn).ToList() : source.OrderByDescending(OrderByColumn).ToList();``
    }

 // Call the code like below
        var orderByExpression= GetOrderByExpression<SearchResultsType>(sort);

    var data = OrderByDir<SponsorSearchResults>(resultRecords, SortDirectionString, orderByExpression);    
33
задан GEOCHET 19 May 2009 в 14:36
поделиться

15 ответов

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

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

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

43
ответ дан Benjamin Autin 11 October 2019 в 07:29
поделиться

спросите себя это: Что влечет за собой Ваше задание?

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

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

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

1
ответ дан pizza 11 October 2019 в 07:29
поделиться

Таким образом, разработчик делает хорошую работу, но беден при оценке количества времени для доставки? Я не уверен, что у Вас есть ситуация с наказанием на Ваших руках просто все же.

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

1
ответ дан jro 11 October 2019 в 07:29
поделиться

То, что поражает меня, - то, что у Вас только есть один из этих парней.

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

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

В следующий понедельник Вы смотрите на то, как это пошло. "Ну, Я установил floogle за два дня, но оказывается, что это повлияло на mcphee... поэтому на этой неделе я должен разъединить тех парней, таким образом, whoosiwhatsit файлы не становятся перезаписанными". Хорошо, существует их задача в течение недели.

Вы могли бы думать, что это не поможет, потому что Вы все еще не знаете, когда whoosiwhatsit будет готовым. Это правда. У Вас есть два варианта здесь:

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

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

2
ответ дан Sarah Mei 11 October 2019 в 07:29
поделиться

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

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

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

2
ответ дан Michael Sharek 11 October 2019 в 07:29
поделиться

Набор Этапы и попытка Гибкий как @OTisler предложенный.

2
ответ дан Chris Ballance 11 October 2019 в 07:29
поделиться

Мотивация

, В первую очередь: Читайте Peopleware

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

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

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

Оценки

Как другой, как указано, оценки являются оценками. В нашей команде мы не делаем никаких отдельных оценок вообще, мы делаем оценки как команда. (Я немного отказываюсь назвать то, что мы делаем Толпу, но большая часть из нее пытается эмулировать, если ничто меньше) я думаю, что это - действительно отличный способ сделать оценки: Каждому члену команды дают деку карт, состоящих из чисел 0,1/2,1,3,5,8,13,20,40,60,100 и при оценке задачи, каждый разработчик выбирает карту (карты скрыты, пока все не выбрали карту, чтобы не влиять на оценки), и среднее число выбранных плат взято в качестве оценки.

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

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

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

для Фактических объектов работы, сделанных отдельным разработчиком, не нужна оценка. Первое приближение всегда 1/2 - 1 день для завершения. Если эта оценка оказывается ложью, Вы просто захватываете такого же разработчика и делаете это вместе, чтобы сделать ее. Или Вы ломаете объект работы в меньших задачах, таким образом, он может быть распределен лучше.

3
ответ дан John Nilsson 11 October 2019 в 07:29
поделиться

К Вашим вопросам:

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

, Но у меня есть некоторые вопросы, что я думаю, что необходимо думать о.

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

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

4
ответ дан danio 11 October 2019 в 07:29
поделиться

Хорошо, это довольно распространено - разработчики, являющиеся оптимистичным. Это - задание управления для контакта с ним. Если кто-либо должен быть наказан, это - менеджер (Вы?)

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

, Когда я был молод, мой первый хороший менеджер имел дело с ним этот путь:

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

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

Затем прежде, чем создать его расписание, он удвоил все мои оценки (Не говоря мне).

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

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

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

Отказ проекта или расписания является ФАКТИЧЕСКИ НИКОГДА отказом разработчика (кроме нескольких хронических случаев, где он не является действительно закрепляемым или никакой ценности и должен быть уволен). Менеджер принял плохие решения или в найме разработчика, доверии ему, управлении им или в укомплектовании персоналом проекта.

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

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

6
ответ дан Bill K 11 October 2019 в 07:29
поделиться

Первый, удостоверьтесь, что Вы совершенно прозрачны в своих требованиях.

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

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

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

Помнят, Вы делаете требования, но разработчик ВСЕГДА делает оценки и не должен быть поколеблен с, "может мы делать это немного быстрее", если Вы также не определяете функциональность, которая будет отброшена.

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

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

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

Затем посмотрите, где его оценки перестали работать и фигура почему. Пробегитесь через оценку унесенного проекта, превратите это в сам проект - проблема, которая будет решена.

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

Это поможет Вам выяснить, какова причина проблемы. Основательное понимание проблемы, вероятно, будет фактическим решением.

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

Наказание и Приведение являются соответствующими ответами на преднамеренный проступок в определенных ситуациях.

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

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

10
ответ дан Eli 11 October 2019 в 07:29
поделиться

, Какие виды наказаний за передачу крайнего срока являются эффективными?

Ни один. Если Вы возмутите его, то он не сделает работы, или он найдет другое задание. Необходимо помочь ему выяснить, почему его оценки выключены. Существует книга steve McConnell о создании оценок. я запустил бы там.

, Какие пути могут я когерентность этот сотрудник для управления на основе политик его действиями (временные оценки, и т.д.) сам?

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

16
ответ дан kemiller2002 11 October 2019 в 07:29
поделиться

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

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

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

20
ответ дан MadMurf 11 October 2019 в 07:29
поделиться

Существует интересная статья Joel Spolsky: основанное на доказательстве Планирование

1) Повреждение ‘er вниз

, Когда я вижу расписание, измеряемое в днях или даже неделях, я знаю it’s, не собирающийся работать. Необходимо повредить расписание в очень маленькие задачи, которые могут измеряться в часах. Ничто дольше, чем 16 часов.

Это вынуждает Вас на самом деле выяснить то, что Вы собираетесь сделать. Запишите нечто подпрограммы. Создайте это диалоговое окно. Проанализируйте файл Fizzbott. Отдельные задачи разработки легко оценить, потому что you’ve записанные подпрограммы, создал диалоговые окна и проанализированные файлы прежде.

, Если Вы неаккуратны, и выбираете задачи недели большой тройки (например, фотография Ajax “Implement editor”), тогда Вы, haven’t думал о том, что Вы собираетесь сделать. Подробно. Шаг за шагом. И когда Вы, haven’t думал о том, что знают you’re, собирающиеся сделать, Вы can’t, сколько времени он возьмет.

Установка 16-часового максимума вынуждает Вас разработать проклятую функцию. Если у Вас есть ручная волнистая трехнедельная функция по имени фотография “Ajax editor” без детального проектирования, I’m извините, что были тем для повреждения ее Вам, но Вы официально обречены. Вы никогда не думали о шагах it’s собирающийся брать и you’re убеждающийся забыть многие из них.

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

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

И, конечно, меньшие повторения и больше гранулярности с задачами. Установите максимальную продолжительность задачи на 1 день. Это - правило, которое мы имеем.

29
ответ дан Jeff Atwood 11 October 2019 в 07:29
поделиться

, Какие виды наказаний за передачу крайнего срока являются эффективными?

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

Фиксируют Вашу формулировку.

3
ответ дан 11 October 2019 в 07:29
поделиться

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

0
ответ дан 27 November 2019 в 17:22
поделиться
Другие вопросы по тегам:

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