Anatoly Levenchuk (ailev) wrote,
Anatoly Levenchuk
ailev

КрупноСофт Мастерская (MacroSoft Workshop) и киберкоммунизм

Мелкософт великая фирма: она как-то взяла популярные отдельные приложения для десктопа (прежде всего Word, Excel, Access и т.д.) и выиграла по очкам в мощности каждого из них перед конкурентами (их хватало тогда -- WorkPerfect, Lotus 1-2-3, Paradox и т.д.). Это было очень наглядно и убедительно: ведущие журналы того времени практически ежемесячно публиковали оценки для конкурирующих редакторов текста, электронных таблиц, баз данных. Победа заняла немного времени: буквально пары лет хватило с того момента, как взялись за дело.

Затем оказалось, что эти все продукты ещё и объединены в одно целое: MS Office. Outlook Exchange и SharePoint добавили командности к этому декстопному Офису.

Задача выигрыша в конкуренции на рынке мейкерского софта может быть поставлена таким же образом: какой-нибудь КрупноСофт сделает лучшие в своём классе десктопные продукты для одного целого -- Мастерской (Workshop) и дополнит их средствами интеграции и командной работы.

Легко так поставить задачу, но с этого момента начнутся сложности. Мейкеры бывают очень разные. Если брать киберфизические системы, то разнообразие используемого для их создания софта зашкаливает -- там и 3D CAD, и IDE для программирования контроллеров, никаких жёстко конкурирующих "лидеров рынка" для всего этого разнообразия пока нет. Впрочем, клерки в офисах тоже бывают разные, при этом поначалу никто даже не знал, что один из главных софтов для них -- это электронные таблицы. И базы данных тоже сначала были не слишком внятные (тогда популярны были деревянные, потом CODASYL, реляционки появились сильно попозже). Ничего, устаканилось и унифицировалось. И от многих-многих разработчиков разного офисного софта вдруг оказалось, что это одна фирма -- мелкософт.

Так что с мейкерами нужно будет потрудиться, и сделать тесно работающие между собой декстопные:
-- Логику (Logic), концептуальный моделер + требования + архитектура
-- Форму (Shape), CAD для 3D, куда как-то встроить мультифизическое моделирование
-- Мозг (Brain), IDE для программирования контроллеров
-- Интеграл (Integral), сборочный и наладочный софт -- поддержка правой части V-диаграммы, в том числе и V&V.

А ещё нужно будет воткнуть все эти разные CAD/CAM в достойную PLM/ALM (product/application lifecycle management) систему, то есть обеспечить координацию отдельных инженерных работ в рамках. Сразу ограничимся two-pizza team (команда, которую можно накормить двумя огромными американскими пиццами: 5-12 человек, не больше. Если больше, то накладной расход на координацию будет зашкаливать -- и работать будет трудно и медленно).

Жизнь со времён оформления Офиса тут тоже поменялась: для Мастерской сегодня нельзя быть уверенным, что команда сидит в одной комнате, или даже в одной фирме. Поэтому мы должны сделать распределённую PLM/ALM-систему. Как это сделать, нужно ещё придумать. Распределённый BitKeeper был нарыт линуксовцами где-то в 1998, а начальный релиз Git случился только в апреле 2005. С тех пор распределённые системы управления конфигурацией потихоньку отжирают рынок у централизованных. Проблем нужно решить множество, все эти продукты нужно ещё придумать:
-- Версия (Version), это распределённое управление конфигурацией: PDM (ср.: Autodesk Vault) и софтовая система контроля версий (ср.: Git), каким-то образом в одном флаконе.
-- Изменение (Change), распределённый issue-tracker (ср.: Jira) с шаблонами для возможности фрагментов up-front планирования (ср.: adaptive case management)
-- План (Plan), менеджерский софт -- расчёт и оптимизация потоков по заветам lean 2.0, kanban и т.д.
-- Смена (Relay), распределённый чат с наворотами (ср.: Slack).
-- Доки (Docs), распределённая вики для документирования.
-- Люди (People), работа со стейкхолдерами, помощь в проведении совещаний, вербовке сотрудников (трудно подобрать аналог, но начинать думать можно с CRM).

Это я всё функциональные компоненты описал, по минимуму. Как оно там будет поделено на приложения-модули, и как оно там будет устроено внутри, я пока даже не загадываю. Я просто постулирую тут, что есть:
-- какие-то front-end системы, более-менее индивидуального пользования, АРМ разных разработчиков
-- какие-то back-end системы, более-менее командного пользования, куда втыкаются front-end системы. У этих back-end систем тоже бывают АРМы (инженерных) менеджеров. И эти back-end системы становятся распределёнными.

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

Ибо у каждого человека по факту уже есть собственный экзокортекс, киберчасть его психики. У него уже есть свой front-end Тудуйник (ToDoList), у него есть своя собственная почта и заметки, и их как-то нужно одновременно:
-- не смешивать с командными (privacy личных дел, плюс человек участвует во многих командах, включая одну или даже несколько семей -- нехорошо раскрывать их дела друг другу)
-- смешивать с командными, ибо вести много списков дел, почт, заметок и т.д. -- это одному человеку не под силу, человек-то у нас один! Важность поддержки одного списка дел личных и командных подробно обсуждает в своём курсе cartmendum

С персональной стороны приходит ещё софт управления вниманием и деятельностью (персональный ассистент, возможно это просто более разумный Тудуйник -- в этом направлении сейчас много фирм работает, все эти GoogleNow, Siri, VIV развиваются как раз в эту сторону).

Но и со стороны back-end появляется софт ведения совещаний: фасилитация группе полезна, и непонятно, как делиться нейрометрией с групповым фасилитатором (те же соображения privacy и ограничение нераскрытия сведений друг о друге).

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

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

В любом случае, нужно разным софтом поддерживать разные части человеческой личности, разные части человеческой психики. Для этого в архитектурных диаграммах мейкерского предпринятия нужно рисовать и архитектуру психики. Моя идея тут -- рисовать эту архитектуру психики в Архимейте (подробней: http://openmeta.livejournal.com/236160.html).

А что, если речь идёт не о мейкерстве, и тем самым не о Мастерской? Если команда занимается чем-то другим? IMHO, если команда чем-то занимается, то всё одно строит систему. Это означает, что софты front-end будут другими, а командный back-end и все связанные с ним проблемы останутся теми же.
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 24 comments