Pull to refresh
1
0
Александр @Aknodx

User

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

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

Спасибо за детальный ответ!

Уверен что у вас отличная команда, но мне пока хорошо в своей. Однако, от интересного и полезного общения я никогда не отказываюсь!)

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

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

Возвращаясь к анализу данных, а точнее к прогнозированию, если интересно посмотрите на разработки вот этой компании https://www.remi.com/, которые используются во многих регионах и мегаполисах США и ЕС для прогнозирования экономических и социальных изменений, бизнес климата, транспорта, энергетики и т.д.

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

Интересная статья и интересный инструмент! Можно сказать, что по жизни я занимаюсь программными средствами так или иначе связанными с анализом и принятием решений, включая системы поддержки принятия решений (включая пространственные решения по земплепользованию, ликвидации последствий загрязнений, использованию и обслуживанию инфраструктуры и т.д.), средствами для сбора данных для таких решений, средствами для оценки рисков и т.д.
Интересно видеть простой в использовании инструмент для поддержки принятия бизнес решений, который может быть использован конечными пользователями сразу из коробки. Обычно, использование систем поддержки принятия пространственных решений это приручение целого зоопарка различных источников пространственных данных (разные форматы файлов, разные сервисы и т.д.), танцев вокруг обработки таких данных (преобразование форматов, вычисление расстояний, буферных зон и т.д.), построения моделей для анализа решений на основе обработанных данных с учетом различных факторов, работа с экспертами, заинтересованными лицами, лицами принимающими решения и т.д.
Может ли ваш инструмент (в текущей реализации или перспективе) помочь в выборе места расположения кафе из числа конкретных мест заданных пользователем? Можно ли учитывать пользовательские данные (стоимость, площадь, состояние помещения и т.д.)? Можно ли учитывать приоритеты пользователей (минимальные вложения, максимальная прибыль, минимальные риски и т.д.)? Может ли ваш инструмент помочь в решении задачи использования определенного места (что построить, кафе, магазин, заправку и т.д.)?

Согласен, со многими бизнес задачами (в частности уровня предприятия) качественный монолит справится без каких либо проблем. А еще есть плюс у монолита на этапе прототипирования, а именно на этапе разработки функционального прототипа. Нескольким разработчикам вполне по силам в довольно короткие сроки построить работающий монолит (например на Java и Spring) чтобы самим посмотреть и другим показать как работают их идеи. Такой монолитный прототип можно попробовать, посмотреть на него с разных сторон, в том числе чтобы понять нужно ли выделять из него сервисы, и если нужно то какие именно, как они должны выглядеть, как ими управлять и т.д.

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

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

Спасибо за ваш комментарий. В этой и предыдущих статьях представлен функциональный прототип нашего Клуба инновационных решений, предназначенный в первую очередь для тестирования идей по сбору информации посредством решения задач, игровой экономики как основы мотивации, обработке и анализу накопленных данных. Безусловно, многие важные моменты (включая UX/UI дизайн, детали профиля пользователя, аутентификацию с посредством сторонних сервисов и т.д.) остались за бортом прототипа. Если реализованные в прототипе идеи покажут себя рабочими, то отталкиваясь от него будет создан программный продукт, ориентированный на определенную аудиторию, на определенные задачи этой аудитории, с новым качественным дизайном и с тщательно доработанным напильником функционалом.

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

Вполне возможно, что представленный прототип будет переработан в программный продукт для управления знаниями в определенной отрасли или крупной компании (например, вопросы и ответы по выводу из эксплуатации устаревших энергоблоков АЭС), доступный для определенных категорий специалистов. Нужно отметить что подобные программные средства в частности, и краудсорсинг решений в целом, как правило не работают без четкого понимания и привязки к определенной предметной области, ее задач и аудитории.

Надеюсь я смог пролить немного света на текущее состояние нашего Клуба и планы по его дальнейшей разработке и развитию.

Всегда пожалуйста!) На мой взгляд WordNet и FrameNet интересны в первую очередь своей проработанностью (если так можно выразиться), благодаря довольно большому количеству публикаций, примеров использования, программных средств и т.п. можно избежать изобретения велосипеда (хотя иногда этот процесс весьма увлекателен и полезен) и набивания шишек на своей голове)))

Возможно, кроме WordNet стоит упомянуть FrameNet (https://framenet.icsi.berkeley.edu/), который фактически представляет собой еще одну разновидность семантических моделей (похоже на дистрибутивные, но не совсем https://www.researchgate.net/publication/266970167_Leveraging_Frame_Semantics_and_Distributional_Semantics_for_Unsupervised_Semantic_Slot_Induction_in_Spoken_Dialogue_Systems), по которому есть довольно много публикаций и наработок, и который можно использовать посредством NLTK (https://www.nltk.org/howto/framenet.html).

Серьезная задача. Мы уже некоторое время присматриваемся к docs-as-code для работы с программной документацией, как следствие нам он нужен в связке с такими инструментами как JavaDoc (позволяет генерировать документацию по специальным комментариям в исходных кодах). В идеале хотелось бы собрать решение позволяющее генерировать как описание программ на основе исходных кодов (для JavaDoc есть доклеты и плагины позволяющие генерировать XML в формате DITA), так и различного рода рукописные концепции, технические задания, руководства пользователей и т.д. И еще, хотелось бы чтобы зоопарк этого решения базировался на открытых программных продуктах.
Не попадалось ли кому нибудь свежего обзора средств docs-as-code? Самое свежее и вменяемое что мне попалось это статья от 2016 года со сравнением некоторых из них https://idratherbewriting.com/2016/10/28/markdown-or-restructuredtext-or-dita-choosing-format-tech-docs/

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

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

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

Если в трех абзацах, то вот так у нас все организовано:)

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

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

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

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

Надеюсь я смог ответить на ваши вопросы.

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

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

Надеюсь что правильно понял ваши вопросы и смог ответить на них.

Information

Rating
Does not participate
Registered
Activity