Вместо флуда - полезное дело.
От: Ocenochka  
Дата: 02.06.09 09:54
Оценка: 2 (2) -1 :)
Проблема:
Читаю топики и уж больно они оторваны от конкретики. Каждый приводит агрументы под свои требования — у кого-то система сложная и он rich domain model использует, у кого-то попроще и он счастлив с anеmic, другие вообще под хостинг решения пишут, в то время как у тертьих — statfull клиентов сотни и свои сервера в кластерах и т.д. без конца и края.
Решение:
Предлагаю написать 1-2 типовых ТЗ и реализовать их в нескольких архитектурных подходах на нескольких инструментах. Вот типовые, на мой взгляд:
1. Тонкие клиенты (WebForms или WinForms).
2. Толстые клиенты (WinForms или WPF).
В обоих вариантах сделать наличие БД и:
— несколько длинных сценариев,
— несколько коротких сценариев,
— несколько ролей,
— несколько отчетов.
Ничего сложного, но с наличием ключевых вещей.
Предметную область выбрать понятную, типа магазина или еще чего-нибудь типичного для enterprise.
Возражения:
Конечно, многие скажут, что время у них на это нет — однако время на флуд у них предостаточно
Или что они слишком круты, чтобы кому-то что-то доказывать, однако в этом случае их крутость ничего не стоит.
Некоторые не захотят "палить" свои наработки, но очевидно, что очень не многие (и весьма достойные) будут разбираться досконально и перенимать ваши подходы, зато найдется множество критиков, благодаря которым вы сможете получить интересные идеи.
Результаты:
Думаю, что даже если требования будут обсуждаться и писаться несколько месяцев, а потом реализовываться на разных подходах и инструметых еще несколько месяцев, то в итоге через год, да хоть и полтора мы будем иметь очень хорошую основу для обсуждений, вместо того, чтобы флудить на форуме, плюс изъясняться станет на много проще на конкретных примерах. К тому же, даже если дальше обсуждения требований не пойдет — все равно требования обсуждать на много полезнее, чем абстрактные решения.
У самого времени не много, однако с использованием системы таск-трекинга можно будет не спеша работать в свободное время по желанию.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re: Вместо флуда - полезное дело.
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 02.06.09 10:05
Оценка:
Здравствуйте, Ocenochka, Вы писали:

O>Проблема:

O> Читаю топики и уж больно они оторваны от конкретики. Каждый приводит агрументы под свои требования — у кого-то система сложная и он rich domain model использует, у кого-то попроще и он счастлив с anеmic, другие вообще под хостинг решения пишут, в то время как у тертьих — statfull клиентов сотни и свои сервера в кластерах и т.д. без конца и края.
А в чем собственно проблема?

O> Решение:

O> Предлагаю написать 1-2 типовых ТЗ и реализовать их в нескольких архитектурных подходах на нескольких инструментах. Вот типовые, на мой взгляд:
O> 1. Тонкие клиенты (WebForms или WinForms).
O> 2. Толстые клиенты (WinForms или WPF).
O> В обоих вариантах сделать наличие БД и:
O> — несколько длинных сценариев,
O> — несколько коротких сценариев,
O> — несколько ролей,
O> — несколько отчетов.
O> Ничего сложного, но с наличием ключевых вещей.
O> Предметную область выбрать понятную, типа магазина или еще чего-нибудь типичного для enterprise.
Можешь начинать писать ТЗ, будет интересно. Главное чтобы было сложнее CRUD на 4 таблички (для решения такого даже кода писать не придется).

O> Возражения:

O> Конечно, многие скажут, что время у них на это нет — однако время на флуд у них предостаточно
Флуд на форуме позволяет концентрироватся на ключевых вещах, разработка приложения неизбежно погружает тебя в детали.

O> Результаты:

O> Думаю, что даже если требования будут обсуждаться и писаться несколько месяцев, а потом реализовываться на разных подходах и инструметых еще несколько месяцев, то в итоге через год, да хоть и полтора мы будем иметь очень хорошую основу для обсуждений, вместо того, чтобы флудить на форуме, плюс изъясняться станет на много проще на конкретных примерах. К тому же, даже если дальше обсуждения требований не пойдет — все равно требования обсуждать на много полезнее, чем абстрактные решения.
Флаг тебе в руки — начинай.

O> У самого времени не много, однако с использованием системы таск-трекинга можно будет не спеша работать в свободное время по желанию.

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

ЗЫ. Я считаю что выклдаывать на всеобщее обозрение стоит только тот код, качество которого отличается от идеального на бесконечно малую величину.
Re[2]: Вместо флуда - полезное дело.
От: MozgC США http://nightcoder.livejournal.com
Дата: 02.06.09 10:10
Оценка: +1
Здравствуйте, gandjustas, Вы писали:

G>ЗЫ. Я считаю что выклдаывать на всеобщее обозрение стоит только тот код, качество которого отличается от идеального на бесконечно малую величину.

Зачем? Главное чтобы код был в целом хорошим и показательным.
Re[2]: Вместо флуда - полезное дело.
От: Ziaw Россия  
Дата: 02.06.09 10:12
Оценка:
Здравствуйте, gandjustas, Вы писали:

G>ЗЫ. Я считаю что выклдаывать на всеобщее обозрение стоит только тот код, качество которого отличается от идеального на бесконечно малую величину.


Лучшее враг хорошего.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re: Вместо флуда - полезное дело.
От: Ziaw Россия  
Дата: 02.06.09 10:27
Оценка:
Здравствуйте, Ocenochka, Вы писали:

Идей хорошая, но бесполезная, нужен PM. Исполнители скорее всего найдутся, PM нет. Предлагаю начать его поиски в теме управление проектами, может им там тоже нужен показательный процесс?
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[2]: Вместо флуда - полезное дело.
От: Ocenochka  
Дата: 02.06.09 10:34
Оценка: -1
Здравствуйте, gandjustas, Вы писали:

G>А в чем собственно проблема?


То, что для вас проблем не существует я уже заметил

G>Можешь начинать писать ТЗ, будет интересно. Главное чтобы было сложнее CRUD на 4 таблички (для решения такого даже кода писать не придется).


"Можешь начинать" игнорировать мои посты

O>> Возражения:

O>> Конечно, многие скажут, что время у них на это нет — однако время на флуд у них предостаточно
G>Флуд на форуме позволяет концентрироватся на ключевых вещах, разработка приложения неизбежно погружает тебя в детали.

Без деталей — одно словоблудство, которое у некоторых неплохо получается, однако к реальности имеет весьма опосредованое отношение.

G>Флаг тебе в руки — начинай.


"Флаг тебе в руки" — начинай игнорировать мои посты и темы.

O>> У самого времени не много, однако с использованием системы таск-трекинга можно будет не спеша работать в свободное время по желанию.

G>Можно захоститься на гуглокоде, сделать несолько веток под разные решения.

Инструменты — это личное дело каждого, главное результат.

Иногда мне кажется, что вам платят за флуд, который редко обходит хоть одно сообщение.
Прошу прощения у владельцев форума за сомнение в их честности
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re[2]: Вместо флуда - полезное дело.
От: Ocenochka  
Дата: 02.06.09 10:38
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>Идей хорошая, но бесполезная, нужен PM. Исполнители скорее всего найдутся, PM нет. Предлагаю начать его поиски в теме управление проектами, может им там тоже нужен показательный процесс?


Я могу попробовать быть PM'ом для anemic domain model с обоими типами клиентов. Опыта в этом мало — только для себя и еще для одного разработчика в 3-4 проектах был PM'ом, хотя тут вроде и проекты не должны быть большими.
Мне кажется, важнее сначала ТЗ написать с учетом опытов разных практиков, ведь уже на этом этапе могут возникнуть разногласия и риск неуложиться в небольшой объем ТЗ.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re[3]: Вместо флуда - полезное дело.
От: Ziaw Россия  
Дата: 02.06.09 10:55
Оценка:
Здравствуйте, Ocenochka, Вы писали:

O> Я могу попробовать быть PM'ом для anemic domain model с обоими типами клиентов. Опыта в этом мало — только для себя и еще для одного разработчика в 3-4 проектах был PM'ом, хотя тут вроде и проекты не должны быть большими.


ПМ должен быть один и вести все проекты одновременно. Он же должен быть беспристарстным судьей и решать какие изменения в ТЗ происходят и когда.

O> Мне кажется, важнее сначала ТЗ написать с учетом опытов разных практиков, ведь уже на этом этапе могут возникнуть разногласия и риск неуложиться в небольшой объем ТЗ.


Хорошо, вариант один — придумаем предметную область.
Возьмем самую распостраненную у нас область автоматизации, торговлю. Допусти крупаная торговая организация покупает у оптовых поставщиков, продает магазинам, планирует сама открыть магазины. Торгует, допустим, книгами, поэтому назовем ее "Книжный дом". Что у нас есть? Поставищики, заказы, склады, продажи, остатки.

Второй вариант — берем уже готовую предметную область со схемой данных, тот же Northwind. По нему проще накидать требований, расписать УИ, перевести требования в задачи.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[3]: Вместо флуда - полезное дело.
От: MozgC США http://nightcoder.livejournal.com
Дата: 02.06.09 10:56
Оценка: +1
Здравствуйте, Ocenochka, Вы писали:

Я бы все-таки посоветовал не наезжать на участников, не думаю что это поспособствует реализации твоей идеи. И чуточку больше уважать мнение более опытных участников (я часто с кем-то не согласен, но понимаю что у многих людей опыта в несколько раз больше чем у меня, поэтому стараюсь все-таки себя пересилить и хоть немного прислушиваться).
оффтоп
От: Ocenochka  
Дата: 02.06.09 11:01
Оценка:
Здравствуйте, MozgC, Вы писали:

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


Бесспорно, уважать других и прислушиваться к их мнению очень важно, но в случае с ganjustas'ом я, думаю, можно сделать исключение
Особенно, после его заявлений в стиле "можешь начинать" и "флаг тебе в руки", которые я к нормальным отнести никак не могу.
Не спорю, я видел логические мысли в его исполнении, однако процент от общей массы, по моим прикидкам, у него в районе нескольких единиц, зато ветка обсуждения будет в несколько раз меньше.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re[4]: Вместо флуда - полезное дело.
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 02.06.09 11:08
Оценка: -2
Здравствуйте, Ziaw, Вы писали:

O>> Мне кажется, важнее сначала ТЗ написать с учетом опытов разных практиков, ведь уже на этом этапе могут возникнуть разногласия и риск неуложиться в небольшой объем ТЗ.


Z>Хорошо, вариант один — придумаем предметную область.

Z>Возьмем самую распостраненную у нас область автоматизации, торговлю. Допусти крупаная торговая организация покупает у оптовых поставщиков, продает магазинам, планирует сама открыть магазины. Торгует, допустим, книгами, поэтому назовем ее "Книжный дом". Что у нас есть? Поставищики, заказы, склады, продажи, остатки.

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

Z>Второй вариант — берем уже готовую предметную область со схемой данных, тот же Northwind. По нему проще накидать требований, расписать УИ, перевести требования в задачи.

Тоже дохлый номер.
Re: оффтоп
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 02.06.09 11:13
Оценка: +2
Здравствуйте, Ocenochka, Вы писали:

O>Здравствуйте, MozgC, Вы писали:


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


O> Бесспорно, уважать других и прислушиваться к их мнению очень важно, но в случае с ganjustas'ом я, думаю, можно сделать исключение

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

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

ЗЫ. Избавляйся от синдрома обиженного интиллегента.
Re[5]: Вместо флуда - полезное дело.
От: MozgC США http://nightcoder.livejournal.com
Дата: 02.06.09 11:15
Оценка:
Я считаю, что начальное ТЗ должно быть МАКСИМАЛЬНО ПРОСТЫМ. Иначе реализация может занять уже не несколько часов — и мало кто тогда решит начать реально делать. После реализации максимально простого ТЗ уже потихоньку можно будет его развивать.
Re[5]: Вместо флуда - полезное дело.
От: Ziaw Россия  
Дата: 02.06.09 11:17
Оценка: :)
Здравствуйте, gandjustas, Вы писали:

G>Ну вот опять не туда занесло.

G>Пишите сначала требования, к создаваемой системе, а потом уже будут поставищики, заказы, склады, продажи, остатки.
G>Наоборот делать не стоит.

О как. Телега впререди лошади? Ну напишите пример требований из которых можно получить предметную область, а не наоборот, как я предлагаю.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[2]: оффтоп
От: Ocenochka  
Дата: 02.06.09 11:18
Оценка:
Здравствуйте, gandjustas, Вы писали:

O>> Бесспорно, уважать других и прислушиваться к их мнению очень важно, но в случае с ganjustas'ом я, думаю, можно сделать исключение

O>> Особенно, после его заявлений в стиле "можешь начинать" и "флаг тебе в руки", которые я к нормальным отнести никак не могу.
O>> Не спорю, я видел логические мысли в его исполнении, однако процент от общей массы, по моим прикидкам, у него в районе нескольких единиц, зато ветка обсуждения будет в несколько раз меньше.
G>Дружище (с), написав подобный пост на форуме и будучи неготовым самостоятельно воплотить в жизнь ту идею, которую озвучил,

Ну вот опять. С чего ты взял, что не могу? Всю — конечно не могу, часть — могу, иначе бы не предлагал.

G>ты только начинаешь новоую волну необоснованного флуда, холиваров и тому подобного.


Что-то я не заметил, чтобы в моей ветке, кроме обсуждения тебя, был флуд

G>Поэтому я ничего лучшего, чем "можешь начинать", сказать тебе не могу.


Ты можешь ничего не сказать. Прошу прощения за стеб но на сообщения можно и ничего не отвечать.

G>ЗЫ. Избавляйся от синдрома обиженного интиллегента.


Это ты избавляйся, я себя к "интиллегентом" даже не отношу
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re[6]: Вместо флуда - полезное дело.
От: MozgC США http://nightcoder.livejournal.com
Дата: 02.06.09 11:19
Оценка:
Здравствуйте, Ziaw, Вы писали:

Z>О как. Телега впререди лошади? Ну напишите пример требований из которых можно получить предметную область, а не наоборот, как я предлагаю.


Он имел в виду что требования сначала должны быть в виде типа "Система должна помогать в приеме заказов от клиентов (магазинов), объединять их и отправлять поставщикам компании бла бла бла".
Re[4]: Вместо флуда - полезное дело.
От: Ocenochka  
Дата: 02.06.09 11:24
Оценка:
Здравствуйте, Ziaw, Вы писали:

O>> Я могу попробовать быть PM'ом для anemic domain model с обоими типами клиентов. Опыта в этом мало — только для себя и еще для одного разработчика в 3-4 проектах был PM'ом, хотя тут вроде и проекты не должны быть большими.

Z>ПМ должен быть один и вести все проекты одновременно.

Вот это мне кажется не правильно.
Во-первых, роль PM'а не так уж велика в данном случае.
Во-вторых, вряд ли кто-то захочет "вести несколько проектов одновременно" в свободное время, чем бы эти проекты ни были.
Давайте подробнее о роли PM'а в данном случае: анализ требований особо делать не придется — думаю, каждый работающий над реализацией будет в состоянии прочитать и понять относительно простое ТЗ. Разбиение ТЗ на таски будет в каждом подходе свое — в anemic, например, отдельным таском будет написание объектной модели, еще одним таском — написание маппингов, если в качестве инструмента будет ОРМ. В rich отдельного таска для объектной модели вроде не будет. Хотя, конечно, будут и общие таски для любых подходов, типа, проектирование БД.

Z>Он же должен быть беспристарстным судьей и решать какие изменения в ТЗ происходят и когда.


Предлагаю требования зафиксировать перед реализацией. Потенциальные изменения можно было бы просто обсуждать с примерами реализации и вводить после согласия всех PM'ов (кем бы они не были).

O>> Мне кажется, важнее сначала ТЗ написать с учетом опытов разных практиков, ведь уже на этом этапе могут возникнуть разногласия и риск неуложиться в небольшой объем ТЗ.

Z>Хорошо, вариант один — придумаем предметную область.
Z>Возьмем самую распостраненную у нас область автоматизации, торговлю. Допусти крупаная торговая организация покупает у оптовых поставщиков, продает магазинам, планирует сама открыть магазины. Торгует, допустим, книгами, поэтому назовем ее "Книжный дом". Что у нас есть? Поставищики, заказы, склады, продажи, остатки.

Как-будто не с того края начали. С какого края начать — хороший вопрос.
Хинт: предлагаю сделать магазин с разными товарами, чтобы был объект "Товар", а от него уже наследовать конкретные товары — одно это может привести к многим тонкостям реализации. Правда, может возникнуть проблема большого ТЗ, поэтому и предлагаю начать с требований.

Z>Второй вариант — берем уже готовую предметную область со схемой данных, тот же Northwind. По нему проще накидать требований, расписать УИ, перевести требования в задачи.


Тогда упускается возможность каждой "команде" потренироваться в проектировании БД. Ведь в разных подходах могут быть разногласия, например, с идентификацией объектов.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re[7]: Вместо флуда - полезное дело.
От: Ziaw Россия  
Дата: 02.06.09 11:37
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Он имел в виду что требования сначала должны быть в виде типа "Система должна помогать в приеме заказов от клиентов (магазинов), объединять их и отправлять поставщикам компании бла бла бла".


Только для этого надо понять, что есть заказы, клиенты, магазины, поставщики, etc. Т.е. определиться с предметной областью, что я и попытался сделать.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Re[6]: Вместо флуда - полезное дело.
От: Ocenochka  
Дата: 02.06.09 11:41
Оценка:
Здравствуйте, MozgC, Вы писали:

MC>Я считаю, что начальное ТЗ должно быть МАКСИМАЛЬНО ПРОСТЫМ. Иначе реализация может занять уже не несколько часов — и мало кто тогда решит начать реально делать. После реализации максимально простого ТЗ уже потихоньку можно будет его развивать.


Давайте искать компромис между "максимально простым", которое ничего интересного содержать не будет и "приближеной к реальности", которое никто не захочет делать из-за большого объема.
Примерно такое:
Есть магазин. Торгует разными товарами. Товары на складах, которые совмещены с пунктами выдачи. Так же, возможно, служба доставки.
Роли:
— клиент,
— менеджер (просмотр описаний и точного количества, установление скидок), [под сомнением].
— "складовщик" (для добавления нового товара), [под сомнением]
— директор (для просмотра отчетов).
Это по максимуму, поэтому, возможно, службу доставки имеет смысл сократить, как и две "сомнительные" роли.
Честно сказать, для меня область не очень знакомая, поэтому хотелось бы послушать того, что делал что-то подобное.
С точки зрения заказчика этого ПО, думаю растекать особо не имеет смысла относительно непротиворечивости данных при наличии ИБП и корректного завершения работы или о времени отклика, соответсвующему общепринятым нормам.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Люблю ставить оценки.
Re[5]: Вместо флуда - полезное дело.
От: Ziaw Россия  
Дата: 02.06.09 11:50
Оценка: +1
Здравствуйте, Ocenochka, Вы писали:

Z>>ПМ должен быть один и вести все проекты одновременно.


O> Вот это мне кажется не правильно.

O> Во-первых, роль PM'а не так уж велика в данном случае.
O> Во-вторых, вряд ли кто-то захочет "вести несколько проектов одновременно" в свободное время, чем бы эти проекты ни были.

ТЗ одно, задачи одни и те же, требуется их расписать, чекать выполнение и отслеживать потраченное время.

O> Давайте подробнее о роли PM'а в данном случае: анализ требований особо делать не придется — думаю, каждый работающий над реализацией будет в состоянии прочитать и понять относительно простое ТЗ. Разбиение ТЗ на таски будет в каждом подходе свое — в anemic, например, отдельным таском будет написание объектной модели, еще одним таском — написание маппингов, если в качестве инструмента будет ОРМ. В rich отдельного таска для объектной модели вроде не будет. Хотя, конечно, будут и общие таски для любых подходов, типа, проектирование БД.


Для чистоты эксперимента ТЗ должно быть одно, я бы даже сделал вплоть до экранов, чтобы разница была только в реализации.

O> Предлагаю требования зафиксировать перед реализацией. Потенциальные изменения можно было бы просто обсуждать с примерами реализации и вводить после согласия всех PM'ов (кем бы они не были).


Естественно.

O> Как-будто не с того края начали. С какого края начать — хороший вопрос.

O> Хинт: предлагаю сделать магазин с разными товарами, чтобы был объект "Товар", а от него уже наследовать конкретные товары — одно это может привести к многим тонкостям реализации. Правда, может возникнуть проблема большого ТЗ, поэтому и предлагаю начать с требований.

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

O> Тогда упускается возможность каждой "команде" потренироваться в проектировании БД. Ведь в разных подходах могут быть разногласия, например, с идентификацией объектов.


Никто не мешает перепроектировать БД при желании.
... << RSDN@Home 1.2.0 alpha 4 rev. 1176>>
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.