23.3.1. Рабочая среда
Организация рабочего места имеет исключительное значение для производительности труда и получения удовлетворения от работы. Психологические исследования доказали влияние на поведение сотрудников размера комнаты, мебели, оборудования, температуры, влажности, яркости и качества света, уровня шума и возможности уединения. Поведение членов группы разработчиков также зависит от архитектурных особенностей помещения и возможностей доступных средств связи.
Вам, как менеджеру, дорого обойдется неумение обеспечить хорошие рабочие условия для сотрудников. Если люди чувствуют себя некомфортно на работе, то пропорционально неудовлетворенности возрастает и коэффициент текучести рабочей силы. Это, в свою очередь, потребует больших затрат средств на наем и обучение нового персонала. Также может замедлиться выполнение проекта, поскольку не хватает квалифицированных специалистов.
Команды по разработке программных продуктов часто работают в больших открытых офисах, иногда с перегородками, и только старшим по должности сотрудникам могут предоставляться отдельные кабинеты. По результатам исследования, которые показали, что открытые помещения, используемые многими фирмами, абсолютно непопулярны и столь же непродуктивны. В этом исследовании определены ключевые факторы оформления рабочего пространства.
1. Уединенность. Программистам требуется определенное место, где они могут сконцентрироваться и работать без чьего-либо вмешательства.
2. Обзор внешнего мира. Люди предпочитают работать при дневном свете, имея перед собой привлекательный вид из окна.
3. Индивидуализация. Люди усваивают различные привычки в организации рабочего процесса и имеют разные мнения относительно оформления помещения. Здесь большое значение имеет способность устраивать рабочее место так, чтобы оно отвечало разным вкусам и несло индивидуальные черты.
Таким образом, человек по своей природе предпочитает работать в отдельном помещении, которое он может оформить по своему вкусу и желанию. Такие кабинеты, в отличие от открытых офисов, создают более благоприятную обстановку и снижают количество пауз в работе. В открытом помещении сотруднику невозможно сконцентрироваться, как это можно сделать в тихой уединенной рабочей обстановке. Следствием снижения концентрации становится непременное падение уровня производительности труда.
Следовательно, отдельные помещения для программистов оказывают существенное влияние на производительность. В результате проведенном сравнительном анализе продуктивности труда программистов в различных рабочих условиях выяснилось, что возможность сконцентрироваться и снижение уровня посторонних вмешательств в работу значительно повышает рабочую активность. Из двух групп программистов с одинаковыми способностями работающие в благоприятных условиях оказались в два раза продуктивнее, чем те, которые находились в худших помещениях.
Группы по разработке программного обеспечения также нуждаются в помещении, где все члены группы могут собраться вместе и обсудить проект (будь то официальное заседание или просто неформальная встреча). Комната для встреч должны вмещать всех членов группы и обеспечивать им необходимую степень уединенности. Два вида потребностей, уединение и общение внутри группы, могут показаться взаимоисключающими. Мак-Кью (McCue) предлагает решить подобный конфликт потребностей путем размещения индивидуальных кабинетов вокруг одной большой комнаты для встреч (рис. 23.7).
Рис. 23.7. Размещение кабинетов и комнаты для встреч
Похожую модель организации офисов предлагает Бек (Beck) при описании "экстремального" программирования. Однако он все же настаивает на сохранении открытого типа офисов для совместной работы с перегородками для тех сотрудников, которые хотели бы поработать в одиночестве. Ключевым фактором здесь является предоставление двух видов помещения (общих и индивидуальных) с тем, чтобы члены группы выбирали рабочее место по своему усмотрению.
Такой тип организации рабочего помещения помогает сотрудникам решать проблемные вопросы и обмениваться информацией неформальным, но эффективным способом. Приводится довольно забавный случай, когда организация пыталась бороться с таким явлением, как "трата времени" сотрудников за болтовней вокруг кофеварки. Руководство распорядилось забрать у них кофеварку, после чего немедленно стали поступать многочисленные запросы на оказание помощи в программировании. Оказывается, в то время, когда сотрудники сплетничали за чашкой кофе, они заодно помогали друг другу в решении проблемных вопросов. Этот случай неоспоримо доказывает, что комнаты для неформальных встреч так же необходимы организации, как и комнаты для рабочих заседаний.
- З курсу
- З курсу
- Содержание
- Часть I. Инженерные основы программного обеспечения 10
- Часть II. Требования к программному обеспечению 33
- Часть III. Моделирование программного обеспечения 52
- Часть IV. Технологии разработки программного обеспечения 124
- Часть V. Письменная коммуникация. Документирование проекта Программного обеспечения 145
- Часть VI. Управление проектом программного обеспечения 192
- Предисловие
- Часть I. Инженерные основы программного обеспечения
- 1. Введение в программную инженерию
- 1.1. Вопросы и ответы об инженерии программного обеспечения
- 1.2. Профессиональные и этические требования к специалистам по программному обеспечению
- 2. Системотехника вычислительных систем
- 2.1. Интеграционные свойства систем
- 2.2. Система и ее окружение
- 2.3. Моделирование систем
- 2.4. Процесс создания систем
- 2.5. Приобретение систем
- 3. Процесс создания программного обеспечения
- 3.1. Модели процесса создания программного обеспечения
- 3.2. Итерационные модели разработки программного обеспечения
- 3.3. Спецификация программного обеспечения
- 3.4. Проектирование и реализация программного обеспечения
- 3.5. Эволюция программных систем
- 3.6. Автоматизированные средства разработки программного обеспечения
- 4. Технологии производства программного обеспечения
- Часть II. Требования к программному обеспечению
- 5. Требования к программному обеспечению
- 5.1. Функциональные и нефункциональные требования
- 5.2. Пользовательские требования
- 5.3. Системные требования
- 5.4. Документирование системных требований
- 6. Разработка требований
- 6.1. Анализ осуществимости
- 6.2. Формирование и анализ требований
- 6.3. Аттестация требований
- 6.4. Управление требованиям
- 7. Матрица требований. Разработка матрицы требований
- Часть III. Моделирование программного обеспечения
- 8. Архитектурное проектирование
- 8.1. Структурирование системы
- 8.2. Модели управления
- 8.3. Модульная декомпозиция
- 8.4. Проблемно-зависимые архитектуры
- 9. Архитектура распределенных систем
- 9.1. Многопроцессорная архитектура
- 9.2. Архитектура клиент/сервер
- 9.3. Архитектура распределенных объектов
- 9.4. Corba
- 10. Объектно-ориентированное проектирование
- 10.1. Объекты и классы объектов
- 10.2. Процесс объектно-ориентированного проектирования
- 10.2.1. Окружение системы и модели ее использования
- 10.2.2. Проектирование архитектуры
- 10.2.3. Определение объектов
- 10.2.4. Модели архитектуры
- 10.2.5. Специфицирование интерфейсов объектов
- 10.3. Модификация системной архитектуры
- 11. Проектирование систем реального времени
- 11.1. Проектирование систем реального времени
- 11.2. Управляющие программы
- 11.3. Системы наблюдения и управления
- 11.4. Системы сбора данных
- 12. Проектирование с повторным использованием компонентов
- 12.1. Покомпонентная разработка
- 12.2. Семейства приложений
- 12.3. Проектные паттерны
- 13. Проектирование интерфейса пользователя
- 13.1. Принципы проектирования интерфейсов пользователя
- 13.2. Взаимодействие с пользователем
- 13.3. Представление информации
- 13.4. Средства поддержки пользователя
- 13.5. Оценивание интерфейса
- Часть IV. Технологии разработки программного обеспечения
- 14. Жизненный цикл программного обеспечения: модели и их особенности
- 14.1. Каскадная модель жизненного цикла
- 14.2. Эволюционная модель жизненного цикла
- 14.2.1. Формальная разработка систем
- 14.2.2. Разработка программного обеспечения на основе ранее созданных компонентов
- 14.3. Итерационные модели жизненного цикла
- 14.3.1 Модель пошаговой разработки
- 14.3.2 Спиральная модель разработки
- 15. Методологические основы технологий разработки программного обеспечения
- 16. Методы структурного анализа и проектирования программного обеспечения
- 17. Методы объектно-ориентированного анализа и проектирования программного обеспечения. Язык моделирования uml
- Часть V. Письменная коммуникация. Документирование проекта Программного обеспечения
- 18. Документирование этапов разработки программного обеспечения
- 19. Планирование проекта
- 19.1 Уточнение содержания и состава работ
- 19.2 Планирование управления содержанием
- 19.3 Планирование организационной структуры
- 19.4 Планирование управления конфигурациями
- 19.5 Планирование управления качеством
- 19.6 Базовое расписание проекта
- 20. Верификация и аттестация программного обеспечения
- 20.1. Планирование верификации и аттестации
- 20.2. Инспектирование программных систем
- 20.3. Автоматический статический анализ программ
- 20.4. Метод "чистая комната"
- 21. Тестирование программного обеспечения
- 21.1. Тестирование дефектов
- 21.1.1. Тестирование методом черного ящика
- 21.1.2. Области эквивалентности
- 21.1.3. Структурное тестирование
- 21.1.4. Тестирование ветвей
- 21.2. Тестирование сборки
- 21.2.1. Нисходящее и восходящее тестирование
- 21.2.2. Тестирование интерфейсов
- 21.2.3. Тестирование с нагрузкой
- 21.3. Тестирование объектно-ориентированных систем
- 21.3.1. Тестирование классов объектов
- 21.3.2. Интеграция объектов
- 21.4. Инструментальные средства тестирования
- Часть VI. Управление проектом программного обеспечения
- 22. Управление проектами
- 22.1. Процессы управления
- 22.2. Планирование проекта
- 22.3. График работ
- 22.4. Управление рисками
- 23. Управление персоналом
- 23.1. Пределы мышления
- 23.1.1. Организация человеческой памяти
- 23.1.2. Решение задач
- 23.1.3. Мотивация
- 23.2. Групповая работа
- 23.2.1. Создание команды
- 23.2.2. Сплоченность команды
- 23.2.3. Общение в группе
- 23.2.4. Организация группы
- 23.3. Подбор и сохранение персонала
- 23.3.1. Рабочая среда
- 23.4. Модель оценки уровня развития персонала
- 24. Оценка стоимости программного продукта
- 24.1. Производительность
- 24.2. Методы оценивания
- 24.3. Алгоритмическое моделирование стоимости
- 24.3.1. Модель сосомо
- 24.3.2. Алгоритмические модели стоимости в планировании проекта
- 24.4. Продолжительность проекта и наем персонала
- 25. Управление качеством
- 25.1. Обеспечение качества и стандарты
- 25.1.1. Стандарты на техническую документацию
- 25.1.2. Качество процесса создания программного обеспечения и качество программного продукта
- 25.2. Планирование качества
- 25.3. Контроль качества
- 25.3.1. Проверки качества
- 25.4. Измерение показателей программного обеспечения
- 25.4.1. Процесс измерения
- 25.4.2. Показатели программного продукта
- 26. Надежность программного обеспечения
- 26.1. Обеспечение надежности программного обеспечения
- 26.1.1 Критические системы
- 26.1.2. Работоспособность и безотказность
- 26.1.3. Безопасность
- 26.1.4. Защищенность
- 26.2. Аттестация безотказности
- 26.3. Гарантии безопасности
- 26.4. Оценивание защищенности программного обеспечения
- 27. Совершенствование производства программного обеспечения
- 27.1. Качество продукта и производства
- 27.2. Анализ и моделирование производства
- 27.2.1. Исключения в процессе создания по
- 27.3. Измерение производственного процесса
- 27.4. Модель оценки уровня развития
- 27.4.1. Оценивание уровня развития
- 27.5. Классификация процессов совершенствования