Про неуспешные проекты
Опубликовано Serguei_Tarassov в пт, 23/01/2009 - 16:18.
В ЖЖ-сообществе руководителей проектов пытаются обсуждать, почему "90% проектов завершается с превышением сроков и бюджета, а также в неполном соответствии с техническим заданием".
Собственно фраза про "90%" озачает, что современный инструментарий и технологии неадекватны 90% софтостроительных проектов: неоправданно сложные и далекие от прикладных задач. И обсуждать надо их. Проблемы управления надо обсуждать, когда станет наоборот, т.е. 10%.
Методологии разрабатывают ученые-ислледователи. Потом ищут пути их прикладной реализации. То что людям впаривают сейчас под "методологиями" - это уровень маршрутных карт, разработанных продвинутыми технологами в рамках своих локальных софтверных производств.
- Блог пользователя Serguei_Tarassov
- Добавить комментарий
- Просмотров 1110

Собственно
Собственно фраза про "90%" озачает, что современный инструментарий и технологии неадекватны 90% софтостроительных проектов: неоправданно сложные и далекие от прикладных задач. И обсуждать надо их. Проблемы управления надо обсуждать, когда станет наоборот, т.е. 10%.
Наоборот. Проблема именно в управлении. И когда останется 10% тогда можно будет поговорить о технологиях.
Ой-ой-ой Разве
Ой-ой-ой
Разве господам неизвестно, что получив деньги за проект все бросаются искать самую дешевую рабочую силу, а потому некомпетентную? Деньги проекта по существу уходят на самообразование и повышение уровня компетентности.
И, кстати, само решение на уровне архитектора системы также страдает именно выбором не лучшего решения, а самого дешевого. А значит вступает в силу закон 20 к 80: 80% работ мы делаем за 20% времени, а 20% работ мы не делаем за 80% времени так как это не выгодно. Обычный айти бизнес.
И в третьих. Понятно, что софтостроение ориентировано на реализацию общего. Специализированные решения, конечно, тоже бывают, но их не особенно оттиражируешь. Поскольку каждый заказчик имееет и общую компоненту и частную (это, я надеюсь, очевидно), то получается огромный дизбаланс между общим и частным при внедрении. Общее решение имеет массу ненужного и мешающего, а частное получается куцым и натянутым.
Объяснить или понять...
При всем уважении, позволю себе не согласиться по следующим моментам:
Разве господам неизвестно, что получив деньги за проект все бросаются искать самую дешевую рабочую силу, а потому некомпетентную?
Компетентность и стоимость рабочей силы не всегда являются взаимосвязанными показателями, особенно, в условиях глобализации... и столь же глобального кризиса. Сейчас, например, за небольшие деньги можно получить весьма квалифицированного специалиста. С другой стороны, желание снизить издержки, в том числе, за счет оплаты труда... вполне понятное (правильное) решение. Не думаю, что Microsoft осваивала индийский рынок труда из... филантропства.
И, кстати, само решение на уровне архитектора системы также страдает именно выбором не лучшего решения, а самого дешевого.
Давно известно, что "лучшее - враг хорошего". Лучшее решение рождается к 7-8 версии, как правило. А для апробации необходимо именно быстрое и дешевое решение. Не подумайте, я не оспариваю Ваш тезис... Как и Вы, я против скоропалительных решений... но я и против того, чтобы растягивать проект ради... "журавля в небе". Другими словами, я против того, чтобы браться за проект, для которого априори у руководства нет решения.
Понятно, что софтостроение ориентировано на реализацию общего. Специализированные решения, конечно, тоже бывают, но их не особенно оттиражируешь
И здесь есть некоторая "натяжка". Можно смотреть на "общее", как на некий "прототип" частностей. Такое "общее" легко тиражируется. Но можно смотреть на "общее", как на некоторое пересечение частностей (а-ля пересечение множеств). Такое "общее" трудно (дорого) тиражировать и сопровождать из-за необходимости множества доработок. Но трудно и дорого не означают - невыгодно!.. Наконец, можно смотреть на "общее", как на объединение частностей. Такое "общее" очень объемно, его трудно/дорого создавать и развивать (всегда может добавиться новая частность... с последующим неизбежным рефакторингом), его трудно/дорого сопровождать, трудно/дорого осваивать и внедрять. Но опять же трудно/дорого само по себе ничего не означает... Собственно, многие СУБД, ERP, CAD и пр. системы тому пример.
Что же хотел сказать?.. Ах, да... вспомнил... Можно повторять признаки провальных проектов из "Путь камикадзе", можно расширять этот список... Но, дело в том, что... это лишено смысла. Понимаете, К. Поппера, в начале его исследований, заинтересовал один феномен: теорию Эйнштейна мог опровергнуть один единственный факт. А теории Фрейда или Юма опровергнуть невозможно, в принципе. Эти теории объясняли любой факт. Спросите адептов теории Фрейда о провале какого-либо проекта, они объяснят это посредством "либидо". Проблема в том, что объяснить можно все, что угодно... а вот понять... нет. Теории самого Поппера пусты, но был искренен в своих исканиях, что совсем не так плохо. С автором "пути камикадзе" все гораздо хуже... Ну, да... Бог ему судья... и всем его последователям тоже.
Компетентность
Компетентность и стоимость рабочей силы всегда связаны. Иначе я бы Вам сейчас не отвечал так как этот кризис у меня не первый. А деньги на свою жизнь я получаю только с работы. И при любом кризисе я оказываюсь нужен, причем еще больше, чем когда кризиса нет. Так как любой кризис - это прежде всего чистка. Я пользуюсь в данном случае старым определением, что деньги - это эквивалент труда. По моему это К.Маркс.
С другой стороны, желание снизить издержки...оплаты труда...
На это отвечу что Майкрософт осваивала в Индии рынок прежде всего труда и тот кто попал в Майкрософт уверен не жалуются так как получают немало.
Лучшее решение рождается к 7-8 версии,
Это что же за роды такие долгие? Это про путь поисков и ошибок что ли? Если на такой точке заключен договор, то сроки вообще будут непредсказуемы. Я и говорю, что именно на это и разбазариваются деньги проекта.
По поводу общего и частного тут, конечно, каждый сам кроит по себе. Тем более я вижу перед собой ответ коммерсанта. Да трудно, дорого, но выгодно. А значит будем работать. Этот подход очень далек от объективной истины, которая должна лежать в основе любой жизнеспособной системы. Причем независимо от субъективной выгоды любого.
По Фрейду могу сказать следующее.
Простить - это значит понять (см. фильм Ширли-Мырли). Там как раз мама (как менеджер проекта трудных родов) просит прощения у сыновей, пытаясь объяснить почему так получилось. И заметьте прощают, потому что понимают, что деться то некуда. Ведь куда смотрит менеджер проекта? Да, конечно, наверх, на своего заказчика. И половина проекта лежит в одном слове "прощаю". Это - либидо.
"От тюрьмы и от сумы..."
Компетентность и стоимость рабочей силы всегда связаны. Иначе я бы Вам сейчас не отвечал так как этот кризис у меня не первый. А деньги на свою жизнь я получаю только с работы. И при любом кризисе я оказываюсь нужен, причем еще больше, чем когда кризиса нет. Так как любой кризис - это прежде всего чистка. Я пользуюсь в данном случае старым определением, что деньги - это эквивалент труда. По моему это К.Маркс.
Об этом, IMHO, не стоит говорить... возле службы занятости... побить могут. Чем виноваты те 1,5 миллиона россиян, которых "почистили". Да, и было бы большой ошибкой считать, что службу занятости осаждают те, кто имеет низкую квалификацию. Как говорится, "от тюрьмы и от сумы не зарекайся".
Майкрософт осваивала в Индии рынок прежде всего труда и тот кто попал в Майкрософт уверен не жалуются так как получают немало.
Вы забыли указать... "получают немало" по каким меркам: Индии или Microsoft? Для Индии зарплата $1000 в месяц считается достаточно высокой, а для Microsoft - низкой.
Лучшее решение рождается к 7-8 версии, Это что же за роды такие долгие? Это про путь поисков и ошибок что ли?
Это про исправление ошибок, недочетов, совершенствование эргономики, отказ от первичных представлений и т.п. Возможно, что Вы пишите с первого раза и "на века"... Но это дано не всем.
В том то весь и
В том то весь и фокус, что служба занятости - это и есть главные чистильщики тех полутора миллиона россиян, которые потеряли работу. Без их психологического фильтра нельзя сейчас формально устроиться на работу. И вовсе здесь уже компетентность ни при чем. В смысле занятости мы видим дизбаланс профессий. Скажем, нужен столяр, а он стал экономистом, скажем. Говоря о чистке, я имею в виду,что при кризисе больше становятся востребованные те специальности, которые создают, а не перераспределяют. Так как распределять становится нечего. Битье, тюрьма и сума - это аргументы, но не для меня уже. Все в руках Божьих.
Я не жил в Индии, поэтому не знаю. Но я знаком с людьми, которые работают на Майкрософт в России. Уверяю Вас - это другой ранг.
При чем тут персоналии? "не дано...", "на века..."? Я, например, знаком с платформами CA TNG Unicenter, HP OpenView, DocsVision, Nexus и на их основе у меня были проекты создания систем для заказчиков. Уверяю, что без разработанной заранее платформы никакие решения в сроки у заказчика не реализовать. То есть платформа представляет собой домашнюю отлаженную заготовку. Как раз она и является уже написанной 7-8 версией. А у заказчика ты ее просто курочишь, потому что существуют заказчики на территории которых даже физические законы не действуют иногда.
И в этом плане очень важную роль играют интеграционные возможности платформы. Скажем, мой сегодняшний текущий проект, в основу которого положена платформа репликации Майкрософт, оказывается может выполнять удивительные вещи именно по интеграции приложений таких как 1С, Project,... причем не касаясь работы самих приложений. У меня уже был опыт модификации биллинговой системы (ms sql and foxpro) на ходу при помоши Nexus, когда я на боевой сервер откомпилировал скрипты и добился получения нового функционала для биллинга. По аналогии с этим, используя обычную репликацию, найдена техника, которая позволяет, не разрушая работу текущего приложения, синхронизировать распределенные БД. В общем случае это БД могут быть разнородных приложений. И что самое главное, это можно выполнить не останавливая работу заказчика. Это кризисная тема!
И обращаясь к тем полуторамиллионам россиян, которые обивают пороги чистильщиков, я предлагаю не обивать их пороги, а найти новую тему существования для себя. Тогда сами чистильщики останутся без работы. Можно, конечно, и меня побить, если это решит Ваши проблемы.
Про доблесть
В том то весь и фокус, что служба занятости - это и есть главные чистильщики тех полутора миллиона россиян, которые потеряли работу. Без их психологического фильтра нельзя сейчас формально устроиться на работу. И вовсе здесь уже компетентность ни при чем.
Таким образом, приходим к простому выводу, что уровень оплаты определяется, прежде всего, востребованностью (соотношением спроса и предложения), и только потом квалификацией. Это объясняет, как стриптизерша в баре может заработать за ночь больше, чем доктор наук за месяц... ("Хлеба и зрелищ" для удовлетворения толпы).
при кризисе больше становятся востребованные те специальности, которые создают, а не перераспределяют.
... с точностью до наоборот. Вспомните для примера, "кризис перепроизводства". Да, и сейчас останавливается именно "созидающая" промышленность, как в нашей стране, так и других странах. С другой стороны, во время любого кризиса возникает нехватка каких-то ресурсов (например, денег (а-ля, ликвидности)). А нехватка ресурсов автоматически делает востребованными именно функции арбитража и распределения. И вот уже премьер-министры, президенты и конгрессы решают: давать деньги или нет, кому давать, а кому нет, сколько и когда... И это, увы, объективный процесс. При этом он (процесс перераспределения) порождает субъективное (ошибочное) мнение, что таким образом можно выйти из кризиса. Увы, им...
Уверяю, что без разработанной заранее платформы никакие решения в сроки у заказчика не реализовать.
Я бы не стал утверждать столь категорично, поскольку ответ зависит от задачи, исполнителя, сроков, ресурсов и... заказчика.
То есть платформа представляет собой домашнюю отлаженную заготовку. Как раз она и является уже написанной 7-8 версией.
Мы понимаем друг друга... :)
По аналогии с этим, используя обычную репликацию, найдена техника, которая позволяет, не разрушая работу текущего приложения, синхронизировать распределенные БД. В общем случае это БД могут быть разнородных приложений.
Ну, это задача далеко не всегда имеет решение... Распределенными системами, репликацией (синхронной и асинхронной, одно- и разно-направленной), событийными механизмами и механизмами синхронизации... я тоже начал заниматься не вчера.
И обращаясь к тем полуторамиллионам россиян, которые обивают пороги чистильщиков, я предлагаю не обивать их пороги, а найти новую тему существования для себя
Угу... по весне начнутся захваты земли под огороды, а по осени усилится "чистка" садов и дач, от... заготовок. Увеличится число мошенников, разбойных нападений, угонов и грабежей... "Новые" темы обязательно найдутся.
Тогда сами чистильщики останутся без работы. Можно, конечно, и меня побить, если это решит Ваши проблемы.
Моих проблем это не решит. Просто есть такие проблемы, которые нельзя решить на уровне того индивидуума, у которого они имеются. От социальных "болезней" лечить отдельного человека... не есть доблесть.
Мы мыслим на
Мы мыслим на самом деле с точностью до наоборот.
Ведь сам процесс "чистки" он древний и при Юлии Цезаре он назывался децимацией. То есть войско становилось в колонну и каждому десятому отрубали голову. Смысл был чисто психологический (может быть я ошибаюсь и был другой смысл). Так вот чистка устраивается по решению сверху субъективно, а вовсе не как следствие объективного кризиса.
А все остальное это плясание под бубны, надо же чем-то заняться во время заклания.
Под новыми темами я имел в виду созидательные, а вовсе не преступные. Но , мне кажется, это не относится к тем людям, которые стоят в очереди за работой. Хотя, Вы, конечно правы.
Мрак пронизал всю мглу
Санкт Петербургского тумана
И я, здесь, на Владимирском углу
Встал очень рано.
Экономика и кризис
Так вот чистка устраивается по решению сверху субъективно, а вовсе не как следствие объективного кризиса
Мы, действительно, различно оцениваем события. О том, что данный кризис неизбежен, я говорил с начала 200х г. Большинство смеялись, по привычке относя подобные прогнозы к "чудачествам". Считалось, что западная экономика сверхустойчива, и никакой кризис не способен ее поколебать. Между тем, западная экономика живет и развивается по тем же законам, что и любая другая... И любые "перекосы" неизбежно приводят к кризисам. А "перекосов" было (и есть) предостаточно...
А (мировая) экономика - это... всего лишь система...
Об этом говорил
Об этом говорил еще Карл Маркс. Одним из пунктов его теории была как раз периодичиность возникновения кризисов при капитализме. Однако он и не подозревал, что кризисы можно устраивать специально:)
Апериодичная депрессия
Экономика может развиваться и без кризисов... Точно также, как человеку совсем необязательно время от времени впадать в депрессию.
Конечно,
Конечно, экономика может развиваться без кризисов. Но не развивается. Что-то ей мешает. Я прослеживаю очень стойкую периодичность в российской экономике с периодом в декаду или дюжину (1988-1998-2008).
Главной причиной кризисов вижу жадность, которая проистекает от подмены зарабатывания денег, как средства достижения цели, на зарабатывание денег, как цели. Деньги как цель (то есть трата их в угоду себе на блаженства) суть абсурд и экономика, построенная на этом принципе, абсурдна. А потому кризисы неизбежны.
Об этом не я первый пишу. Об этом пишут и экономисты. Я то так рассуждаю как на кухне в коммуналке. А по поводу депрессии у человека. Вижу, что и Вам знакомо это состояние. Считаю, что это личное дело человека. И не надо разбирать ни его, ни его депрессию. а то получится, как в штатах.
Мрак пронизал всю мглу
Санкт Петербургского тумана
И я, здесь, на Владимирском углу
Встал очень рано.
Здесь хмари вандализм
И серости круженье,
А на Владимирском мой -изм
Готов к движенью.
Здесь тени, сумерки и темнота,
Неясность, дымка, мути пелена,
Из сумрака случайная реклама,
И силуэт Владимирского храма.
PS Кто жил в Питере тот поймет и скажет, что это вовсе не депрессия, а зарисовка Владимирской площади, где Владимирский храм, памятник Достоевского зимой, когда солнца не видел уже несколько месяцев.
Очень краткое согласие :)
Собственно, Вы все так хорошо написали, что мне остается только... поаплодировать и присоединиться. Мне почти нечего добавить к сказанному, поэтому... добавлю... много :)
Главной причиной кризисов вижу жадность, которая проистекает от подмены зарабатывания денег, как средства достижения цели, на зарабатывание денег, как цели
Дело в том, что "экономика" - это тоже самое, что и "человек". Есть у математиков понятие фрактала, где малое подобно большому, а большое малому. Так и экономика, отражает свойства самого человека. Человек обладает телом. О теле надо заботиться... кормить его, одевать, строить для него жилища, создавать удобства. И вся "материальная экономика" вращается вокруг этого. Но само тело лишено разума и оно бездуховно, оно ни в чем не знает меры, сколько в него не вкладывай, ему все равно будет мало. Разумом мы понимаем, что 20 костюмов, висящих в шкафу, одновременно надеть невозможно. Невозможно жить одновременно в трех квартирах или разместить свою задницу одновременно в пяти автомобилях. Но тело почти не слышит доводов разума, не ощущает стыда... Ему все время мало, оно все время хочет сытости и довольства. Это основа корысти, жадности, стяжательства, зависти, злобы.
Хорошо, что у человека есть разум, он может влиять на тело. Может убедить его не только брать, но и давать, не только потреблять, но и делать... Разум подсказывает, что в одиночку добывать пищу трудно, а объединившись... что разбивать орехи лучше камнем, и не первым попавшимся... а если этот удобный камень еще слегка обработать, то... а если взять палку... а если воспользоваться огнем... И начинает развиваться "экономика идей". Появляются знания, которые реализуются в проектах жилищ и зданий, лодок и кораблей, надувных шаров и космических ракет. Но... и тело влияет на разум... оно шепчет: "Ты так легко разбрасываешься идеями, а что ты получаешь взамен?". И вот уже разум начинает требовать признания, именных знаков отличия, дипломов, свидетельств, поклонения... И человек обретает тщеславие, он разменивает свой талант на получение званий и титулов, на получение не результата, а признания и зависти коллег, чинов, должностей...
Хорошо, что у человека есть чувства, они способны пристыдить человека. Они способны будить в человеке тягу к прекрасному и отвращение к пошлости... Они заставляют тело стараться создавать предметы труда не только утилитарно удобно, но эстетично и красиво. Они заставляют разум искать наиболее эффективные идеи, перерабатывая множество вариантов, совершенствовать механизмы отбора, строить аксиоматику и доказательства. Не просто создать конструкцию моста, но и доказать, что он способен выдерживать нужные нагрузки. Чувства человека формируют "экономику искусства", которая превращает талантливых ремесленников в гениальных мастеров. Но не только чувства влияют на разум и тело, оно и они формируют чувственность. И, собственно, корысть, зависть, тщеславие - это чувства.
И вся экономика состоит из этих трех ипостасей, которые отражают свойства человека.
Но человек... имеет цели, которые можно отнести к следующим категориям: корысть (для себя), самореализация и польза (для общества). Любой человек должен питаться, одеваться и где-то жить, поэтому корысть необходима, до определенных пределов. Потребность в самореализации является основным "двигателем" развития человека, но она может быть использована для корысти или принесения пользы обществу. Наконец, человек может жить во имя своих близких или общества в целом.
Экономика должна быть корыстной, поскольку необходимо кормить, одевать людей, строить жилища. С другой стороны, экономика может быть эффективной только в случае, если (в идеале!) каждый человек имеет возможность полезной (для общества) самореализации. А самореализация - это вложение человеком Души в свою Работу. Это так просто... понять, но... увы... современное общество творит экономику с корыстью во главе угла.
отчего да почему
пироги потому что печёт сапожник вот почему.
а где печёт пирожник - всё нормально
Не сходится
Не может в 90% случаев сапожник печь пироги.
не согласен
Превышение сроков и бюджетов не зависит от инструментария.
90% провалов говорит о том, что РП не могут/не готовы/не хотят реально оценивать сроки и бюджеты.
Причины этого лежат в нематериальности полученного продукта. Софтостроитель не может обосновать заказчику сроки так же просто как строитель домов:
- Быстрее можно?
- Нельзя, бетон не застынет!
Когда останется 10%, тогда можно будет говорить о не адекватности выбранных инструментов для таких проектов.
Не могут
Не могут оценивать, т.к. неадекватность инструментария и технологий порождают слишком много неопределенностей.
Вспомни Ultima-Seller (а я думаю, что и Seller 2, + опыт оценки в Ontario). Когда технология была заточена, можно было относительно легко разбивать задачу на документы, используя их количество и сложность как метрики, и достаточно очно определять сроки. Подобное происходит во всех 10% проектов, где технология позволяет людям адекватно оценивать сроки и сложность.
уточним понятие "инструментарий"
Интрументарий и технологии для производства программы как таковой вполне адекватны - визуальное программирование, ОО языки, .NET и Java, СУБД, системы автоматического тестирования. Наличие этого свидельтсво того, что кодирование программ вышло на индустриальный уровень.
Но ... это позволяет снизить сложности второстепенного порядка.
Основная сложность в том, что прежде нужно создать информационную модель решаемой задачи.
Основные инструменты программиста-проектировщика/архитектора/аналитика - текстовый процессор и электронные таблицы.
Все остальное позволяет зафиксировать (именно зафиксировать, а не разработать) лишь отдельные фрагменты модели:
- ER диаграммы - модель данных,
- UML - функциональные связи.
Нотации для всестороннего описания информационной модели нет.
Т.е. инструментарий проектировщика (архитектора) по отношению к кодеру находится на уровне макроассемблера.
10% это "счастливый" случай когда созданная для одной задачи модель, оказалась применимой для другой. Это совпадает с оценками повторного использования кода у Брукса.
Рекомендую прочитать 16 и 17 главы у Брукса (http://lib.ru/CTOTOR/BRUKS/mithsoftware.txt).
За 30+ лет практически ни чего не изменилось, как он и предсказывал.
Кодирование
Инструментарий и технологии кодирования развиваются, хотя качественного шага, который был при переходе с мнемокода на ЯВУ не произошло. Но даже для разработки программы (а не программного пакета, программной системы или программного комплекса) этого недостаточно.
Производство - узкоспециализированная деятельность. Производители кораблей не могут производить самолеты или абстрактный "транспорт" вообще. Для софтверных же фирм специализация - не правило, а скорее, исключение. В большинстве своем они производят абстрактное "программное обеспечение"
Конструирование?..
Инструментарий и технологии кодирования развиваются, хотя качественного шага, который был при переходе с мнемокода на ЯВУ не произошло
Переход с "мнемокода" на ЯВУ был следствием осознания
1. Необходимости выразительных средств (языка);
2. Анализа необходимых и достаточных языковых конструктивов;
3. Разработки (теории) трансляторов.
Для следующего перехода необходимы... те же шаги, но по формализации предметных областей. Пока же предметные области представляются нам чем-то уникальным, то никакого "языка" создать не можно.
Производство - узкоспециализированная деятельность. Производители кораблей не могут производить самолеты или абстрактный "транспорт" вообще
Могут и производят... Тот, кто производил самоходные орудия, освоил выпуск трамваев... например. Но дело не в этом. Любое производство имеет в основе технологию. Технология (технологический процесс производства) состоит из технологических операций. Каждая операция включает в себя: предмет труда, средства труда и, собственно, сам (живой) труд. Если есть понимание того, что каждая технологическая операция выполняет некое элементарное преобразование, то, как правило, не возникает проблем с тем, чтобы связать передачами (полуфабрикатов) некую совокупность операций в единый технологический процесс.
Технологический процесс - целое, технологическая операция - его часть. Получаем простую систему... или язык...
Опуская подробности, можно вполне уверено сказать, что следующий шаг в программировании - это конструирование систем из элементов. Конструирование (вместо "чистого" программирования) развивается в нескольких направлениях, можно говорить о сборке визуальных форм из "контролов" или отчетов, но можно говорить о сборке программы из "модулей" или систем из подсистем.
Можно согласиться с тем, что "теоретическая часть" отстает... но, с одной стороны, она слишком элементарна (и каждый может вывести ее сам), а, с другой стороны, сознание программистов испорчено всякими Бучами, Йорданами и пр. Ну, так это, опять же дело каждого, понимать или... читать.