Home

Advertisement

Customize
December 2009   01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Выбор порядка задач (переработано)

Posted on 2009.07.01 at 12:59
Tags: , ,
Статья об основном принципе управления приоритетами. Собственно, если Вы ограничены временем, у Вас рискованный, "безнадежный" проект, то это самое главное, что вам надо знать о планировании. Надоели толстые учебники по управлению проектами, напоминающие Шаолиньское у-шу с красивыми приемами, требующими по 15 лет практики и долгих медитаций? Ну вот вам тогда краткая "методичка по армейскому рукопашному бою", построенная на опыте охрененно безнадежных проектов по разработке программно-аппаратных комплексов :).


Два простых принципа, составляющих саму суть.

Никогда не откладывай на завтра то, что можно сделать послезавтра

Никогда не делай сейчас того, что можно отложить на потом. Близкое к этому (но не то же самое) – «не знаешь что делать - не делай ничего». Ибо - сейчас надо делать то, что действительно необходимо делать сейчас, и результат чего нужен завтра, а не что попало.

С детства в головах закреплено противоположное – «никогда не откладывай на завтра то, что можно сделать сегодня». Фанатичное следование этому правилу приводит к провалу проектов. Ибо сегодня можно начать делать очень много всякой ерунды. Чем, собственно, плоха задача, за которую мы беремся слишком рано?

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

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

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

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

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

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

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

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

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

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

Ок, а как же нам понять, что именно надо делать сейчас, что завтра, а что – послезавтра? Мы переходим к основному, центральному моменту, когда пора аргументированно объяснить «как надо».

Надо сознательно управлять приоритетами и рисками.

Что будет, если этого не делать? Инженеры интуитивно стремятся пускать вперед ты задачи, которые им понятно как делать. «мутные» задачи, которые непонятно как делать, (т. е. содержащие проблемы) они имеют тенденцию откладывать на потом.

Эти задачи - наиболее рискованные, трудоемкость которых точно не известна. То есть, позволив инженерам выбирать порядок реализации фич и работ, и пустив это на самотек, вы скорее всего получите очень пологую «кривую риска», которая будет слабо убывать к концу проекта. Другими словами, по мере продвижения по графику, прогноз окончания проекта не будет становиться достовернее, и вы можете получить сюрприз буквально на последних неделях до окончания. «О, да тут еще столько же работы». Знакомо?

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

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

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

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

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

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

Итак, если вы дадите инженерам определять порядок задач то они с высокой вероятностью:

а) отнесут рискованные задачи на конец проекта, а понятные двинут вперед

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

В итоге, если не принимать во внимание риски и важность фич, вы с высокой вероятностью получите план, в котором:

1) Кривая риска - пологая, т.е. прогноз срока не уточняется по мере продвижения.

2) Критичные и рискованные фичи отнесены на конец.

Чувствуете, что будет? А будет так. Тихо-мирно, точно по графику, мы дойдем до 80% завершения такого проекта (в начале стоят не особо рискованные задачи), и тут вдруг - ВНЕЗАПНО: проект намертво встал на 80-90% по базовому плану, и никак не собирается продвигаться дальше. Тысячи их, таких проектов. Программисты разводят руками, ссылаясь на сложность и принципиальную непредсказуемость своей работы. У менеджера жопа в мыле. Директорат уже распланировал бюджеты, и возмущен такой задержкой. Особенно их бесит то, что это произошло ВНЕЗАПНО, и они в ужасе от того, что ситуация ВДРУГ вышла из под контроля, хотя еще вчера все шло по плану.

Потому что в кузнице не было гвоздя, собственно.

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

1) Критичные фичи надо делать в первую очередь, а некритичные - во вторую.

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

Оптимальное отношение к риску, в действительности, разное (прямо противоположное) для критичных и некритичных фич. Полностью правило установки приоритетов звучит так:

1) Сначала делаем критичные фичи.

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

2) Вторым приоритетом делаем некритичные фичи.

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

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

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

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

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

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

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

И наоборот – если Вы не следуете данному правилу – на проекте начиная с определенной сложности, который не делается самотеком, Вам ничего не поможет. Ни fuck-up, пардон, я хотел сказать stand-up митинги, ни красиво оформленный план проекта. Который, кстати, на самом деле, кроме Вас просто никто не будет внимательно читать. Ни начальство, ни (тем более) подчиненные. И который будет проигнорирован. И Вы в глубине души это знаете. Ибо:

а) такие документы безусловно производят впечатление своим объемом и аккуратностью оформления, но читать их некогда, у всех полно своей, конкретной работы, и

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




Comments:


B0rG
[info]b0rg at 2009-07-01 09:57 (UTC) (Link)
так все таки непонятные задачи делать вначале, а понятные откладывать на конец? Имея при этом более-менее реалистичный график работ на понятные задачи?
Рыжий манул
[info]red_manul at 2009-07-01 13:09 (UTC) (Link)
Если я правильно поняла, то чем больше непонятных задач будет выполнено, тем реалистичнее будет график на весь проект в целом. А чем раньше возрастет реалистичность графика, тем больше у менеджера будет времени, чтобы отреагировать на изменения в графике и скорректировать работу. Поэтому непонятные задачи и нужно делать в первую очередь.

Хотя я и сама люблю в первую очередь браться за те решения, которые понятны. На школьных олимпидах, помнится, проповедовали правило "Делай в первую очередь то, что знаешь как делать". Видимо, по инерции это переходит и на задачи в проектах:)
B0rG
[info]b0rg at 2009-07-01 13:14 (UTC) (Link)
да я вот тоже обычно вычищаю свой todolist с понятных и коротких задач...
Gaperton
[info]gaperton at 2009-07-01 14:16 (UTC) (Link)
> Поэтому непонятные задачи и нужно делать в первую очередь.

Совершенно верно. Но только для критичных задач.

> Хотя я и сама люблю в первую очередь браться за те решения, которые понятны. На школьных олимпидах, помнится, проповедовали правило "Делай в первую очередь то, что знаешь как делать". Видимо, по инерции это переходит и на задачи в проектах :)

И это правильное правило. Оно и должно использоваться для некритичных задач.

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

У Мюррея Кантора это называется "квадрат риск-приоритет". Я применяю более эффективное правило "risk-value-cost", которое учитывает еще и затраты. Так получается гораздо лучше.
http://gaperton.livejournal.com/28186.html
Gaperton
[info]gaperton at 2009-07-01 14:20 (UTC) (Link)
Критичные непонятные сначала.
Потом критичные понятные.
Потом некритичные понятные.
А вот некртитичные и непонятные - по возможности вообще не делать.

http://gaperton.livejournal.com/28186.html
Anatoli Stoyanovski
[info]skyer at 2009-07-01 10:24 (UTC) (Link)
Тенденции откладывать непонятные задачи и неоценивать угрозу от риска конечно есть (в последние годы много исследований из области управления рисками, наконец то). Но в приложении к ПО справедливо бы упомянуть то, что многие непонятные сейчас задачи откладываются на потом в связи с тем, что по продвижению проекта они разъяснятся. Может, у многих недостаточно грамотно организован процесс непрерывной оценки изменения этих рисков во времеми, но интуитивно это спасает от залипаний уже на начальном этапе.
Gaperton
[info]gaperton at 2009-07-01 13:49 (UTC) (Link)
Это откладывание - частный случай обоих принципов. Оно само собой так получится.

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

На самом деле риски нельзя рассматривать в отрыве от бизнес-приоритетов ("ценности фичи") и прогнозирования затрат. Эти факторы должны обязательно быть рассмотрены в комплексе для того, чтобы построить эффективный план.

Собственно, именно поэтому я и против выделения управления рисками в отдельную дисциплину - в своей практике я не сталкиваюсь с ситуациями, где это оправдано, и наоборот - постоянно сталкиваюсь с обратным. Выделяя вопрос управления рисками в отдельный вопрос - он сразу становится абстрактным и лишенным практичности. А практичные вещи не могут быть сложными. Они должны быть простыми и делаться на рефлексах.
Anatoli Stoyanovski
[info]skyer at 2009-07-02 08:19 (UTC) (Link)
оцененный риск = вероятность возникновения * масштаб бедствия при его наступлении, это да.

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

Не знаю как правильно - пронизать весь план учетом рисков вяглядит правильно, но по-человечески это путь к структурированному хаосу. Один директор системного интегратора рассказал - внедрили у себя SAP, а теперь он компьютер утром включать не хочет: начнет приставать с учетом рабочего времени, согласованием срочных планов, без которых другие подразделения зависли. Аналогия не идентичная, просто иногда хочется отделить мух от котлет и наслаждаться ими раздельно.
zigel
[info]zigel at 2009-07-01 10:51 (UTC) (Link)
Второй пункт напоминает о совете Александреску и ко. о вреде преждевременной оптимизации.
Василий Бурнин
[info]vasbur at 2009-07-01 11:46 (UTC) (Link)
Второй принцип - частный случай "метода вытягивания" производственной системы Тойоты. В свое меня это принцип сильно удивил и заставил задуматься.
Gaperton
[info]gaperton at 2009-07-01 13:40 (UTC) (Link)
Хм. Как интересно. Не дадите ссылку на описание системы?
Василий Бурнин
[info]vasbur at 2009-07-01 16:07 (UTC) (Link)
Я читал вот эту достаточно толстую книгу, и считаю ее одной из лучших книг по менеджменту вообще. Если есть время и настроение - рекомендую прочитать.

Кратко принципы сформулированы, например, здесь, но лучше знакомиться с более обстоятельными описаниями.
Gaperton
[info]gaperton at 2009-07-01 19:43 (UTC) (Link)
Статья в википедии - отстой, видимо, надо читать оригинал. Но! Кажется неплохой статья про "бережливое производство", на которую есть ссылка и данной вами статьи. Она существенно более информативна. За одно это:

"Поэтому, сердцем бережливого производства является процесс устранение потерь, которые по-японски называются странным для российского слуха словом «му́да». Му́да – это одно из японских слов, которое означает потери, отходы, то есть любую деятельность, которая потребляет ресурсы, но не создает ценности."

Ее надо добавить в закладки :). Короче, спасибо за толковую ссылку.
Gaperton
[info]gaperton at 2009-07-01 19:53 (UTC) (Link)
Вообще, фокус данной системы стоит на "устойчивых процессах" (defined process, перевод термина мой). Наши процессы - эмпирические (empiric process), и имеют больше общего не с производством, а с разработкой новых моделей автомобилей. Есть у Тойоты что-нибудь на эту тему?

В частности, процесс устранения потерь, который описан здесь - напрямую к empiric process не приложим, как и многое, на чем они делают акцент. Однако, прямым аналогом устранения "муды" у нас - это разнообразные меры по преодолению "трения" (в определении Клаузевица, см. "о войне").
Василий Бурнин
[info]vasbur at 2009-07-02 03:08 (UTC) (Link)
Вообще, фокус данной системы стоит на "устойчивых процессах" (defined process, перевод термина мой). Наши процессы - эмпирические (empiric process), и имеют больше общего не с производством, а с разработкой новых моделей автомобилей. Есть у Тойоты что-нибудь на эту тему?
В книжке, например, описана история, как Тойота разрабатывала гибридный двигатель

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

Еще в моей практике был случай когда нам программу разрабатывали подрядчики. Они, конечно, предлагали вариант "сначала мы 4 месяца вам пишем, потом вы тестируете". Постепенно мы их убедили, что тестирование должно происходить на более ранних стадиях. Потому что когда программист 4 месяца пишет "в одну каску" - получается сплошная "муда".
Anatoli Stoyanovski
[info]skyer at 2009-07-02 08:53 (UTC) (Link)
Совершенно верно. Вообще, многие процессы оптимизации производства софта завязаны на "парадоксальный" факт: даже если разработчики честно заняты на 100%, то эффективность различается в разы при умелой расстановке порядка программирования тех или иных компонент системы :)
Василий Бурнин
[info]vasbur at 2009-07-02 09:00 (UTC) (Link)
Занятость программиста, как мне кажется, вообще слабо коррелирует с результативностью :)
Anatoli Stoyanovski
[info]skyer at 2009-07-02 09:05 (UTC) (Link)
Ага! :)
[info]the_realistic at 2009-07-12 13:11 (UTC) (Link)
> "сначала мы 4 месяца вам пишем, потом вы
>тестируете".

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

Я всегда _настаивал_, чтобы заказчики - внешние и внутренние - начинали тестить немедленно. Потому что мне ни разу не улыбается получить под конец в момент запарки и жестких сроков еще и баглист от тестеров. Люблю, когда к этому моменту уже достигнуто некое качество, чтобы совсем уж грубятина не полезла.
Василий Бурнин
[info]vasbur at 2009-07-02 03:33 (UTC) (Link)
Можно еще так сформулировать принцип "непрерывного потока":
"Если кто-то что-то делает неправильно - система должна выявлять и исправлять это максимально оперативно"
Василий Бурнин
[info]vasbur at 2009-07-02 02:59 (UTC) (Link)
Только учитывайте, что "Производственная система Тойоты", "Бережливое производство", "6 сигм" - это немножко разные вариации на одну и ту же тему. Но лучше читать именно про Тойоту. По крайне мере, мне понравилось больше всего изложение в книжке, ссылку на которую я дал вам.
[info]d_ao at 2009-07-01 14:12 (UTC) (Link)
Ко второму принципу в пару бы еще такой: "Не забывай делай то, что необходимо делать сейчас", поэтому я бы сформулировал этот принцип так: "Делай сейчас только то, что нельзя отложить на потом, и не более того".
Gaperton
[info]gaperton at 2009-07-01 14:28 (UTC) (Link)
Согласен. Отличная формулировка. Чем-то похоже на Эйнштейновское "это должно быть просто, настолько, насколько это возможно. Но не проще" :)
Gaperton
[info]gaperton at 2009-07-01 14:49 (UTC) (Link)
И кроме того, надо бы поменять их местами. Первый - это как бы конструктивное продолжение второго, он показывает, как собственно все делать. Да.
mr Denis R.
[info]homo_vitalis at 2009-07-01 21:19 (UTC) (Link)
Очень здравая и интуитивно понятная статья, спасибо. Единственное, что хочется добавить - если взаимоотношения с заказчиком идут по принципу "показывай, что ты сделал, через каждые две недели", то тут он может занервничать, поскольку при выполнении только критичных фич, срок по которым с большим трудом поддается оценке, не будет наблюдать видимого прогресса. Тут приходится, скажем так, к 80% критичных "невидимых" фич добавлять 20% некритичных "видимых" (распределение - условно) в самом начале работы над проектом.
Gaperton
[info]gaperton at 2009-07-01 21:53 (UTC) (Link)
Это тонкость. Надо знать и понимать правила, чтобы их уметь их нарушать. :) На самом деле.
[info]the_realistic at 2009-07-12 13:04 (UTC) (Link)
Тексту-то сколько.

Одна моя знакомая психологиня-HRка мне кратко ответила: дела делать надо в таком порядке:

1) срочные и важные
2) срочные и менее важные
3) несрочные и важные
4) несрочные и менее важные

Вот и все. Не о чем писать 5 экранов текста.
Gaperton
[info]gaperton at 2009-07-13 20:03 (UTC) (Link)
Действительно, если бы я знал, что Вам Ваша знакомая психологиня-HRка кратко ответила - я бы нипочем не стал писать такой длинный текст о том, почему именно работает правило квадрат риск-приоритет. И конечно, нипочем не стал бы вообще вести свой журнал, где я делюсь своим опытом управления проектами.

К моему счастью, я не знал, что именно Вам сказала знакомая психологиня-HRка, не имеющая никакого понятия об управлении рисками, и напрочь игнорирующая фактор рисков в своем "подходе к планированию", так кратко излагающемся в 4 строки. :)

И кроме того, мне совершенно не интересно Ваше мнение о том, о чем, как вам Вам кажется стоит писать, о чем не стоит, и сколько именно экранов текста писать по-Вашему надо. Здесь мой журнал, и я Вас уверяю - я пишу и буду писать дальше на те темы, на которые я считаю нужным, и столько, сколько я считаю нужным. А не Вы, и не Ваша знакомая психологиня-HRка, и кто-либо другой.
[info]the_realistic at 2009-07-12 13:09 (UTC) (Link)
Любой, кто в юности участвовал в физмат олимпиадах, знает, что сначала надо делать _легкие_ задачи, а то убьешь все время на сложную, ее не сделаешь, а времени не хватит на простые.

Но тут ситуация другая. Тут _все срочное_, жесткий лимит времени.

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

Инженер, который начинает с легкого - это или по жизни "попка", или работа в режиме "попки" - багфиксинг к релизу, например, и дописание мелких фичек.

В серьезных вещах нельзя с легкого начинать. Все, что непонятно, при наличии времени надо делать в первую голову, тут вы правы.
[info]salar_s at 2009-08-21 13:44 (UTC) (Link)
"Любой, кто в юности участвовал в физмат олимпиадах, знает, что сначала надо делать _легкие_ задачи, а то убьешь все время на сложную, ее не сделаешь, а времени не хватит на простые."

В олимпиадах нет ни одной критичной задачи, без решения которой вашу работу бы не приняли. Соответственно в полном согласии с рекомендацией автора, пропуская пункты 1 и 2, переходим к пунктам 3 и 4:
3) делаем понятные некритичные фичи
4) делаем непонятные некритичные фичи

Автору предлагаю проапдейтить пост, с разбором примера олимпиад.

-------------------------------
Еще одна рекомендация. Третья.
Прогресс производства софта определяется проходом по "критической цепи" (не путать с "критическим путем"), а не объемом выполненной работы. Соответственно, меняется порядок выполнения задач.
Данная рекомендация верна для задач имеющих зависимости либо друг от друга, либо от исполнителей, либо от ресурсов. Что не так уж редко встречается.

Более подробно смотри "Критическая цепь" Э. Голдратта.
[info]cubancubem at 2009-07-19 08:41 (UTC) (Link)
Не понимаю как такое может быть - именно на вашем блоге через раз антивирусник ругается, на остальных блогах жж нормально :(
Previous Entry  Next Entry  

Advertisement

Customize