|
Планирование проекта
|
|||
---|---|---|---|
#18+
Работаем на металлургическом предприятии с численностью 3000 чел. (12 прогр.), занимаемся разработкой собственной системы, зачастую без ТЗ(заказчики сами не в состоянии составить) и с указание должно работать завтра, в таких условиях необходимо иметь четкий план работ, так вот мне интересно кто чем пользуется при планировании разработки: -составление DFD/CDF диаграмм; -составление структурных схем (из этого отдела документы поступают ...) с описание бизнес процессов; -ждем ТЗ и потом планируем; -начинаем программировать то что понятно, а там разберемся. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 15:09 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Четкого плана работ в такой ситуации не будет никогда - вернее, он будет столь часто перекраиваться и нарушаться, что смысла в нем нет. В целом, у Вас как-то свалены в кучу разные вещи: план работ, ТЗ, инструменты анализа и проектирования, общая технология...... В такой ситуации в первую очередь нужен квалифицированный руководитель вашей группы - который сможет и удовлетворять реальные потребности заказчика, и в то же время при необходимости жестко говорить "нет", типа "да, я понимаю, что это нужно завтра, но завтра этого не будет". Дальше, нужна технология, рассчитанная на большую гибкость и минимальную длительность цикла разработки, на отработку разного рода срочных задач, исправление критических ошибок на фоне нормальной планомерной работы. Оптимальной для такой ситуации я полагаю следующую схему: полноценно документируется общая архитектура модуля, то, что можно назвать решением стратегической задачи. Детали документируются непосредственно в программном коде "на ходу", и исправляются вместе с внесением изменений в модули; исправления стратегических документов при этом как правило не требуется. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 15:44 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
softwarerквалифицированный руководитель вашей группы - который сможет и удовлетворять реальные потребности заказчика, и в то же время при необходимости жестко говорить "нет", типа "да, я понимаю, что это нужно завтра, но завтра этого не будет". Руководителем группы являюсь я, сказать жестко "нет" можно (и говорим), но что-бы слова имели вес надо обосновать. softwarerДальше, нужна технология, рассчитанная на большую гибкость и минимальную длительность цикла разработки, на отработку разного рода срочных задач, исправление критических ошибок на фоне нормальной планомерной работы. В этом-то и состоит вопрос кто какой технологией пользуется. Типа > составляем описание бизнес-процессов "как есть", предлагаем "как должно быть", составляем план разработки, устанавливаем сроки, потом составляем процессную диаграмму, привлекаем ведущих, проектируем базу... и потом придерживаемся постановки или пишем программу ставим заборы и таким образом ровняем ситуацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 16:03 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayKно что-бы слова имели вес надо обосновать. Лучшее обоснование для слов - практика. Особенно для человека, мало знакомого с "кухней". В этой связи я довольно часто вспоминаю один эпизод, который у меня был несколько лет назад. Тогда состоялся примерно следующий диалог (формулировки, разумеется, не дословные имя "Ваня" сугубо условное): Начальник: Саш, вот надо сегодня это сделать Я: Никак. На это нужно дня четыре Начальник: Да ладно тебе, вот Ваня бы сделал Я (пожимая плечами): Ну пусть Ваня и сделает (через пару дней) Начальник: Саш, ты говорил, что дня за четыре сделаешь? А то Ваня сделал, но..... В вашем случае, имхо, лучшим обоснованием будет то, что говоря "да" - Вы делаете. Если человек отвечает за свои слова, говоря "да" - резонно предполагать, что и "нет" он говорит не с бухты-барахты. NikolayKВ этом-то и состоит вопрос кто какой технологией пользуется. В первую очередь нужно определить требования, которые бизнес к вам выдвигает. Я бы предположил примерно следующее: - время исправления критических ошибок и недоработок порядка часов, в худшем случае дней - реализация поставленных задач в порядке их срочности и важности с регулярным выпуском новых версий (недельная или месячная периодичность, лучше недельная) - планомерное покрытие новых областей (если система недавно начата и еще не охватила деятельность предприятия) - возможность внезапного возникновения приоритетных задач - наличие некоторого количества несложных хотелок, которые следовало бы сделать быстро по политическим соображениям (пожелания руководства итп) В такой ситуации безусловное "ждем ТЗ, потом планируем, потом рисуем..." просто не пройдет по времени. С другой стороны, "сразу бросаться кодировать" - породит страшного и бесполезного монстра. Примера замечательной работы в такой ситуации я не видел и не организовывал. По незамечательному примеру, в котором участвовал (с сильным перекосом в "сначала запрограммируем, потом подумаем"), и по прочим виденным я бы сказал так: 1. Обязательная документация по задачам должна быть минимальной; такой, чтобы программист мог не особо напрягаясь проработать ее по ходу решения задачи. Скажем - ER-диаграммы плюс документирование решения в программном коде. 2. Задачи должны ранжироваться по сложности-срочности и обрабатываться по-разному. Простые и срочные следует пускать по кратчайшему пути - программист-тестер-релиз, сложные и не столь срочные - по более длинной и идеологичной цепочке, с аналитиком, хорошо проработанным ТЗ итп. 3. Сборка релиза должна быть максимально гибкой и допускать возможность включения-исключения решения тех или иных задач в последний момент. Не должно возникать ситуации, при которой "семеро ждут одного". 4. Тестирование должно быть в значительной степени автоматизировано, или же превратится в вечный геморрой. Что именно есть "идеологически правильная цепочка" - решайте по месту, тут уже вам виднее. Главное - гибкость; главное - чтобы большие и серьезные задачи были правильно спроектированы, но в то же время их можно было "за полчаса" доработать по мелочи и это не требовало бы внесения изменений в кучу документов. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 16:51 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Спасибо за исчерпывающий ответ, но есть один пунктик softwarer4. Тестирование должно быть в значительной степени автоматизировано , или же превратится в вечный геморрой. Как автоматизировано, потому что гемора с не протестированными программами предостаточно, тестирование модуля программистом ничего не дает (он нажимает те кнопки и в той последовательности в которой писал логику), приняли на работу консультанта в чьи обязанности входит и тестирование (или руки кривые или ... но результата нет), все равно пользователи звонят и сообщают о багах. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 17:17 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Хм. С технической точки зрения на "как" ответов предостаточно - и технологии, и инструменты есть. "Кнопки в той последовательности" - имхо не самый страшный вариант, поскольку они означают, что хоть в какой-то последовательности функция выполняется. Хуже, когда изменения ломают что-то старое - так, что оно вообще перестает работать. Мне так кажется, что при команде в двенадцать человек вполне можно выделить бюджет на квалифицированного тестировщика; его присутствие окупится экономией времени программистов, которые сейчас лениво и неумело тестируют свои программы (и говоря честно - один тестировщик утонет в объеме работы, который ему подбросят двенадцать разработчиков. Что же до "одного консультанта, который в том числе и тестирует" - тут и речи быть не может о сколько-нибудь адекватном покрытии, если конечно программисты не проводят весь день за квейком). Что же до "пользователи звонят и сообщают" - безусловно, какое-то количество ошибок всегда будет прорываться, но при нормальном тестировании можно добиться достойных показателей. Но тут есть еще один момент, которого я опять же пока нигде не видел внедренным, но который считаю важным (может быть, постепенно раскачаю на текущей работе) - мне представляется важным анализировать проблемы. Не просто исправлять, но тратить время на то, чтобы выделять классы регулярно возникающих проблем и искать, что переделать в технологии так, чтобы эти проблемы ушли; где та дырка, которая их порождает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 17:42 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
softwarer(и говоря честно - один тестировщик утонет в объеме работы, который ему подбросят двенадцать разработчиков. Что же до "одного консультанта, который в том числе и тестирует" - тут и речи быть не может о сколько-нибудь адекватном покрытии, если конечно программисты не проводят весь день за квейком). Наверное действительно утонул!!! softwarerмне представляется важным анализировать проблемы Для анализа проблемы надо накопить статистику по наиболее возникающим проблемам потом можно что-то анализировать. Я попросил что-бы мне написали програмулину(может велосипед конечно, но что-то похожего не встречал)в которую заносятся проблемы по программным модулям, потом в конце месяца беру лидера по вопросам и разбираем с ведущими что происходит. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 18:16 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayKДля анализа проблемы надо накопить статистику Безусловно. Но это интеллектуальная работа, не по формальным признакам. NikolayKЯ попросил что-бы мне написали програмулину(может велосипед конечно, но что-то похожего не встречал)в которую заносятся проблемы по программным модулям, Это называется bug tracker , существует в уйме вариаций, платных и бесплатных. Но "по модулям" мало что даст, кроме "Вася молодец, а Петя халтурит". Я имел в виду некий более глубокий поиск, неких типичных ошибок, таких как, допустим, "если фильтром сделать ноль записей в гриде, кнопка "редактировать" остается доступной и неправильно работает". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 18:26 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayK потом в конце месяца беру лидера по вопросам и разбираем с ведущими что происходитОчень показательная диаграмма, браво ! Наибольшая загрузка у "общих вопросов" и "прочего". Это крайне характерная ситуация, когда какая-то информация формально может быть разбита по критериям и якобы доступна для анализа (и даже специальная приблуда строит график :) ), а на деле понять ничего невозможно и ничем эта разбивка помочь не может. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 18:33 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
softwarerНо "по модулям" мало что даст У меня есть и по Васе, модули это как раз такого рода ошибки. softwarerЯ имел в виду некий более глубокий поиск, неких типичных ошибок, таких как, допустим, "если фильтром сделать ноль записей в гриде, кнопка "редактировать" остается доступной и неправильно работает". Меня достают более мелочные вопросы типа все боксы для выбора марки стали отсортированы по наименованию, обязательно кто-то забудет это сделать, а пользователи вешаются. Решение в написании для системы единых объектов, при необходимости корректировки они корректируются во всех модулях. Хотя не всегда помогает но какой-то процент ошибок убирает. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 18:49 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayKРешение в написании для системы единых объектов, при необходимости корректировки они корректируются во всех модулях. Хотя не всегда помогает но какой-то процент ошибок убирает. угу, практически 100% ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 19:45 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayKвсе боксы для выбора марки стали отсортированы по наименованию, обязательно кто-то забудет это сделать, а пользователи вешаются. тысченку-полторы марок в боксы не стоит имхо заталкивать. Вынесите в обычный грид с возможностью сортировки и инкрементного поиска, возможно с группировкой по сортаменту, профилям или что там для Вас предпочтительней.... пользователям полегчает и они будут Вам благодарны. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 20:40 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayK Работаем на металлургическом предприятии с численностью 3000 чел. (12 прогр.), занимаемся разработкой собственной системы, зачастую без ТЗ(заказчики сами не в состоянии составить) и с указание должно работать завтра, в таких условиях необходимо иметь четкий план работ, так вот мне интересно кто чем пользуется при планировании разработки: Лично мне всегда разрабатывать приходилось без ТЗ. Выяснять у заказчика, делать, внедрять и сопровождать приходилось самому. Ни какого задания никогда не видел. ТЗ так же, планов работ тоже не было. Наиболее крупное сделано, на предприятии с численностью 4000 чел. производство, (реально 3 прогр.) причём нагрузка не равномерная, двое ещё и DBA. Финансовая система удачно разработана под бизнес процессы предприятия, сделана, внедрена, постоянно развивается. Про другие системы просто не вспоминают. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2007, 22:47 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Ждать ТЗ от пользователя можно долго. Иногда, когда я лично считаю, что пользователь (какой-то отдел) хочет ерунду , я предлагаю им самим написать ТЗ, и могу спать спокойно - они никогда его не напишут. Но ТЗ, в котором как миниму прописаны требования, понятные пользователю и с ним согласованные, - нужно. После этого мы рисуем и описываем схемы. Число сотрудников и программистов у нас близкое к вам, описывать бизнес-процессы как есть - считаю зря трартить время. Описываем сразу - как надо. Но все это скорее просто для того, чтобы самим разработчикам уяснить предметную область, понять что и как решать будем. описываем по стандарту IDEF0. далее идет детализация до некоторого уровня. Но в общем на этмо этапе нам понятны механимы и инстурменты (сервисы, службы, приложения и т.п.), которыми будет выполняться решение и что и как надо менять в наших инстурментах или использовать все готовое. Описание достигает некоторого уровня, понятного программистам и отдается им. Далее идет взаимный процесс - они разрабатывают, что-то меняется в преокте, вносятся изменения в документы. Иногда появляются новые вопросы - вносятся в проект и снова программист это доводит до реализации. Как пример, сейчас делаем документооборот свой. При описании стало понятно, что без бюджетрирования нет смысла все это заводить - просто в игрушки электронного документа играть - затратно, у нас и так многое уже есть, а задействуя финансовые потоки, можно решить полезную задачу. Без описания процессов, мы бы этого не поняли. Конечно, сейчас себе задачу добавили - внедрения бюджетрирования, но у нас это вполне быстро решаемо. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2007, 04:40 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Mainframe_старыйИногда, когда я лично считаю, что пользователь (какой-то отдел) хочет ерунду , я предлагаю им самим написать ТЗ, и могу спать спокойно - они никогда его не напишут. да, действительно действенный способ... так сказать отправить подумать. Mainframe_старыйКак пример, сейчас делаем документооборот свой. При описании стало понятно, что без бюджетрирования нет смысла все это заводить а как пришли к такому заключению? Если бы сказали наоборот: начали делать бюджетирование и поняли, что без документооборота это игрушки - было бы понятно. Но как бюджетирование поднимает ценность документооборота....? (само наличие такого модуля конечно поднимает ценность системы в целом) ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2007, 10:50 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Уважаемый softwarer все правильно говорит, но, если позволите, мои пять копеек: 1. "приняли на работу консультанта в чьи обязанности входит и тестирование" - Пипец. Это что ж за "консультант" такой? В его обязанности мытье полов заодно не входит? Должен быть как минимум 1 хороший тестировщик. Причем, с учетом вашего бардака в разработке, он должен иметь достаточно полномочий для реформирования процесса разработки в относящихся к его области вопросах. 2. "все равно пользователи звонят и сообщают о багах" - а с какого хрена они звонят? Пускай пишут в bug tracker. Баги неизбежны при сколь угодно хорошо поставленном процессе разработки. Вопрос в том, что информацию о них нужно эффективным образом собирать и баги быстро исправлять. 3. "типа все боксы для выбора марки стали отсортированы по наименованию" - сами рисуете морду на стандартных контролах??? Нет бы devexpress'ом разжиться... ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2007, 13:30 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
paul310 1. "приняли на работу консультанта в чьи обязанности входит и тестирование" - Пипец. Это что ж за "консультант" такой? В его обязанности мытье полов заодно не входит? Должен быть как минимум 1 хороший тестировщик. Причем, с учетом вашего бардака в разработке, он должен иметь достаточно полномочий для реформирования процесса разработки в относящихся к его области вопросах. У меня хорошее качество тестирования наблюдалось при соотношении числа программистов к числу тестировщиков 2,5:1. paul310 2. "все равно пользователи звонят и сообщают о багах" - а с какого хрена они звонят? Пускай пишут в bug tracker. Баги неизбежны при сколь угодно хорошо поставленном процессе разработки. Вопрос в том, что информацию о них нужно эффективным образом собирать и баги быстро исправлять. Обычно пользователей трудно заставить пользоваться багтреккером - нужно иметь жесткие административные рычаги для этого, что не всегда возможно. Какой, например, процент пользователей MS Word пишет баги ворда в багтреккер? ;-) Пускай себе звонят, только тот, кому они звонят, должен занести баг в багтреккер. Гистограмма тоже очень показательная. ИМХО, показывает, что критерии классификации на ней неправильно выбраны. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2007, 11:34 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
dvvvУ меня хорошее качество тестирования наблюдалось при соотношении числа программистов к числу тестировщиков 2,5:1. Имхо оптимальное соотношение зависит от слишком многих факторов. 12:0,5 - это, конечно, не дело, но затруднюсь советовать "сколько именно надо". dvvvОбычно пользователей трудно заставить пользоваться багтреккером Имхо вопрос не столько в "трудно заставить", сколько в "хорошо все равно не напишут - не умеют". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2007, 12:31 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
softwarerЛучшее обоснование для слов - практика. Особенно для человека, мало знакомого с "кухней". ....................... Что именно есть "идеологически правильная цепочка" - решайте по месту, тут уже вам виднее. Главное - гибкость; главное - чтобы большие и серьезные задачи были правильно спроектированы, но в то же время их можно было "за полчаса" доработать по мелочи и это не требовало бы внесения изменений в кучу документов. На самом деле скорее АВТОРИТЕТ человека который это заявляет... Иначе начальник может и приказать как в армии... Всегда важно иметь разделение на поддержку и развитие. Поддержка штука относительно простая, можно ввести стандарты и не мучаться... С развитием всегда хуже, особенно когда задачи сложные и "многоходовые". Пока в этой области нет никаких серьезных стандартов и все зависит от личности которую можно назвать руководителем или архитектором проекта. Данная личность является стандартом сама по себе... и вводит свои стандарты "по месту". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2007, 16:56 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Проба сил№На самом деле скорее АВТОРИТЕТ человека который это заявляет... А откуда этот авторитет появляется, если предположить, что начальник - не идиот? Именно от "сказал и сделал". Проба сил№Иначе начальник может и приказать как в армии... Может. Примерно как в той ситуации, что я цитировал выше. Проба сил№Всегда важно иметь разделение на поддержку и развитие. Спорно; весьма спорно. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2007, 17:18 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
softwarerСпорно; весьма спорно. Согласен!!! Возможно, это тема отдельного топика... Доказательств, которые могут считаться доказательствами у меня никаких, только опыт... Рано или поздно любой сложный проект проходит этот этап, чисто по человечески тем кто его создал мало интересно решать "дурные проблема" с юзерами нажимающими не те кнопки... Я в свое время с интересом смотрел как на рынок выходили мировые табачные компании. Строился завод и оборудование ставили ребята из команд внедрения. Потом шел этап настройки и это делали уже другие команды. На поддержку они готовили местных, а сами шли дальше. В ПО тоже, есть подобное разделение, просто не всегда оно явное... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2007, 18:47 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
dvvvГистограмма тоже очень показательная. ИМХО, показывает, что критерии классификации на ней неправильно выбраны. Предложите свои критерии, а лучше покажите если они у Вас есть!!! Проба сил№Данная личность является стандартом сама по себе... и вводит свои стандарты "по месту". Есть 3 уровня группы разработчиков: 1.Проекты не документируются, личность определяет ВСЕ (это Ваш уровень) 2.Проекты частично документируются, от личности мало что зависит (это Наш уровень) 3.Проекты документируются полностью роль личности минимальна(уровень MS) Зачем личность должна изобретать велосипед если в мире существуют сдандарты для постановок задач вот только ВОПРОС в наборе используемых инструментов. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2007, 17:23 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
NikolayKЕсть 3 уровня группы разработчиков: 1.Проекты не документируются, личность определяет ВСЕ (это Ваш уровень) 2.Проекты частично документируются, от личности мало что зависит (это Наш уровень) 3.Проекты документируются полностью роль личности минимальна(уровень MS) Зачем личность должна изобретать велосипед если в мире существуют сдандарты для постановок задач вот только ВОПРОС в наборе используемых инструментов. 1. Я говорил немножко о другом... О стандартах разработки сложных систем. Документирование, это всего лишь один из показателей стандарта и абсолютно не говорящий об "успешности" проекта. "Личность" в моем случае определяет, что мы будем документировать в какой объеме и как. Нужны (только) коментарии в коде, будут только комментарии (команда очень хорошо знает задачу и друг друга и задачка маленькая). Нужна блок схема, будет. Нужны взаимосвязи схемы с имеющимся функционалом, сделаем Обратите внимание на последний пункт и попробуйте определить круг решенных задач у которых Вы сделали подобное документирование. 2. Да, существует несколько стандартов на постановку задачи. Тот который мне нравится гласит примерно следующее: Постановщик задачи строит блок схему, а программист ее реализует как есть. В случае отхода от схемы виноват программист, в случае неработающей схемы постановщик. Тупо и эффективно Однако, ни у кого нет работающего стандарта на руководителя проекта. На личность которая способна построить нужные стандарты для конкретного проекта. ЗЫ Если вы введете стандарты производства самолетов, на завод клепающий табуретки, данное изделие станет поистине золотым /topic/300755&hl= ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2007, 18:53 |
|
Планирование проекта
|
|||
---|---|---|---|
#18+
Про количество QA: я имел в виду, что нужно нанять для начала одного, но очень продвинутого. QA - это область, требующая весьма специфических как знаний, так и soft skills. После того, как "старший" QA оценит масштабы стихийного бедствия, он и требования к "смежникам" выставит, и необходимое количество QA персонала оценит. Про bug tracker: организация эффективной работы поддержки - это отдельная большая тема. Могу только сказать, что "голый" телефон - это самый омерзительный и неэффективный способ. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2007, 01:35 |
|
|
start [/forum/topic.php?fid=33&fpage=49&tid=1548954]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
58ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
others: | 256ms |
total: | 420ms |
0 / 0 |