Введение

Тип прикладного программного обеспечения

Коллаборативное программное обеспечение, или групповое программное обеспечение, – это прикладное программное обеспечение, предназначенное для помощи людям, работающим над общей задачей, в достижении своих целей. Одно из самых ранних определений группового программного обеспечения – «преднамеренные групповые процессы плюс программное обеспечение для их поддержки». С точки зрения доступного взаимодействия, коллаборативное программное обеспечение можно разделить на платформы совместного редактирования в реальном времени, позволяющие нескольким пользователям одновременно и с возможностью отмены изменений редактировать один файл (обычно документ); и платформы управления версиями (также известные как контроль версий и контроль исходного кода), позволяющие пользователям параллельно вносить изменения в файл, при этом сохраняя каждое сохраненное пользователями редактирование как отдельные файлы, являющиеся вариантами исходного файла. Коллаборативное программное обеспечение – это широкое понятие, которое во многом пересекается с компьютерной поддержкой совместной работы (CSCW). Согласно Карстенсену и Шмидту (1999), групповое программное обеспечение является частью CSCW. Авторы утверждают, что CSCW, а следовательно, и групповое программное обеспечение, рассматривает вопрос о том, «как совместные действия и их координация могут быть поддержаны с помощью компьютерных систем». Использование коллаборативного программного обеспечения в рабочем пространстве создает совместную рабочую среду (CWE). Коллаборативное программное обеспечение связано с понятием совместных рабочих систем, которые понимаются как любая форма человеческой организации, возникающая всякий раз, когда происходит сотрудничество, будь то формальное или неформальное, преднамеренное или непреднамеренное. В то время как групповое программное обеспечение или коллаборативное программное обеспечение относится к технологическим элементам компьютерной поддержки совместной работы, совместные рабочие системы становятся полезным аналитическим инструментом для понимания поведенческих и организационных факторов, связанных с более широкой концепцией CSCW.

История

Дуглас Энгельбарт впервые представил концепцию совместных вычислений в 1951 году и задокументировал свое видение в 1962 году, а его исследовательская команда к середине 1960-х годов использовала полностью функционирующие прототипы. В 1968 году он провел первую публичную демонстрацию своей работы, которая впоследствии получила название «Мать всех демонстраций». В следующем году лаборатория Энгельбарта была подключена к ARPANET, первой компьютерной сети, что позволило расширить спектр услуг для большего числа пользователей. Появление онлайн-игр с возможностью совместного участия началось среди первых пользователей сетевых компьютеров. В 1975 году Уилл Кроутер создал игру Colossal Cave Adventure на компьютере DEC PDP 10. С ростом числа интернет-соединений увеличивалось и количество пользователей, а также многопользовательских игр. В 1978 году Рой Трубшоу, студент Университета Эссекса в Великобритании, создал игру MUD (Multi User Dungeon). Правительство США начало использовать полноценные приложения для совместной работы в начале 1990-х годов. Одним из первых надежных приложений стала Стратегия совместного оперативного моделирования, планирования и симуляций ВМС (COMPASS). Система COMPASS позволяла до шести пользователям устанавливать соединения типа «точка-точка»; совместная сессия оставалась активной, пока хотя бы один пользователь был подключен, и требовала повторного создания, если все шестеро выходили из системы. Компания MITRE усовершенствовала эту модель, разместив совместную сессию на сервере, в который входил каждый пользователь. Эта система, получившая название Collaborative Virtual Workstation (CVW), позволяла создавать сеансы в виртуальных папках и виртуальных комнатах, сохраняя их в качестве постоянных сессий, к которым можно было присоединиться позже. В 1996 году Павел Кертис, ранее разработавший MUD в PARC, создал PlaceWare – сервер, имитирующий аудиторию с возможностью взаимодействия «один ко многим», с боковым чатом между «соседями по местам» и возможностью пригласить ограниченное число слушателей для выступления. В 1997 году инженеры GTE использовали движок PlaceWare в коммерческой версии CVW от MITRE, назвав ее InfoWorkSpace (IWS). В 1998 году IWS был выбран в качестве военного стандарта для стандартизированного Центра управления воздушными операциями. Продукт IWS был продан компании General Dynamics, а затем компании Ezenia.

Групповая посуда

Изначально программное обеспечение для совместной работы называлось групповым программным обеспечением, и этот термин можно проследить до конца 1980-х годов, когда Ричман и Словак (1987) писали: "Подобно электронному сухожилию, связывающему команды, новое групповое программное обеспечение призвано поместить компьютер в центр коммуникаций между менеджерами, техниками и всеми, кто взаимодействует в группах, революционизируя их работу". В 1978 году Питер и Труди Джонсон Ленц ввели термин "групповое программное обеспечение"; их первоначальное определение в 1978 году звучало как "преднамеренные групповые процессы плюс программное обеспечение для их поддержки". Позже в своей статье они пояснили групповое программное обеспечение как "компьютерно опосредованная культура – воплощение социальной организации в гиперпространстве". Groupware объединяет совместно развивающиеся системы человека и инструментов, оставаясь при этом единой системой. В начале 1990-х годов были выпущены первые коммерческие продукты группового программного обеспечения, и крупные компании, такие как Boeing и IBM, начали использовать электронные системы совещаний для ключевых внутренних проектов. Lotus Notes стал ярким примером этой категории продуктов, обеспечивая удаленное групповое взаимодействие в то время, когда интернет находился в зачаточном состоянии. Киркпатрик и Лоус (1992) тогда писали: "Если GROUPWARE действительно существенно повлияет на производительность в долгосрочной перспективе, само определение офиса может измениться. Вы сможете эффективно работать в составе группы, где бы ни находился ваш компьютер. По мере того, как компьютеры становятся меньше и мощнее, это будет означать, что работать можно будет где угодно". В 1999 году Ачакосо создал и представил первое беспроводное групповое программное обеспечение.

Конструкция и реализация

Сложность разработки группового программного обеспечения остаётся актуальной проблемой. Одна из причин – социально-технический аспект такого ПО. Разработчикам группового программного обеспечения необходимо учитывать не только технические вопросы (как и в традиционной разработке), но и организационные аспекты, а также социальные процессы, которые должны поддерживаться приложением. Примеры проблем при разработке группового ПО:

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

Совместное программное обеспечение и взаимодействие человека

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