Ответ на пост «Планирование»5
В который раз этот баян постят(а сейчас еще и шакалят), видимо стоит рассказать почему так происходит и кто ошибается.
Для ЛЛ: Косячат все. В том числе работодатель, который не нанял аналитика и пустил представителя бизнеса напрямую к разрабу-социопату.
В нормальной ситуации действующих лиц должно быть минимум 3.
Заказчик(З), аналитик(А) и разраб(Р).
Приходит однажды заказчик и встречает аналитика.
З: Привет! Нам нужно разгрузить машину.
А: Привет! Хммм, звучит как изян. Но я помню "универсальную таблицу оценки", поэтому нужно расспросить побольше и декомпозировать эту, казалось бы простую, задачу.
А: Можешь рассказать немного подробнее о ситуации? Какой груз, где находится машина?
З: Это грузовик с песком. Он сейчас под водой в озере, на глубине 10 метров.
А: Понял. Давай разберёмся с задачей. Попробую в этот раз метод 5W1H для декомпозиции.
А: Что?
З: Разгрузка грузовика с песком.
А: Почему?
З: Нужно освободить место для следующего груза.
А: Где?
З: Под водой, на глубине 10 метров.
А: Когда?
З: Как можно скорее.
А: Кто?
З: Твой один разрабочик.
А: Как?
З: Работая вручную, так как инструментов нет.
Аналитик зовет разрабочика и сообщает ему все что узнал, начинается оценка сроков.
Р: Это звучит сложно, но давай попробуем, тем более подобные вещи мы уже делали.
А: Уважаемый З, нам нужно немного посовещаться и мы сообщим тебе сроки.
З: Хорошо, я вас слушаю.
А: Я предлагаю использовать метод PERT. Нам нужно определить три оценки: оптимистичную, пессимистичную и наиболее вероятную.
Р: Хорошо, давай начнём. Оптимистичная оценка — это когда всё идёт гладко. Я думаю, это может занять месяц.
А: Отлично! А что насчёт пессимистичной оценки?
Р: Если учесть все сложности — холод, вода, отсутствие инструментов — это может занять до лета, пока река не оттает сама.
А: Понятно. А какая наиболее вероятная оценка?
Р: Я думаю, что наиболее вероятно пера-тройка месяцев.
А: Замечательно! Теперь давай подставим эти значения в формулу PERT:
E = O + 4M + P / 6
где E — ожидаемое время, O — оптимистичная оценка, M — наиболее вероятная, P — пессимистичная.
• Оптимистичная (O): Месяц
• Наиболее вероятная (M): 3 месяца
• Пессимистичная (P): 6 Месяцев
Е=3,16
А: Ожидаемое время для разгрузки составляет чуть больше трех месяцев.
Р: Но стоит помнить о возможных задержках из-за холода и других факторов.
А: А у нас уже были подобные проекты? Добавим метод аналогий к более точной оценке сроков.
А: Помнишь, мы уже разгружали Газель с камнями, которая тоже был частично под водой?
Р: О, даааа. В прошлом случае нам потребовалось около 2 месяцев. Я думаю, что в этом случае может быть немного больше времени из-за особенностей песка, глубины и холодов.
А: Согласен, я бы точно добавил месяц к тому сроку.
Р: Да. Кстати, у нас же в прошлый раз были инструменты, это тоже влияет.
А: Да добавим еще месяц. Тогда по этому методу у нас получается 4 месяца, по тому чуть больше трех. Ну в среднем за три с половиной сделаем наверное.
З: Ну что, какой результат?
А: Мы оценили, что разгрузка займет около 3 с половиной месяцев, основываясь на аналогиях с предыдущими проектами.
Р: Но стоит помнить о возможных задержках из-за отсутствия инструментов и условий на месте.
З: Понятно. Спасибо за информацию! Давайте готовиться к разгрузке!
Да эта портянка получилась сильно длиннее, чем изначальный шакальный жипег, но вот так душно и очень упрощенно оно и работает.
Поэтому если встречаются жадный заказчик, неопытный разраб и отсутствует аналитик, то происходят такие тупые ситуации.
Если аналитик с разрабом в команде отлично сработались, имеют хороший бэкграунд и отличную коммуникацию, то все упрощается намного, часто аналитик и сам способен оценить бОльший объем, выставить сроки и стоимость. В этом случае заказчик получил бы примерный срок сильно точнее.
Ну и картиночку на всякий случай вставлю для красоты
Ответ IntelInside в «Планирование»5
Просто все эти ваши программисты постоянно дурочку включают, вот и всё. Ни фантазии, ни разума, чисто шаблонное мышление. Как язык программирования дал, так они и думают.
Прилетела задача - разгрузить машину. Что сделает инженер? Пойдёт и посмотрит, что за машина, какой груз и чем её разгружать, после чего примет инженерное решение и выполнит задачу. И никто перед инженером не раболепствует, никто инженера не спрашивает, сколько ему времени нужно, ему дают смену на разгрузить машину, и инженер идёт и разгружает.
Что сделает мамкин айтишнек? Навалит кучу шаблонного кода и "я сделяль", а потом тесты бесконечные, дейлики, созвоны и так по-кругу неопределённое количество времени, а потом выходит какой-нибудь киберпук 2099. А почему? А потому что "Чё? Погугли! В интернете уже есть решение!" - есть, только с тем решением машину не разгружали, а загружали, и не машину, а самолёт, и не песком, а кубиками.
И параллельно ещё велосипеды изобретать пытаются, жалуются на не чёткие ТЗ и гордо заявляют "Да нам не нужон бюрократий ваш" (хотя, если разобраться, даже гит - та же бюрократическая система с бумажками и отчётами, только автоматизированная, и при хорошей разработке занимает не меньше времени, чем документооборот на заводе, а про нормальные ТЗ вообще молчу).
Потому российские айтишнеки, уехавшие в Европу, и в шоке от того, что там они зарабатывают никак не больше условного электрика в местном ЖКУ или инженера в каком-нибудь Бош, и не получится там никого обмануть о том, что электрощиток в доме подключить - проще, чем сделать кликабельную кнопку на веб-странице.
П.С. Речь не идёт о трушных программистах, которые как нейрохирурги работают над самой сутью взаимодействия кода и транзисторов, и применяют в своей работе сложные интегральные и матричные вычисления.
П.П.С. Пост не призывает платить мамкиным айтишникам маленькие зарплаты, пост призывает мамкиных айтишников перестать валять дурака, мнить себя дохрена умными и начать работать.
Ответ IntelInside в «Планирование»5
Абсолютно верно подмечено!
Разработчик всегда думает, что всё знает. И даже мысли не возникает уточнить задачу.
"Разгрузить машину"? Конечно, уже сделано! Полтора часа списано, давайте новую таску! Ой, так это камаз, ой, а он с песком, ой, а я заложился под газельку с сеном, ой, а в условии ничего не было про камаз, и я взял дефолтные значения, пук-среньк...
А ничего, что у нас на предприятии только камазы, и мы возим только песок вот уже пять лет? Ах это надо было писать в таске? Чел, а может, тебе там ещё каждый раз писать, что у машины четыре колеса, а кузов сзади?
Безусловно, бывают трёхколёсные машины, и бывает кузов спереди, и мы могли именно вчера купить газельку, чтобы возить сено. Но какова вероятность этого? Может, надо иногда включать голову и не изображать из себя кусок компьютера?
Бесит до усрачки.
Ответ на пост «Планирование»5
- Слушай, ты разработчик. Ответь, почему разработчики всегда неправильно оценивают время на создание программ?
- Представь, что тебе надо разгрузить машину, сколько времени это займёт?
- Пару часов.
- Это камаз.
- 8 часов.
- Камаз, груженый песком.
- 12 часов.
- У тебя нет лопаты и инструментов, только твои руки.
- 2 дня.
- На улице -40.
- 4 дня.
- Камаз вообще под водой.
- Так же нечестно, то постоянно придумываешь новые условия! К чему ты мне вообще всё это рассказываешь? Вы, разработчики, вечно всякую фигню рассказываете! Вместо этого могли бы просто оценить правильное время на разработку.
Простите, я не выдержал такого нашествия шакалов!
ТС, на клавиатуре есть много других кнопок, помимо Ctrl+C и Crtl+V.
Примерно минуту у меня заняло, чтобы перевести этот текст с шакальского на русский.
Даже если ты очень хотел выложить его картинкой - текст можно напечатать и в Paint'e.
Если твоя единственная цель здесь - насобирать плюсов, то красиво оформленный пост явно соберет их больше, чем полчища ебучих шакалов.