|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Svyatoslav Abramenkov 2:464/8088.100 03 Jan 2003 12:36:14 To : All Subject : <none> -------------------------------------------------------------------------------- * Forwarded by Svyatoslav Abramenkov (2:464/8088.100) * Area : SU.SOFTW * From : Maxim Friedental, 2:5010/148.105 (02 Jan 03 21:51:38) * To : Svyatoslav Abramenkov * Subj : <none> ============================================================================= Hello Svyatoslav! Svyatoslav Abramenkov wrote to All: SA> ОБЪЕКТHО-ОРИЕHТИРОВАHHЫЙ СТИЛЬ "В ЖИЗHИ" Мда. Помимо очевидной морали истории (давить "прозаеков", стряпающих книги "С++ для полного #$%" с названиями переменных i,j,k и решением квадратного уравнения на четырех классах) хотелось бы разобрать ошибки в организации software development process. SA> В разрабатываемой нами довольно сложной машине один из сигналов SA> датчика оказался довольно зашумлённым и содержащим резкие выбросы. SA> Я написал простенькую программу на С, включающую медианный фильтр SA> и "скользящее среднее" и выбрал необходимые значения пары SA> параметров. Всё выглядело довольно скромно: длина обрабатываемого SA> массива не превышала 2 тысяч чисел, а оба фильтра надо было SA> применять по скользящей последовательности 7-13 элементов. [...] SA> Так что не думая худого, я приготовил описание программы (оно SA> потребовало уже нескольких страниц) "Hесколькостраничное описание" говорит о том, что у автора (постановщика) и программистов (кодеров) нет общего словаря. Иначе хватило бы тех семи строк, что я отквотил. SA> и отдал программистам для кодировки. Качество коммуникации между постановщиком и кодерами не является идеальным, т.к. путем написания спецификации и "отдавания ее для кодировки" предполагается уменьшить, а в идеале свести к нулю обратную связь от кодеров к постановщику. Это в корне ошибочный подход, т.к. обратной связи на практике все равно не избежать (как мы и видим в примере), только в данном случае она будет очень медленной и эмоционально напряженной. SA> Через пару недель работы первая версия была готова, В этом примере медленна не только обратная связь, но и прямая! Если постановщик считает, что программа реализуется за несколько дней, то через несколько дней + 1 день он должен начинать пинать кодеров, а через неделю уж точно созывать антикризисное совещание. То, что он ждал пару недель, говорит либо о его перегруженности (забыл вовремя проконтролировать) либо об отвратительном качестве коммуникации (кодеры скрывают или прямо лгут о ходе процесса). SA> Всего лишь за полсекунды (Пентиум - 166МГц) программа выдала SA> какой-то случайный (как мне казалось) набор чисел. Мои попытки SA> убедить программистов, что что-то не в порядке, привели к тому, SA> что мне было предложено самому найти ошибку. Совершенно неизбежный (и поэтому вполне нормальный) процесс совместного поиска решения в данном примере имеет чрезвычайный, эмоционально напряженный характер. Примечательно, что стороны так и не сели вдвоем за один компьютер и не "прогнали" весь алгоритм вдвоем (весьма вероятно это сократило бы время поиска ошибки). SA> Как и следовало ожидать, написать более быструю программу никто SA> не предложил - было решено поставить более сильный процессор и SA> добавить память. Hаличествуют какие-то политические дрязги, иначе почему сам автор не предложил в тот момент переписать код поэффективнее? В целом статья вызывает некое благоговение, как перед всякой конторой-динозавром, использующим waterfall. See you. -+- GoldED/386 3.00a + Origin: Frankfurt (Fidonet 2:5010/148.105) ============================================================================= Hello, All! -- Svyatoslav <absolute_sh@mail.ru> [Registered Linux user #219421] --- QDed/Linux * Origin: AbSolute Soft&Hard (2:464/8088.100) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/45900e155998.html, оценка из 5, голосов 10
|