Форум Сообщества Аналитиков

Дисциплины => Реализация => Тема начата: Galogen от 22 Октября 2013, 12:33:40

Название: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 12:33:40
Вот уже на протяжении  6 лет я веду у 5 курса учебный проект. Все по-взрослому. У нас есть внешний заказчик, у нас есть команда, роли, задачи.
Нет реальных денег, но и с этим, я надеюсь, как-то решить.

Как и в реальном проекте возникают конфликты интересов. В частности возник такой.

Клиент - сотрудник компании, при размещении заказа на обед также должен указать в нем место куда следует заказ доставить. Место доставки должно браться из профиля клиента, но может быть в ходе заказа им изменено.

В ходе анализа и разработки требований аналитики уточняли у меня (я играю роль заказчика) что такое место доставки и какая информация там должна отражаться. Мною было потребовано, что в месте доставки отражается Здание, Этаж и Номер офиса - куда следует доставлять. Также было сформулировано и ограничение, что клиент может указать место  доставки, выбирая его из предопределенного списка.

Однако когда была предложена реализация, то оказалось, что Место доставки - текстовое поле, куда клиент вбивает адрес доставки. При этом корректность введенной информации предложено возложить на плечи клиента, хочешь чтобы тебе доставили заказ - указывай верный адрес.

Когда я как заказчик обратился к команде с некоторым удивлением, мне сказали примерно следующее:
1. хранить сведения о доставке будет в профиле пользователя
2. если реализовать то, что вы сказали - трудоемкость возрастет в разы
3. а эффекта будет пшик

Интересно мнение форумчан.  Прав ли заказчик, настаивая на своих требованиях. Или ему следует прислушаться к мнению разработчиков, что так проще?
Название: Re: Реализовать нельзя упростить
Отправлено: bas от 22 Октября 2013, 13:40:50
1. хранить сведения о доставке будет в профиле пользователя
Мне, как заказчику, пофиг где и как будет это храниться.

2. если реализовать то, что вы сказали - трудоемкость возрастет в разы
Что значит в разы? Сколько было в часов, сколько стало?

3. а эффекта будет пшик
Что значит пшик? Кто будет платить за товар и доставку, который не доставили по причине неправильного адреса? Сколько мы на этом потеряем денег и клиентов и сколько будет стоить разработка?
Название: Re: Реализовать нельзя упростить
Отправлено: Elf от 22 Октября 2013, 13:49:10
Правильно ли я поняла, что Заказчик настаивает на реализации предопределенного адреса в профиле или в комментариях к заказу?
Если так, то
1. Реализация будет очень трудоемкой.
2. Эффект от лояльности клиента, какой хочется достигнуть в рамках этой задачи, нулевой.
3. Сопровождение данного функционала будет дорогим.

Я бы настояла реализацию адреса как текста в профиле клиента, но если вдруг адрес меняется, то - при заказе в комментариях.
Максимум , что можно уступить заказчику - это станцию метро  или район:)). Ну опять же если реализовать функционал по всей стране, то и это бы не предложила.
Вот такая я злюка :))
 
Название: Re: Реализовать нельзя упростить
Отправлено: Denis Beskov от 22 Октября 2013, 14:13:35
Эд, а в чём конфликт интересов?

«Трудоёмкость возрастёт» — что, подрядчик не получит за это больше денег? Или у вас фикс прайс?

Ты знаешь, зачем ты заказываешь то, что заказываешь? Можешь объяснить подрядчику в терминах качества продукта и бизнес-эффектов (конверсия, результативность, потери)? С какой стати подрядчик оценивает степень «пшика» — он что, эксперт по электронной торговле? Его нанимали в таком качестве?
Название: Re: Реализовать нельзя упростить
Отправлено: Denis Beskov от 22 Октября 2013, 14:16:55
Модель предметной области есть? В ней согласовано, что адрес доставки — это атрибут конкретного заказа, а не только клиента?
Название: Re: Реализовать нельзя упростить
Отправлено: Elf от 22 Октября 2013, 15:10:56
Эд, а в чём конфликт интересов?

«Трудоёмкость возрастёт» — что, подрядчик не получит за это больше денег? Или у вас фикс прайс?

Ты знаешь, зачем ты заказываешь то, что заказываешь? Можешь объяснить подрядчику в терминах качества продукта и бизнес-эффектов (конверсия, результативность, потери)? С какой стати подрядчик оценивает степень «пшика» — он что, эксперт по электронной торговле? Его нанимали в таком качестве?
Заказчику надо предложить описать эффект, какой хочется достичь  от реализацией данного требования. Попробовать количественно оценить его.
Подрядчик, со своей стороны описывает трудозатраты, срок реализации требований, сопровождение данного функционала.
В этом случае Подрядчик косвенно влияет на решение Заказчика.
И потом часто бывает так, что у Подрядчика есть опыт реализации таких требований и он может сказать и без оценки - на сколько это "выгодно".
Но вопрос то не в этом как правильно, а в том оправдано ли реализация предопределенного адреса для сайта доставки пиццы? если я правильно поняла.
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 22 Октября 2013, 15:56:13
Как и в реальном проекте возникают конфликты интересов. В частности возник такой.

Неясно, в чем конфликт. Разработчик предложил альтернативу и подкрепил ее (как смог) аргументами.
У Разработчика были виды на внедрение какой-то своей технологии, которую он хотел обкатать на Заказчике?
Разработчик хотел схалтурить при фикс прайсе? У Разработчика были виды на дальнейшие объемы работ (в частности, на разработку конвертера из текста в структуры для последующей аналитики или серию разовых преобразований)?

Клиент - сотрудник компании, при размещении заказа на обед также должен указать в нем место куда следует заказ доставить. Место доставки должно браться из профиля клиента, но может быть в ходе заказа им изменено.

В ходе анализа и разработки требований аналитики уточняли у меня (я играю роль заказчика) что такое место доставки и какая информация там должна отражаться. Мною было потребовано, что в месте доставки отражается Здание, Этаж и Номер офиса - куда следует доставлять. Также было сформулировано и ограничение, что клиент может указать место  доставки, выбирая его из предопределенного списка.

В состав реализуемых на данном этапе функций Системы входит статистика/аналитика заказов в разрезе адресов доставки? А в перспективы развития Системы?

Однако когда была предложена реализация, то оказалось, что Место доставки - текстовое поле, куда клиент вбивает адрес доставки.

Это сильно дешевле с точки зрения разработки и эксплуатации, чем запрошенный Заказчиком вариант ввода адреса из иерархического справочника. Реализация требований Заказчика в пределе повлечет за собой:
1. Раз[до]работку подсистемы ведения НСИ.
2. Усложнение структуры БД и принятие ряда непростых решений о способе хранения адресной информации.
3. Доработку руководства пользователя.
4. Доработку технологической инструкции.
5. Доработку должностных обязанностей.
6. Повышение требований к квалификации пользователя.
7. Усложнение освоения Системы.
8. Увеличение объема работ по обслуживанию Системы.
 
Но зато даст возможность относительно легко собирать о обрабатывать статистику.

При этом корректность введенной информации предложено возложить на плечи клиента, хочешь чтобы тебе доставили заказ - указывай верный адрес.

Ввод вручную из справочника не гарантирует корректности адреса.
Улучшить достоверность адресной информации можно путем интеграции с HRM-системой Компании (которая знает, кто где сидит и куда переехал).

Когда я как заказчик обратился к команде с некоторым удивлением, мне сказали примерно следующее:
1. хранить сведения о доставке будет в профиле пользователя

Прощай, учет доставок.

2. если реализовать то, что вы сказали - трудоемкость возрастет в разы

По сравнению с предложением Разработчика - да.

3. а эффекта будет пшик

Я бы попросил Разработчика обосновать столь замечательный вывод.

Интересно мнение форумчан.  Прав ли заказчик, настаивая на своих требованиях. Или ему следует прислушаться к мнению разработчиков, что так проще?

Почему или-или?
Заказчик должен изучить и согласовать варианты технических решений, предложенных Разработчиком. Или не согласовать и отправить на доработку. Или впечатлиться предложениями настолько, что внести изменения в ТЗ в установленном порядке.

Без представления об остальном функционале Системы невозможно сделать вывод, лезет ли Заказчик не в свое дело, настаивая на приятных ему решениях, или Разработчик хитрит.
Название: Re: Реализовать нельзя упростить
Отправлено: Denis Beskov от 22 Октября 2013, 16:00:59
Без представления об остальном функционале Системы невозможно сделать вывод, лезет ли Заказчик не в свое дело, настаивая на приятных ему решениях, или Разработчик хитрит.
Как вообще заказчик может «лезть в не своё дело», если он просит «сделайте мне вот такую загогулину за мои деньги»? Он же не просит Подрядчика написать на сайте Подрядчика какой он, Подрядчик, дурак.
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 22 Октября 2013, 16:16:59
Как вообще заказчик может «лезть в не своё дело», если он просит «сделайте мне вот такую загогулину за мои деньги»? Он же не просит Подрядчика написать на сайте Подрядчика какой он, Подрядчик, дурак.

Я имею ввиду, что в сферической ситуации от Заказчика требуется более-менее внятно объяснить, чего он хочет. Разработчик должен предложить решение, при помощи которого Заказчик получит желаемое. В жизни возникает взаимопроникновение в "сферы ответственности". Заказчик пытается навязывать свои варианты решений, Разработчик предлагает изменения в бизнес-процессах. В зависимости от обстоятельств, такое вмешательство в дела друг друга может быть как самодурством, так и плодотворным сотрудничеством.
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 17:08:26
Саша, Элла.

Мы проектируем Cafeteria Ordering System по Вигерсу. Система заказов обслуживает только сотрудников компании. Компания большая. Адрес доставки должен находится внутри компании и нигде более. Клиент оплачивает обеды через удержание из з/п - если заказ доставляется, и наличными, если не сотрудник приходит в кафетерий ногами.

Саша, твои вопросы ко мне, мне не понятны. Комментировать своих оппонентов я не могу, я лишь передаю, что они мне сказали. Оценки никакой мне не предоставлено. По сути сначала профиль был реализован, а потом возникло расхождение с ожиданиями заказчика.

Элла, как теперь изменится твое мнение? И главное почему?
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 17:18:47
Эд, а в чём конфликт интересов?
Конфликт громко сказано, конечно. Просто есть ожидание заказчика, и неожиданная реализация разработчика.

Цитировать
«Трудоёмкость возрастёт» — что, подрядчик не получит за это больше денег? Или у вас фикс прайс?
Получит. реально у меня фикс-прайс, но есть резервный фонд. который позволяет и увеличить итоговую оценку за проект. Фикс - прайс -это сумма балов по всем студентам у меня 1800 баллов на группу.
Цитировать
Ты знаешь, зачем ты заказываешь то, что заказываешь? Можешь объяснить подрядчику в терминах качества продукта и бизнес-эффектов (конверсия, результативность, потери)? С какой стати подрядчик оценивает степень «пшика» — он что, эксперт по электронной торговле? Его нанимали в таком качестве?
Подрядчик студент, группа студентов, тут, кончено, сложно с ними обсуждать эти моменты.

Почему я хочу так и почему на мой взгляд текстовое указание адреса доставки рисковано я объяснил подрядчику. Подрядчик простой программист в команде и действовал, конечно, не по уставу. Но поскольку мы учимся, хотелось бы извлечь из этого урок.

Потребность сделать проще - понятна. Понятна и простота решения - ответственность за корректное указание адреса возлагается на клиента, он же заинтересован в доставке ему обеда, хотя имеются недостатки  - ошибся с адресом, забыл поменять адрес, просто грамматические ошибки, что усложнило сам процесс доставки. Ведь у кафетерия обязательство скомплектовать и доставить заказ вовремя и без задержек.

Более того я готов пойти на уступки, но это же должно быть как-то объяснено?
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 17:20:25
Модель предметной области есть? В ней согласовано, что адрес доставки — это атрибут конкретного заказа, а не только клиента?
Да есть - все согласовано.
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 17:21:13
Но вопрос то не в этом как правильно, а в том оправдано ли реализация предопределенного адреса для сайта доставки пиццы? если я правильно поняла.
Нет не доставка пиццы, ниже (выше) я пояснил предметную область
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 17:33:59
Я имею ввиду, что в сферической ситуации от Заказчика требуется более-менее внятно объяснить, чего он хочет. Разработчик должен предложить решение, при помощи которого Заказчик получит желаемое. В жизни возникает взаимопроникновение в "сферы ответственности". Заказчик пытается навязывать свои варианты решений, Разработчик предлагает изменения в бизнес-процессах. В зависимости от обстоятельств, такое вмешательство в дела друг друга может быть как самодурством, так и плодотворным сотрудничеством.

Заказчик, т.е. я сформулировал требования по адресу доставки и проработал их вместе с аналитиками примерно 2 недели назад. Никаких заявлений о способе реализации, месте хранения и т.п. заказчик не выдвигал. Ему это фиолетово было.

Заказчик сказал, что хотел бы в качестве адреса доставки указывать Здание, Этаж и Номер офиса, чтобы эта информация отражалась в инструкции по доставке и курьеру было понятно и удобно доставлять заказ. Заказчик хотел бы исключит указание не существующих мест доставки, хотя понимает, что при выборе из предопределенного списка тоже можно ошибиться.

С заказчиком не обсуждалась проблема реализации. т.к. ничего до этого момента кроме модуля регистрации пользователей и профиля пользователя в системе не реализовано. При приемке этого функционала (причем прототипа этого функционала) было обнаружено, что место доставки указывается текстовой строкой.

Возможно, я как заказчик (и преподаватель) строг?
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 17:44:59
Неясно, в чем конфликт.
Да нет конечно не конфликт, так просто к слову пришлось
Цитировать
Разработчик предложил альтернативу и подкрепил ее (как смог) аргументами.
Тут уже были не аргументы - а реализация. Если бы это произошло до реализации, возможно разошлись бы полюбовно :)
Цитировать
У Разработчика были виды на внедрение какой-то своей технологии, которую он хотел обкатать на Заказчике?
Мне об этом не известно.
Цитировать
Разработчик хотел схалтурить при фикс прайсе?
Ну скорее всего, все-таки помимо моего проекта, нужно писать курсовую и сдавать другие предметы.
Цитировать
У Разработчика были виды на дальнейшие объемы работ (в частности, на разработку конвертера из текста в структуры для последующей аналитики или серию разовых преобразований)?
Мне кажется у нас с ним были разное понимание требования.

Цитировать
В состав реализуемых на данном этапе функций Системы входит статистика/аналитика заказов в разрезе адресов доставки? А в перспективы развития Системы?
Да, это одна из целей создания системы

Цитировать
Это сильно дешевле с точки зрения разработки и эксплуатации, чем запрошенный Заказчиком вариант ввода адреса из иерархического справочника. Реализация требований Заказчика в пределе повлечет за собой:
1. Раз[до]работку подсистемы ведения НСИ.
2. Усложнение структуры БД и принятие ряда непростых решений о способе хранения адресной информации.
3. Доработку руководства пользователя.
4. Доработку технологической инструкции.
5. Доработку должностных обязанностей.
6. Повышение требований к квалификации пользователя.
7. Усложнение освоения Системы.
8. Увеличение объема работ по обслуживанию Системы.
Ну не надо преувеличивать. Усиление контроля с моей стороны это способ сделать задачу чуть реальнее, чем она есть. Ведь после получения зачета - систему вряд ли будут поддерживать ее разработчики ;)
Цитировать
Но зато даст возможность относительно легко собирать о обрабатывать статистику.
Кроме того устранить аномалии модификации

Цитировать
Ввод вручную из справочника не гарантирует корректности адреса.
Улучшить достоверность адресной информации можно путем интеграции с HRM-системой Компании (которая знает, кто где сидит и куда переехал).
Это факт, мне никто не предложил такое решение, хотя я предлагал сделать синхронизацию с неким csv файликом в качестве упражнения на интеграцию с той самой системой. Уговорили что это будет сложно.

Цитировать
По сравнению с предложением Разработчика - да.
Не аргумент

Цитировать
Я бы попросил Разработчика обосновать столь замечательный вывод.
Я попросил.

Цитировать
Почему или-или?
Заказчик должен изучить и согласовать варианты технических решений, предложенных Разработчиком. Или не согласовать и отправить на доработку. Или впечатлиться предложениями настолько, что внести изменения в ТЗ в установленном порядке.
Именно к этому я и призываю сторону разработки. Согласовывать со мной свои решения.

Цитировать
Без представления об остальном функционале Системы невозможно сделать вывод, лезет ли Заказчик не в свое дело, настаивая на приятных ему решениях, или Разработчик хитрит.
Почитайте Вигерса https://drive.google.com/folderview?id=0B-lK9AAeV_5cenFMMnd6Y2l5b0k&usp=sharing
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 22 Октября 2013, 18:01:13
Заказчик хотел бы исключит указание не существующих мест доставки, хотя понимает, что при выборе из предопределенного списка тоже можно ошибиться.

Так вот что на самом деле хотел Заказчик.

При приемке этого функционала (причем прототипа этого функционала) было обнаружено, что место доставки указывается текстовой строкой.

Возможно, я как заказчик (и преподаватель) строг?

1. Если требования были согласованы ранее - нет.
2. Если детальные требования не были согласованы ("проработаны" - не в счет), но бизнес-требование было озвучено именно в таком виде, как здесь процитировано - тоже нет.
3. Если других аргументов, помимо приведенных, у Разработчика нет, он должным образом мотивируется и враскорячку отправляется переделывать прототип.
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 22 Октября 2013, 18:12:53
Да, это одна из целей создания системы

Если это одна из целей, и она от Разработчика не скрывалась, значит Разработчик облажался.

Ну не надо преувеличивать. Усиление контроля с моей стороны это способ сделать задачу чуть реальнее, чем она есть. Ведь после получения зачета - систему вряд ли будут поддерживать ее разработчики ;)

Мы играем в отношения между Заказчиком и Разработчиком, или студентами и преподавателем в учебном процессе? Я намеренно утрирую ситуацию под первый случай.

Именно к этому я и призываю сторону разработки. Согласовывать со мной свои решения.

В работах был предусмотрен этап разработки требований, который заканчивается их согласованием? Документ есть?
В данном случае нарвался Разработчик. В другой ситуации - например, когда над Заказчиком стоит государственный регулятор, последствия могут быть печальнее для Заказчика.

Почитайте Вигерса https://drive.google.com/folderview?id=0B-lK9AAeV_5cenFMMnd6Y2l5b0k&usp=sharing

Много его там. С Вашего позволения, я ограничусь материалами этой темы. Тем более, что непонимание, в целом, устранено.
Название: Re: Реализовать нельзя упростить
Отправлено: Elf от 22 Октября 2013, 18:28:24
Элла, как теперь изменится твое мнение? И главное почему?
А ты видел эту реализацию? Скорее всего подрядчик начал делать, ему показалось что это не так сложно, но в ходе реализации "прочувсвовал" требования и решил не продолжать. Мнение не поменялось.
Здесь не проработаны бизнес требования. Для чего нужен предопределенный адрес:
1. повышение лояльности клиента. А Клиент кто? Молодой пользователь инета - тогда проще вводить текстом. Пользователь - мазохист, желающий искать из списка адресов? Тогда надо готовить список.
2. отчетность. Какая отчетность конкретно, что она может дать? Нужно ли знать что с 3 этажа активнее заказываеют диетический обед?
3. корректный адрес, по которому безошибочно можно доставить обед. Может эффективнее  что бы диспетчер  перезванивал и уточнял меню и адрес. Так по крайней мере, Клиент будет оповещен что заказ принят.
Ну, а если Заказчик все таки настаивает о предопределенном адресе, то описать реализуемый функционал и оценить трудозатраты по реализации и его сопровождении.
Слова "пшик" , "дорого" для этого не подходят.

Название: Re: Реализовать нельзя упростить
Отправлено: Золотая рыбка от 22 Октября 2013, 21:59:32
Доброго дня!
Ну что уж вы все так торжественно - "Бизнес-эффект", "Технологическая инструкция", "Трудозатраты"... это ж студенты, они такие высокие материи не понимают.  :) Они, наверно, все в одну таблицу с атрибутами пользователя запихали и радовались, что на экране что-то отображается, не успели порадоваться, как тут - бац! какие-то списки адресов страшные. А для них же новую таблицу надо, а как же связать ее с первой, а?  ???
Наверно, стоит, как в жизни, поискать некий компромисс. Скажем, дать возможность выбора из списка только Здания (их, вероятно, предполагается перечислимое количество), а Этаж и Номер офиса разрешить вводить вручную. Вообще очень настораживает фраза "сведения о доставке будyт в профиле пользователя", создается впечатление, что у них на уровне реализации только одна сущность - "Пользователь". И отсюда все их печали.
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 22:43:09
Спасибо за мнение.
Здесь не проработаны бизнес требования. Для чего нужен предопределенный адрес:
1. повышение лояльности клиента. А Клиент кто? Молодой пользователь инета - тогда проще вводить текстом. Пользователь - мазохист, желающий искать из списка адресов? Тогда надо готовить список.
Элла, по-моему ты слышишь только себя. Еще раз. Задача учебная. Некоторое описание к ней я дал. Вот Леонид мои пояснения принял.
Цитировать
2. отчетность. Какая отчетность конкретно, что она может дать? Нужно ли знать что с 3 этажа активнее заказываеют диетический обед?
Одна из целей проекта - 75% сотрудников компании активно пользуются услугами COS.
Другая задача - обеспечить более качественно и разнообразное питание. Точно знание адресатов отлично помогает встраивать статистику и управлять ассортиментом и качеством блюд с учетом адресности их заказов.
Цитировать
3. корректный адрес, по которому безошибочно можно доставить обед. Может эффективнее  что бы диспетчер  перезванивал и уточнял меню и адрес. Так по крайней мере, Клиент будет оповещен что заказ принят.
Мы в другой реальности.
Цитировать
Ну, а если Заказчик все таки настаивает о предопределенном адресе, то описать реализуемый функционал и оценить трудозатраты по реализации и его сопровождении.
Слова "пшик" , "дорого" для этого не подходят.
Если уйти с позиции сияющего аналитика и встать на позицию не менее сияющего проектировщика. В чем такая уж сложность реализации вызова справочника списка офисов. или контекстная синхронизация трех выпадающих списков? Ведь задача учебного проекта  - это и обучение.

Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 22 Октября 2013, 22:57:43
Так вот что на самом деле хотел Заказчик.

1. Если требования были согласованы ранее - нет.
2. Если детальные требования не были согласованы ("проработаны" - не в счет), но бизнес-требование было озвучено именно в таком виде, как здесь процитировано - тоже нет.
3. Если других аргументов, помимо приведенных, у Разработчика нет, он должным образом мотивируется и враскорячку отправляется переделывать прототип.

Тут вот какой интересный возник нюанс.
Первый аналитик разрабатывал требования по управлению пользователями. В нашей задача клиентов системы регистрирует администратор по спискам предоставляемым кадровой службой.
Аналитик уточнил у меня как заказчика понятие место доставки. Я уточнил - это Здание, Этаж и Номер офиса.

Второй аналитик - разрабатывающий вариант использование Сделать заказ блюд, уточняя у меня вопрос о месте доставке, уточнил также способ указания и смены этого способа в рамках данного ВИ. Согласовав со мной этот момент до состояния , которое мы обсуждаем в этой теме.

Что происходило внутри команды разработчика, как происходил обмен уточненными требованиями мне неизвестно. Я мог как заказчик и преподаватель следить за некоторыми результатами, которые отражались в виде задач в redmine, появление описаний на wiki, коммитов в Visual Paradigm проекте, коммитов на гитхабе kohana-проекте. Уследить за всеми деталями сложно, да и не было такой задачи. Нужно же дать людям делать их собственные ошибки самостоятельно.

Однако за итерацию отсюда - т.е. на прошлой неделе, ко мне обратился тестировщик. У него упал его автоматизированный тест проверки создания учетной записи нового клиента. Он подготовил данные, в которых номер офиса был не числом, но строкой типа Д103.
Оказалось, что тип для офис - int. Он обратился к описаниям ВИ и не нашел указание на целый тип данных. Обратился за разъяснением ко мне - заказчику. В результате программист в дискуссии на форуме великодушно согласился сменить int на string - мол это ничего не стоит.

Я в данной ситуации пошел на принцип - мол почему делается некая несогласованная трактовка требований. Вернее даже не трактовка, а предложено уже решение, а потом объяснение того, что мол трудозатраты повышаются и эффект пшик :)
Название: Re: Реализовать нельзя упростить
Отправлено: Elf от 22 Октября 2013, 23:35:19
Эд, ну извиняй что не принимаю твоего пояснения. Учебная или неучебная задача, но надо стремиться к реальности, иначе чему научишься?
А по поводу всего 3 списков. Тут как смотреть то. Если с твоей позиции учебной программы, то наверно все просто, а если реальной разработкой, то не совсем просто:
-списки  надо кому то администрировать-значит надо интерфейс писать;
-контроль адреса при вводе, а иначе зачем все это заварили.  Вдруг на 3 этаже совсем не будет первого кабинета. Т.е. надо реализовать хранения матрицы взаимосвязей ну и т.д.
Ну если считать что 2 здания и пару этажей, то можно вообще не на чем не заморачиваться ;))
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 23 Октября 2013, 10:10:47
Спасибо за ответ.
Ну что уж вы все так торжественно - "Бизнес-эффект", "Технологическая инструкция", "Трудозатраты"... это ж студенты, они такие высокие материи не понимают.  :) Они, наверно, все в одну таблицу с атрибутами пользователя запихали и радовались, что на экране что-то отображается, не успели порадоваться, как тут - бац! какие-то списки адресов страшные. А для них же новую таблицу надо, а как же связать ее с первой, а?  ???
Ну так это же интересно, как реагировать на изменяющиеся требования, а ведь в жизни они меняются :)

Цитировать
Наверно, стоит, как в жизни, поискать некий компромисс. Скажем, дать возможность выбора из списка только Здания (их, вероятно, предполагается перечислимое количество), а Этаж и Номер офиса разрешить вводить вручную. Вообще очень настораживает фраза "сведения о доставке будyт в профиле пользователя", создается впечатление, что у них на уровне реализации только одна сущность - "Пользователь". И отсюда все их печали.
Не совсем так. Хотя может быть. Более того я готов на компромисс, если он обоснован
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 23 Октября 2013, 10:17:27
Эд, ну извиняй что не принимаю твоего пояснения. Учебная или неучебная задача, но надо стремиться к реальности, иначе чему научишься?
А по поводу всего 3 списков. Тут как смотреть то. Если с твоей позиции учебной программы, то наверно все просто, а если реальной разработкой, то не совсем просто:
-списки  надо кому то администрировать-значит надо интерфейс писать;
-контроль адреса при вводе, а иначе зачем все это заварили.  Вдруг на 3 этаже совсем не будет первого кабинета. Т.е. надо реализовать хранения матрицы взаимосвязей ну и т.д.
Ну если считать что 2 здания и пару этажей, то можно вообще не на чем не заморачиваться ;))

Ну извинятся не стоит, только ты тоже действуешь исходя из своего представления, а не исходя из текущей задачи.

Да - указание адреса в виде простой текстовой строки, во многом может быть самым простым и возможно эффективным решением, если например вдруг, эту систему решим развить до уровня продукта. Однако я не считаю, что это приближает нас к реальности. Мы же делаем заказную разработку.

Вполне согласен, что придется заморачиваться с разработкой интерфейсов для, контроль адреса и т.п. Но как раз именно это и можно и не реализовывать в текущем релизе (а он у нас как раз единственный), обеспечив ввод данных через интерфейс используемой СУБД. Однако проанализировать, промоделировать, понять, учесть.
Название: Re: Реализовать нельзя упростить
Отправлено: Золотая рыбка от 23 Октября 2013, 10:31:42
Вообще здОрово у вас все организовано. Реально здОрово. Можно многому научиться.
По поводу данного конкретного случая - все-таки скорее всего у Вашей команды что-то не получается  чисто технически, ну не отлажен у них механизм добавления нового справочника. Вертикальный прототип под эту ситуацию не реализован.
Им, конечно, следовало бы сообщить заранее - в данные сроки, при данном бюджете мы такую фичу реализовать не можем. Но они допустили такую управленческую ошибку, промолчали. И не факт, что они успеют прикрутить туда эти списки до зачета это удастся в приемлемое время исправить. А просто согласиться с их реализацией тоже, наверно, не совсем правильно, непедагогично, получится урок: разработчик что может, то и пишет, даже не утруждая себя согласованием с другими заинтересованными лицами. Может, предложить им как-то документально оформить по итогам - мол, реализовали первый этап, предполагается его развитие в таком-то направлении?
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 23 Октября 2013, 10:49:22
Тут вот какой интересный возник нюанс.
Первый аналитик разрабатывал требования по управлению пользователями...
Второй аналитик - разрабатывающий вариант использование...

Ситуация "К пуговицам претензии есть"?

Однако за итерацию отсюда - т.е. на прошлой неделе... Оказалось, что тип для офис - int... [тестировщик] Обратился за разъяснением ко мне - заказчику. В результате программист в дискуссии на форуме великодушно согласился сменить int на string - мол это ничего не стоит.

То есть изначально адрес был как-то структурирован, но в результате консультаций с Заказчиком мимо аналитиков, ситуация пришла в приведенное выше состояние?

Я в данной ситуации пошел на принцип - мол почему делается некая несогласованная трактовка требований. Вернее даже не трактовка, а предложено уже решение, а потом объяснение того, что мол трудозатраты повышаются и эффект пшик :)

Ну а это просто правильно с точки зрения обучения. Неважно, прав Заказчик или нет. Поход на принцип - его естественное поведение. Пусть студенты привыкают.
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 23 Октября 2013, 11:05:45
Вообще здОрово у вас все организовано. Реально здОрово. Можно многому научиться.

На мой взгляд - просто караул. Зоопарк средств информационной поддержки, которыми неподготовленный человек воспользоваться не в состоянии (а потому сам Заказчик признается, что не знает, что там происходит). Нет человекочитаемых документов, из которых можно получить представление о том, что, когда и зачем делается. С Заказчиком контактирует кто попало, вне зависимости от компетенций и погруженности в тему. Исполнители  в цепочке еще подумают, проявить ли великодушие и сделать как требуется, или сказать "а все равно пользы от этого пшик". Работу аналитиков никто не координирует, в результате чего пуговицы пришиты крепко, а костюм "в целом" не удовлетворяет Заказчика.
"ЗИС ИЗ... ЭДЖАААЙЛ!" :)

Ну или я такой мамонт.
Название: Re: Реализовать нельзя упростить
Отправлено: Elf от 23 Октября 2013, 11:33:29
С Леонидом согласна. Нет роли менеджера, который бы наладил процесс взаимодействия :)) А все остальное ерунда, технические моменты.
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 23 Октября 2013, 12:02:56
Вообще здОрово у вас все организовано. Реально здОрово. Можно многому научиться.
Спасибо, Золотая рыбка:)

То есть изначально адрес был как-то структурирован, но в результате консультаций с Заказчиком мимо аналитиков, ситуация пришла в приведенное выше состояние?
Да адрес был структурирован - было  три поля текстовое и два целых. Привязка их к справочнику отсутствовала, тестировщик лишь обратил внимание на невозможность указания в качестве номера буквенноцифровреое сочетание.

На мой взгляд - просто караул. Зоопарк средств информационной поддержки, которыми неподготовленный человек воспользоваться не в состоянии (а потому сам Заказчик признается, что не знает, что там происходит).
Естественно я не могу знать, что студенты обсуждают между собой и какие решения принимают устно. А вы что знаете все поступки подчиненных вам аналитиков?
Нет человекочитаемых документов, из которых можно получить представление о том, что, когда и зачем делается. С Заказчиком контактирует кто попало, вне зависимости от компетенций и погруженности в тему. Исполнители  в цепочке еще подумают, проявить ли великодушие и сделать как требуется, или сказать "а все равно пользы от этого пшик". Работу аналитиков никто не координирует, в результате чего пуговицы пришиты крепко, а костюм "в целом" не удовлетворяет Заказчика.
"ЗИС ИЗ... ЭДЖАААЙЛ!" :)
А почему вы так решили? Документы есть, есть методология их составления, есть учебная мотивация и стимуляция это делать. Ясно, что народ учится и делает ошибки. Ясно, что тем, кто играет роль менеджеров достаточно сложно руководить "подчиненными". Отсюда и проблема
Ну или я такой мамонт.
Может папонт ;)

С Леонидом согласна. Нет роли менеджера, который бы наладил процесс взаимодействия :)) А все остальное ерунда, технические моменты.
Роль есть, а наладить процесс естественно не просто. Как бы ты его наладила в течение полутора месяцев, не имея  опыта и выполняя проект раз в неделю. Проект УЧЕБНЫЙ.

Важно - какой урок и этого будет извлечен. Правда, у меня есть отличный генеральный заказчик, который уже прокомментировал эту ситуацию:

"Внесу свои пять копеек - безотносительно предмета спора, исключительно в методологических целях. То, что мы сейчас наблюдаем, достаточно типично для команд с разделением труда (аналитики-проектировщики-разработчики). Я называю это "синдромом последнего слова". Поскольку, в конечном итоге, воплощать любое решение программисту - то у него есть над этим решением неограниченная власть. И есть большой соблазн поправить решение, которое ему "спустили", на свое и правильное. При этом даже может быть, что разработчик прав - поскольку он видит то, чего не видят остальные. Но проблема в том, что он и не видит того, что видят остальные.

Первым делом разработчику нужно понимать, что это поведение - синдром, т.е. болячка. И не следовать ему, а придерживаться некоторой процедуры. Какой именно - зависит от организации конкретной команды. Где-то нужно обратиться к руководителю, где-то - к product owner'у, где-то к аналитикам. В любом случае, разработчику нужно принимать во внимание, что а) если есть требование и проект - над ним работали его коллеги, умные люди, и если он выглядит странно - возможно, к этому есть причины; и б) если у разработчика есть соображения, как улучшить проект или, в пределе, улучшить свойства системы (в т.ч. стоимость, как производную от сложности реализации) за счет отказа от каких-либо требований - он должен вынести эти идеи на тех, кто ранее предложил ему первую версию. А не партизанить, конечно, по тихому :)
"
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 23 Октября 2013, 12:18:34
Естественно я не могу знать, что студенты обсуждают между собой и какие решения принимают устно. А вы что знаете все поступки подчиненных вам аналитиков?

Поступки, которые выражаются в виде конкретных артефактов - разумеется, знаю. Артефакты в тех процессах, которыми занимаюсь я, являются цельными и человекочитаемыми. Т.е. это постановки, спеки и целый выводок ГОСТовой документации.
Еще и в процессе их подготовки аналитиками активно участвую.

А почему вы так решили?

Потому, что задал этот вопрос, и ответа на него не последовало.

Документы есть, есть методология их составления, есть учебная мотивация и стимуляция это делать.

Тогда почему Заказчик должен потратить недюжинные усилия на добычу данных из целого зверинца информационных ресурсов и последующий их синтез в информацию?

Ясно, что народ учится и делает ошибки. Ясно, что тем, кто играет роль менеджеров достаточно сложно руководить "подчиненными". Отсюда и проблема

Целый ряд проблем. Но это и здОрово. Может, на живых Заказчиках придется учиться меньше.

Может папонт ;)

(проверил) Да, совершенно верно.
Название: Re: Реализовать нельзя упростить
Отправлено: davvol от 23 Октября 2013, 12:30:13
На мой взгляд - просто караул.
......

Ну или я такой мамонт.
Все как в реальности:)))
Выпустится студент и кто знает в какую контору и команду он попадет? Будет готов:)


"Внесу свои пять копеек - безотносительно предмета спора, исключительно в методологических целях. То, что мы сейчас наблюдаем, достаточно типично для команд с разделением труда (аналитики-проектировщики-разработчики). Я называю это "синдромом последнего слова".
"

Наблюдал такое частенько. У нас забороли это через тестирование. Т.е. тестировщик не просто проверяет некий абстрактный функционал на работоспособность, а в первую очередь на соответствие его ТЗ и требованиям заказчика.

По теме:

По поводу сложившейся ситуации, помимо описанного выше "синдрома последнего слова" может быть еще сыграл роль "синдром очевидности" (авторское название:)).

Как известно, заказчики часто утаивают некоторые требования, считая их настолько очевидными, что даже упоминать их глупо.
И если аналитик не очень опытен или просто скромный, то не будет вытаскивать из заказчика клещами, а что же ему действительно нужно.

Но как показала практика, от этого синдрома страдают и аналитики. Особенно аналитики вышедшие из разработчиков.
Представляя себе в голове оптимальную с их точки зрения реализацию требования, они не считают нужным детализировать это в ТЗ. Из-за этого проект превращается в сломанный телефон, когда на каждом этапе все больше додумок и разнообразных фантазий, которые как положительная обратная связь уводят проект все дальше от скоупа.

ЗЫ: В данном случае на мой взгляд поведение заказчика совершенно естественно и оправданно.
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 23 Октября 2013, 14:15:58
Потому, что задал этот вопрос, и ответа на него не последовало.
У нас не аджайл и не строго формализованная разработка. Более того одной задач является -  подталкивать народ к своей методологии решения задач путем внесения нужных вводных. Народ сильно и всячески этому сопротивляется, как сопротивляется формализации регламентов, взаимодействию с заказчиком, попытке писать хороший код вместо плохого.  Естественный процесс: все стремится к минимум энергии, к энтропии. Я пытаюсь создавать барьеры. Противодействовать этому, структурировать и обучать структурированию.

В некоторых ситуациях я сомневаюсь в адекватности своих действий, почему и вынес тему на обсуждение. И много для себя понял благодаря Вам и другим участникам. Спасибо!

Все как в реальности:)))
ЗЫ: В данном случае на мой взгляд поведение заказчика совершенно естественно и оправданно.
Приятно слышать (читать). Значит все-таки я не совсем выживший из ума препод-маразматик :)
Название: Re: Реализовать нельзя упростить
Отправлено: Elf от 23 Октября 2013, 15:01:35
Приятно слышать (читать). Значит все-таки я не совсем выживший из ума препод-маразматик :)
Ну Эд что за комплексы? Всей стране таких бы маразматиков, может догнали и обогнали бы.....:))
Название: Re: Реализовать нельзя упростить
Отправлено: Леонид от 23 Октября 2013, 17:41:43
У нас не аджайл и не строго формализованная разработка. Более того одной задач является -  подталкивать народ к своей методологии решения задач путем внесения нужных вводных. Народ сильно и всячески этому сопротивляется, как сопротивляется формализации регламентов, взаимодействию с заказчиком, попытке писать хороший код вместо плохого.  Естественный процесс: все стремится к минимум энергии, к энтропии. Я пытаюсь создавать барьеры. Противодействовать этому, структурировать и обучать структурированию.

Не силен в методологии преподавания. А нельзя ли построить процесс так, чтобы студенты поняли, что делать по регламентам, фиксировать результаты взаимоотношений и писать хороший код - это и есть максимально надежный способ свести количество телодвижений (в т.ч., по зализыванию ран) к минимуму? Доходчиво донести до них эти простые вещи до того, как это сделает жизнь своими методами.
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 23 Октября 2013, 20:24:19
Не силен в методологии преподавания. А нельзя ли построить процесс так, чтобы студенты поняли, что делать по регламентам, фиксировать результаты взаимоотношений и писать хороший код - это и есть максимально надежный способ свести количество телодвижений (в т.ч., по зализыванию ран) к минимуму? Доходчиво донести до них эти простые вещи до того, как это сделает жизнь своими методами.
Это и сделано. Проблема в отсутствии навыков, которые приобретаются практикой.  Возможно, я не доношу это доходчиво. Но мне кажется куда как проще. 
Название: Re: Реализовать нельзя упростить
Отправлено: milstud от 15 Января 2015, 16:17:31
Это и сделано. Проблема в отсутствии навыков, которые приобретаются практикой.  Возможно, я не доношу это доходчиво. Но мне кажется куда как проще.

Понимаю конечно, что уже больше года прошло, но все таки интересно - как разрешилась ситуация? Заказчик пошел на уступки или реализовано было как захотел подрядчик? возможно был предложен другой вариант решения?
Название: Re: Реализовать нельзя упростить
Отправлено: Galogen от 15 Января 2015, 17:13:28
Понимаю конечно, что уже больше года прошло, но все таки интересно - как разрешилась ситуация? Заказчик пошел на уступки или реализовано было как захотел подрядчик? возможно был предложен другой вариант решения?
нашли компромисс :) Но детали уже не помню.