Эссе о разработке игр, мышлении и книгах

Софт для «поддержки принятия решений»

Обновлено: исходники проекта открыты — https://github.com/Tiendil/morphologic

В марте я писал в фейсбуке про софт для «поддержки принятия решений». О том, что не могу найти ничего подходящего.

В итоге я решил, что если гора не идёт к Магомету, то Магомет пишет необходимый софт сам.

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

Софт может пригодиться, если вам необходимо найти решение / выбрать архитектуру / определить лучшее сочетание параметров в сложной и / или слабо формализированной области.Например, вы знаете, что решение может обладать свойствами A, B, C, D, … Z, но не знаете какое сочетание свойств будет оптимальным. При том, что A и D несовместимы, а сочетание свойств B+X+Y выглядит лучше, чем P+Q.

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

По сути, софт помогает делать полный перебор всех вариантов решений с ограничениями.

На странице софта есть более подробноее описание и инструкция.

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

Прототип:: https://tiendil.github.io/morphologic/

Группа в телеграм для обсуждения: https://t.me/morphologic_soft

Изменение восприятия сложности

Написал философской рефлексии пост про изменение восприятия сложности за последние полвека.

Статья на хабре

Когда надо слушать пользователей

Вечные направления.

Вечные направления.

Первое, чему учат начинающего разработчика — это не слушать хотелки своих пользователей. Умение игнорировать чужие идеи даже важнее урезания фич, не говоря уже о какой-то там монетизации. Начнёте потакать им (или менеджменту, хе-хе) и всё, считай нет продукта, вместо него адская химера.

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

Так кого и когда необходимо слушать при разработке ПО?

Далее

Верификация через дублирование логики

Привет.

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

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

Далее

Зачем нужен план

Самый известный план на планете

Самый известный план на планете

Сначала я хотел назвать этот текст «Зачем нужен бизнес-план», но к чему себя ограничивать? План — он и в Африке план, не важно для чего. Тот, что для бизнеса, называется бизнес-планом. Тот, что для эвакуации, называется, как ни странно, планом эвакуации. И так далее.

Но идея текста таки пришла из области, где актуальны бизнес-планы. Часто стал встречаться с высказываниями о том, что «бизнес-план, конечно, нужен, но вот конкретно в нашем случае он пользу не принесёт потому, что»:

  1. у нас слишком большая неопределённость, будет гадание на кофейной гуще;
  2. и так всё предельно ясно, план — лишняя трата сил.

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

Но сначала…

Далее