|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
MonochromatiqueP.S. Свой список проектов я привел. Ни больше ни меньше. Любопытно бы было посмотреть на чей-нибудь еще. Ну так заходите на job сайты и смотрите в анкетах. Тут в основном народ не меряется размерами. Хотя иногда и такое бывает. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 11:39 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Злой БобрНу так заходите на job сайты и смотрите в анкетах как можно на других сайтах увидеть информацию по анонимам на этом ресурсе? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 11:51 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
По поводу разработки сложной системы есть методологии внедрения например - AIM. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 12:45 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
dmitry1000По поводу разработки сложной системы есть методологии внедрения например - AIM. а также целая когорта подобных ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 12:58 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
dmitry1000, основная проблема в постановке конкретных вопросов, которые ТС уже 10 страниц не может сформировать. А методологий хватает, в том числе и тех, которые помогают сформировать условия задачи прежде всего ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 13:02 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
MonochromatiqueСкажем - группой 10 программистов. Считаем что: 1. Что количество программистов адекватно задаче. (+/-) 2. Что пользовательские истории зафиксированы. Чего хочется: Предсказуемость разработки. Оценка состояния проекта, в идеале с шагом в день. Возможность быстро спуститься к самым мелким деталям и оценить их соответствие проектной документации. Ну, проектной документации - громко сказано. Что имеем: Первоначальное описание решения - является неким упражнением для писательского таланта. Ценность теряет ОЧЕНЬ быстро, потому что разработка очень быстро идет в сторону. Зачастую из-за: 1. Пользователи говорят одно, думают другое, а нужно третье. 2. Архитектор перемудрил и решил сделать космолет, который должен рыть бассейны в условиях сверхгравитации и нехватки естественных осадков. 3. Программист неправильно понял, что нужно сделать - и убил три дня на неприменимую ерунду. 4. Программист решил написать свой мега-фреймворк, на который убил 95% времени, результата не достигнув. Вопросы: 1. Каким образом получить исчерпывающее описание проекта, которое не придется выбрасывать в мусорку через месяц? 2. Каким образом технически запретить уходить в сторону? Штуки типа WWF? Быстрые прототипы? Лично я склоняюсь к прототипам. Теперь к коду. Следующая проблема - в системах типа 1С - любой программист имеет доступ к любой части кода. Сам себе архитектор. Когда их 10 человек - уследить за всеми нереально и трешовый код/решения потихоньку берут верх. В .NET/JAVA я представляю что можно сделать - закрыть сборку с моделями и создать нужные интерфейсы, которые потом последовательно реализовывать, но что делать в той же 1С?? В 1С один кодер намутит треш, другой нагородит зауми, пытаясь сделать универсальную приладу, которая нужна всем (никому). Иными словами - какой процесс обеспечит: 1. Разумное количество слоев управления разработкой (истории, требования,UI ,код ) 2. Качество артефактов каждого слоя. Оно должно быть таким, чтобы с каждым низлежащим слоем мог работать специалист, не вовлеченный в этот проект прежде. 3. Каждый артефакт должен быть валидным и не противоречивым! Код понятно - он хотя бы должен работать, а как быть с описанием какого-то процесса?? Как убедиться, что процесс выдает ровно тот результат, который сможет принять на входе следующий процесс? Нужны четкие тиски, но какие тиски у Вордовского документа? Бумага всё стерпит. Нужно качество превратить в количество. Читаю истории, в которых над проектами трудятся люди из разных стран и часовых поясов - как их координировать? Тогда как собственные сотрудники без стояния за спиной сразу же стремятся расползтись в стороны. Как это может выглядеть? 1С case Обычно есть система, которая уже живет несколько лет. Технологии ушли вперед, груз существующих проблем стопорит бизнес-процессы. Все в депрессии. Принято решение переписать всё нафиг на современных технологиях. (Тут всё начинается). Бесконечные совещания, на которых пользователи разных рангов рассказывают о своих фантазиях. Всё, что снилось - всё вываливают. Объяснения куцые, пальцы показывают замысловатые фигуры. Составляется описание нового решения, страниц так на сто. Несмотря на картинки - его никто не читает, и также никто возражений не имеет. Начинается разработка. По грубой оценке - к оценке привлекаются n-программистов. Начинается разработка. Появляются первые результаты. Первые показы. Пользователи в недоумении - нужно же было по другому. Начинаются переделки/доработки, причем каждый программист делает это "втихую", потому как так сказала Лена-менеджер. Ну и в итоге разработка приобретает хаотичный характер. Не думаю, что в случае технологий вида JAVA/.NET картина принципиально другая. Единственно - больше времени нужно потратить на проектирование интерфейсов, но и программист-кодер в сторону не уйдёт. Что НЕ хотелось бы тут обсуждать: 1. UI 2. UX 3. Назначенным со стороны клиента менеджерам - плевать на внедрение. 4. Назначенные со стороны клиента менеджеры - некомпетентны.У нас к примеру разработка ведётся в группах (артелях). Последние сами решают какие задачи им взять из роадмапа, сами их анализируют, оценивают, готовят прототипы, проводят UX тестирование, обкладывают метриками, тестируют. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 13:14 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
skyANAУ нас к примеру разработка ведётся в группах (артелях). Последние сами решают какие задачи им взять из роадмапа, сами их анализируют, оценивают, готовят прототипы, проводят UX тестирование, обкладывают метриками, тестируют. так делается, но не при создании новой системы. Именно в таких случаях живучий роадмап из которого каждый может забрать какой-то объем. support так живет в основном ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 13:21 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
iscrafmskyANAУ нас к примеру разработка ведётся в группах (артелях). Последние сами решают какие задачи им взять из роадмапа, сами их анализируют, оценивают, готовят прототипы, проводят UX тестирование, обкладывают метриками, тестируют. так делается, но не при создании новой системыНу не знаю. Мы успешно выпускаем новые фичи. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 13:37 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
skyANA, У нас аналогично. Есть список задач, дата до которой нужно сделать, цена. Каждый час цена меняется, т.е. повышается на определенный шаг. Кто первым взял тот и банкует. Но если вдруг не уложишся в срок - ... . Никто никому на поворотах не заносит. Каждый сам понимает меру ответственности. Если что непонятно - всегда можно уточнить у менеджера (письменно). По скайпу можно связаться только когда сроки уже поджимают и ты не можешь понять то что тебе ответили. Такое бывает крайне редко. Но согласен - это не создание с нуля, а поддержка и развитие уже существующего. Хотя такой подход вполне можно распространить на программистов, когда есть готовый каркас. Все зависит от того кто рулит и по каким правилам играют. Нельзя все сваливать на 1-2 человек. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 13:45 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Злой Бобр, не сказал бы, что ресь ппрям про "с нуля". MonochromatiqueОбычно есть система, которая уже живет несколько лет. Технологии ушли вперед, груз существующих проблем стопорит бизнес-процессы. Все в депрессии. Принято решение переписать всё нафиг на современных технологиях. Бизнес-процессы выстроены, надо их улучшить. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 13:52 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
skyANAiscrafmпропущено... так делается, но не при создании новой системыНу не знаю. Мы успешно выпускаем новые фичи. новые фичи, но не система с нуля. Хотя может и у ТС тоже об этом ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 14:51 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Monochromatique... 1. Разумное количество слоев управления разработкой (истории, требования,UI ,код ) .... Читаю истории, в которых над проектами трудятся люди из разных стран и часовых поясов - как их координировать? Тогда как собственные сотрудники без стояния за спиной сразу же стремятся расползтись в стороны. Да хоть на марсе... Назначить координаторов (менеджеров, администраторов, специалистов, чиновников) которые своими руками, без автоматизации будут следить за каждым слоем разработки. Выделите из своих артелей способных: Кто удачно с пользователями работает, пусть для всех артелей собирают и формулируют непротиворечивые истории и требования; У кого фундаментальные технологические идеи, пусть формируют спецификации к модулям и функциям, и следят чтоб в артелях лишнего не писали; Кто код правильный пишет, пусть курирует код по всем артелям, чтоб правильный был MonochromatiqueКак это может выглядеть? 1С case К 1C это не относится, это общий подход к управлению сложными проектами Если и сейчас не понятно, то ищите проекты с маленьким ТЗ, этот не ваш! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 14:57 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
sereginsereginВыделите из своих артелей способных круговая порука основа всего? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 15:03 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
MonochromatiqueУ меня был неудачный опыт - программист с порученной задачей не справился. То есть - на тестовом объеме (и на реальных людях) всё работало, а на реальных объёмах всё ложилось. Это как? Что тогда такое "тестовые объемы"? Какая заложена средняя и пиковая нагрузка в проекте, если на реальных объемах все легло? Как тестировали, если тесты должны были показать пиковые значения. Скорее всего никто ничего реально не тестировал, сделали только видимость тестов. Или в ТЗ пропустили пару нулей в объемах? Не могу судить, не зная подробностей, но постановщик скорее тут в одной упряжке с проггером. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 21:30 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
По теме сабжа. У вас кто пишет ТЗ и кто оценку ТЗ делает? Сколько времени пишите ТЗ? Кто, как и когда выставляет сроки по проекту? Контрольные точки в каком временном диапазоне? Вы как я понял контролировать прогеров хотите ежедневно, по вашим постам. Ну введите оплату по строчкам кода. Это разве решение? Смысл контролировать прогеров, смотреть ежедневные интерации? Есть определенный блок/модуль, есть сроки (с контрольными точками) и ответственность. А то можно дойти до контроля времени поставив считыватель на туалеты. PS: ответьте пож-та на вопросы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.11.2015, 22:21 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
MonochromatiqueiscrafmДать задание архитектору подготовить исчерпывающее описание проекта И еще такая проблема. Если описывать проект в ворде (текст), то нет никаких сдерживающих факторов, что к 50-той странице проект не начнет отрицать сам себя. Такой вот выверт. Только на 50-ой странице это будет непонятно. Есть документ - Концепция (2 страницы). С него вообще, проект начинается. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 13:15 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Monochromatique1. На какие этапы участники форума бьют задачи. Задачи уровня "10 человек - полгода". Стараемся не дробить работы на подзадачи продолжительностью меньше 6-8 часов. 2. Какие артефакты выдает каждый этап? В каком виде?Можете описать размеры этапов? 3. Кто и как решает, что артефакт валидный. Ну то есть не - "я почитал, вроде нормально".Большую часть работ принимает архитектор (функционал, проектную документацию). Когда у меня были относительно небольшие проекты (не 5-8 человек) я совместно с архитекторами принимал участие практически во всех встречах с заказчиком (на которых формируются ФТ, обсуждаются промежуточные версии ЧТЗ, выполняется демонстрация разработанного функционала и пр.), а так же старался принимать участие в написании ЧТЗ (по некоторым этапам писал сам, архитекторы потом вычитывали и корректировали в части тонкостей, по некоторым писали архитекторы, а я вычитывал и корректировал). Таким образом имел представление о том, чего ждет заказчик и как это будет делаться. Лично мне управлять такими проектами было спокойнее, т.к. мог при необходимости быстро погрузиться в задачу. Когда число одновременно выполняемых проектов выросло, такие элементы микро менеджмента мне уже не под силу, просто времени нет. Приемка практически полностью в руках архитекторов, а это, конечно риски (из 8 архитекторов доверить полностью я могу только одному, но он просто безумно перегружен т.к. много времени тратит на проверку работы выполненной подчиненными). Сейчас основным способом управления качеством для меня является финансовая мотивация. Кто хорошо и быстро работает - получает больше. Фактические трудозатраты заставляю списывать каждый день (по факту не каждый день удается добиться 100% списания, но все не так плохо), планы актуализирую несколько раз в неделю. Тут главное выбрать для себя удобный и эффективный инструмент ведения проектного учета. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 16:53 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
user1cМожете описать размеры этапов? Ну вот например решение для транспортной компании. Решение начиналось от системы учета приёма/ротации водителей на работу, и заканчивалось удержанием из зарплаты перерасходов на сотовую связь. Что у нас в промежутке... Учет ТС, учет доп. компектации, выпуск машин в рейс, сопроводительная документация, извещение заинтересованных лиц по СМС о предстоящем рейсе, учет всевозможных денег, сопровождение машины в рейсе, телефония,звонок робота голосом,связь с водителями, СМС, фиксация событий, обработка сигнала с GPS (не 1С), расчет оптимальных маршрутов (не 1С), расчет отклонений, прогноз воровства топлива, импорт данных отовсюду(ОПСОСЫ, заправки...), нормирование ресурсов, расчет ЗП водителей (жесть)... Плюс формализация передачи инфы между отделами, учет склада запчастей... Сопряжение с другими КИС и миллион отчетов. Одна маршрутизация (расчет маршуртов и их влияние на ЗП) вводила такую туеву хучу понятий, что было решительно неясно - как это вообще взлетит. Так вот. Выслушать всех юзеров/носителей знаний и зафиксировать их бубнеж (диктофон/пометки) - это _один_ этап. Переварить это, и перевести на бумагу в более-менее удобном виде - _второй_ этап. Третий - создать общее описание системы, чтобы заказчик понял в общих чертах - что он получить в итоге (те самые 100 страниц) - третий этап. На самом деле - 100 страниц - это была попытка описать некоторые функции ядра и нескольких спец. подсистем, такие, например как события и их маршрутизация/реакция системы на события. И да - это _третий_ этап. И вот на этом третьем этапе - как не чувствовалось, что вся описанная система в принципе консистентна. Ну а потом прототипирование интерфейсов перемежку с кодингом, промежуточные показы, сдачи, инструкции и т.д. Там уже не до протоколов было. Каждая задача хоть и была по максимуму обособлена - но зачастую сильно влияла на другую. Как-то так. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 17:34 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
MonochromatiqueВыслушать всех юзеров/носителей знаний и зафиксировать их бубнеж (диктофон/пометки) - это _один_ этап. Переварить это, и перевести на бумагу в более-менее удобном виде - _второй_ этап. Третий - создать общее описание системы, чтобы заказчик понял в общих чертах - что он получить в итоге (те самые 100 страниц) - третий этап. На самом деле - 100 страниц - это была попытка описать некоторые функции ядра и нескольких спец. подсистем, такие, например как события и их маршрутизация/реакция системы на события. И да - это _третий_ этап. И вот на этом третьем этапе - как не чувствовалось, что вся описанная система в принципе консистентна. а ты думаешь архитектором так просто быть? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 17:39 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Monochromatique, А что с этим проектом решили? Красное и Белое, Бристоль, Магнит - на чем они работают? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 18:36 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Monochromatique, И сколько времени у Вас на все это есть? Мне кажется пока такую систему в целом спроектирует и разработает команда из 10 человек, все бизнес процессы успеют существенно видоизмениться. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 19:17 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
user1cMonochromatique, И сколько времени у Вас на все это есть? Мне кажется пока такую систему в целом спроектирует и разработает команда из 10 человек, все бизнес процессы успеют существенно видоизмениться. да ладна, в 1С есть готовые конфигурации для этого. там просто надо внедрить/допилить ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 20:04 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
kmawда ладна, в 1С есть готовые конфигурации для этого. там просто надо внедрить/допилить Я б сказал в большей или меньшей степени изменить процессы под конфигурацию. Т.к. у многих все делается через Ж. Зотя и в конфигурациях далеко не факт что все будет, и то что будет не факт что работает правильно. При любом подходе работы будет много. У знакомых SAP внедряли больше 3-х лет. И это именно внедрение а не попил бабла. Те кто говорят что за полгода сделают - явно с головой не дружат. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 20:11 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Злой БобрПри любом подходе работы будет много. У знакомых SAP внедряли больше 3-х лет. И это именно внедрение а не попил бабла. в течении года иногда все очень меняется кардинально. Злой БобрТе кто говорят что за полгода сделают - явно с головой не дружат. есть и другой мир, он тебе просто не известен. Немного другие принципы построения систем применяются. И да, за полгода делается. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.11.2015, 20:35 |
|
Как правильно вести сложную разработку?
|
|||
---|---|---|---|
#18+
Monochromatique, я все это делал следующим образом: Т 1. была идея проекта, рп знал куда надо придти и объяснял мне хотелки на абстрактном уровне 2. БА писал пояснительные записки к функциям, потом это стало документом для проверки и оплаты клиентом 3. был я и команда до 7 программистов + тестировщик(и) 4. я сделал каркас и заложил те или иные подходы, т.е. для программистов часть работы была в виде конструктора, ui вообще делали по шаблону копи-паст с переименованием и дополнениями 5. каждую фичу я обдумывал - как ее примерно делать, риски, что понадобиться доделать в архитектуре и т.п. я же назначал задачи в жире, рассказывал про точки интеграции и где читать более подробное описание того, что нам надо (взаимодействие с БА), если я видел что часть работ пересекается - я говорил паре программистов, что они делают смежную задачу, описывал примерные места дублирования кода и просил общаться между собой, чтоб согласовать код и результат 6. я делал ежедневное ревью кода за всеми программистами, писал todo, объяснял что не так и как надо или лучше - в итоге я всегда был в курсе всего проекта - я знал каждый закоулок, на какой стадии и когда примерно закончим 7. вместе с БА я делал функциональное тестирование - на одном экране тз, на другом код и идем сверять, косяки записываем, объясняем, исправляем 8. писал quick start guide и описание архитектуры и ее возможностей фактически это ручное управление и контроль и не факт, что будет работать в командах более 10 человек, но мне нравилось что команда была продолжением меня ... |
|||
:
Нравится:
Не нравится:
|
|||
25.11.2015, 14:20 |
|
|
start [/forum/topic.php?fid=33&msg=39112626&tid=1547416]: |
0ms |
get settings: |
11ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 307ms |
total: | 468ms |
0 / 0 |