group-telegram.com/systemswing/758
Last Update:
Вокруг все говорят про софт-скиллы, имея в виду в основном самоорганизацию, самодисциплину, управление временем, умения корректно и бережно общаться, работать в команде, выдерживать давление, правильно вести себя в конфликтах и всякое такое.
Мне это не очень интересно, по крайне мере на том уровне, который обычно доходит до инженерных и аналитических конференций и статей (хотя бывают приятные исключения, когда приходят настоящие психологи, например как на прошлогодний Flow).
Но вот очень сильно меня интересует направление, о котором редко говорят: когнитивные процессы аналитиков, программистов, архитекторов. В англоязычной литературе это называется cognition, а переводят иногда просто "мышление". Меня это интересует в практической плоскости, с точки зрения обучения. Потому что многие вещи в работе аналитиков не специализированы, а именно что выражают общее владение логикой, абстрактным мышлением, умением отделять концепты, предметы рассмотрения, структурировать информацию и т.д.
И вот хорошая статья с заманчивым названием 'Cognition in Software Engineering: A Taxonomy and Survey of a Half-Century of Research' — "Мышление в программной инженерии: таксономия и обзор за полвека исследований", 2022 год.
Они предлагают следующие концепты в области мышления:
— Восприятие
— Внимание
— Разделение внимания (мультитаскинг)
— Селективное внимание (фокусировка на конкретной задаче)
— Устойчивость внимания (насколько долго вы можете сосредоточиться на задаче)
— Память
— Рабочая
— Кратковременная
— Долговременная
— Когнитивная нагрузка
— Внутренняя (соответствующая собственной сложности задачи)
— Внешняя (относящая не к сути задачи, а к форме, в которой она поставлена, и в сложности поиска информации и материалов для решения задачи)
— Рассуждения, умение делать выводы
— Принятие решений (умение выявлять альтернативы, сравнивать их, оценивать и выбирать)
— Решение задач (умение следовать от постановки задачи до её выполнения через последовательность мыслительных операций)
— Когнитивные искажения
— Знания
— Явные
— Неявные технические
— Неявные мыслительные (ценности, ментальные модели, схемы)
— Социальное мышление (вот тут в основном сидят софт-скиллы)
Ко всем этим процессам должен быть приложен когнитивный контроль — насколько человек может контролировать и успешно выполнять все эти процессы — и когнитивные ошибки: какие типовые ошибки возникают при выполнении перечисленных процессов.
Все эти процессы в приложении к программной инженерии исследуются с 1973, но массово только с 2010. Примерно тогда же кроме памяти, знаний и рассуждений стали исследовать внимание, когнитивные искажения и когнитивную нагрузку.
Любопытно, что, в разбивке по областям SWEBoK, в области Requirements и Design исследуют в основном знания (очевидный предмет), но в индустриальных публикациях исследуют больше рассуждения (что логичнее). К сожалению, именно в этих исследованиях нет никакой физиологической рамки или теории, объясняющей, что вообще в голове происходит.
При этом в целом по требованиям и проектированию больше всего исследований, после Software Construction (никогда не мог понять эту разницу, это типа низкоуровневое проектирование?..)
Любопытная находка исследователей:
Восприятие — менее всего изученная область. А ведь у нас постоянно возникает вопрос — как представить требования или постановки, чтобы не возникло искажение понимания! Что давать: диаграмму, макет интерфейса, формальный текст, историю, что-то близкое к коду, типа OpenAPI? Наука не дает ответа.
Вот такая рамка. А вы бы про какой концепт хотели лучше узнать? Что важнее всего для аналитиков? И что нужно учитывать при передаче своих результатов дальше по процессу?
BY Системный сдвиг
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Share with your friend now:
group-telegram.com/systemswing/758