2. «Людской» капитал«Людской» капитал
► Люди, работающие в компаниях по разработке ПО,Люди, работающие в компаниях по разработке ПО,
являются их самым ценным "активом". Именно ониявляются их самым ценным "активом". Именно они
представляют интеллектуальный капитал, и отпредставляют интеллектуальный капитал, и от
менеджеров по разработке ПО зависит, получит лименеджеров по разработке ПО зависит, получит ли
компания наилучшие из возможных дивиденды откомпания наилучшие из возможных дивиденды от
инвестиций в человеческие ресурсы.инвестиций в человеческие ресурсы.
► В успешно развивающихся компаниях и экономическихВ успешно развивающихся компаниях и экономических
структурах это достигается в том случае, еслиструктурах это достигается в том случае, если
организация уважает своих сотрудников.организация уважает своих сотрудников.
► Круг выполняемых ими обязанностей и уровеньКруг выполняемых ими обязанностей и уровень
вознаграждения должны соответствовать их умению,вознаграждения должны соответствовать их умению,
которое, в свою очередь, зависит от квалификации.которое, в свою очередь, зависит от квалификации.
3. Организация человеческой памяти
1. Кратковременная память с быстрым
доступом, но ограниченными
возможностями. Доступна для
обработки поступающей информации.
2. Промежуточная память с высокими
возможностями. Хранение «коротко
срочной» информации.
3. Долговременная память. Это память с
самыми широкими возможностями,
относительно трудным доступом и
крайне ненадежными механизмами
хранения.
Кратковременная память
Промежуточная память
Долговременная память
4. ► Семантические знания.Семантические знания. Это знания об основныхЭто знания об основных
понятиях, таких, например, как функционированиепонятиях, таких, например, как функционирование
оператора присвоения, представление о классеоператора присвоения, представление о классе
объектов, о технике хешированного поиска или ообъектов, о технике хешированного поиска или о
структуре организации программ. Эти знанияструктуре организации программ. Эти знания
приобретаются через опыт и обучение и сохраняютсяприобретаются через опыт и обучение и сохраняются
в форме автономных представлений.в форме автономных представлений.
► Синтаксические знания.Синтаксические знания. Это детализированныеЭто детализированные
знания (подробности) об отдельных объектах изнания (подробности) об отдельных объектах и
явлениях, например о том, как дать описание объектаявлениях, например о том, как дать описание объекта
вв UMLUML, какие стандартные функции доступны в языке, какие стандартные функции доступны в языке
программирования, создается ли операторпрограммирования, создается ли оператор
присваивания с помощью знака "=" или знака ":=" иприсваивания с помощью знака "=" или знака ":=" и
т.д. Эти знания хранятся в неструктурированномт.д. Эти знания хранятся в неструктурированном
виде.виде.
Организация человеческой памяти
5. Решение задачРешение задач
Для того чтобы создатьДля того чтобы создать
систему ПО, в первуюсистему ПО, в первую
очередь необходимоочередь необходимо
понять поставленнуюпонять поставленную
задачу (проблему),задачу (проблему),
разработать стратегиюразработать стратегию
поиска решения ипоиска решения и
преобразовать решениепреобразовать решение
в программу.в программу.
Первый этап включает переход постановки задачи из кратковременнойПервый этап включает переход постановки задачи из кратковременной
памяти в промежуточную. Далее проблема сопоставляется ипамяти в промежуточную. Далее проблема сопоставляется и
интегрируется с уже имеющимися знаниями в долговременной памяти,интегрируется с уже имеющимися знаниями в долговременной памяти,
а затем обрабатывается в целях составления определенного решения.а затем обрабатывается в целях составления определенного решения.
В заключение найденное решение переносится в исполняемуюВ заключение найденное решение переносится в исполняемую
программу.программу.
Проблема РешениеЧастные
решения
Новые знания
Существующие знания
Долговременная память
Промежуточная
память
6. ► Если менеджерам необходимо определить, когоЕсли менеджерам необходимо определить, кого
включить в долгосрочный проект, в первую очередьвключить в долгосрочный проект, в первую очередь
следует оценить способность специалиста решатьследует оценить способность специалиста решать
всеобъемлющие проблемы и его опыт работы в даннойвсеобъемлющие проблемы и его опыт работы в данной
области и лишь потом его мастерство программиста.области и лишь потом его мастерство программиста.
► Как только приходит понимание поставленной задачи, уКак только приходит понимание поставленной задачи, у
опытных программистов возникают приблизительноопытных программистов возникают приблизительно
одинаковые трудности в разработке программы,одинаковые трудности в разработке программы,
независимо от того, какой при этом используется языкнезависимо от того, какой при этом используется язык
программирования.программирования.
► Несомненно, навыки программирования необходимы,Несомненно, навыки программирования необходимы,
и для их развития потребуется достаточно многои для их развития потребуется достаточно много
времени. Однако, гораздо легче освоить определенныйвремени. Однако, гораздо легче освоить определенный
язык программирования, чем развить в себеязык программирования, чем развить в себе
способности к решению задач.способности к решению задач.
Решение задачРешение задач
7. МотивацияМотивация
► Мотивация человека направлена на удовлетворение своихМотивация человека направлена на удовлетворение своих
потребностей. Эти потребности имеют иерархическую структуру.потребностей. Эти потребности имеют иерархическую структуру.
Люди, работающие в организациях, которые занимаются
разработкой программного обеспечения, как правило, не
испытывают сильного голода или жажды и чувствуют себя в
относительной безопасности в своем окружении.
Таким образом, в аспекте управления этими людьми главной
задачей менеджмента является удовлетворение их потребностей,
связанных с оценкой, самореализацией и необходимостью быть
членом определенной социальной группы.
9. ► Тактика удовлетворения социальных потребностейТактика удовлетворения социальных потребностей
основывается наосновывается на предоставлении людям возможности ипредоставлении людям возможности и
времени для встреч с коллегамивремени для встреч с коллегами, а также на том, чтобы, а также на том, чтобы
обеспечить место для таких встреч. Неформальные и легкие вобеспечить место для таких встреч. Неформальные и легкие в
использовании средства общения (например, электроннаяиспользовании средства общения (например, электронная
почта) с этих позиций представляют исключительную ценность.почта) с этих позиций представляют исключительную ценность.
► Для удовлетворения потребности в оценке крайне важно датьДля удовлетворения потребности в оценке крайне важно дать
понять людям, насколько важна их роль в организации.понять людям, насколько важна их роль в организации.
Открытое признание их достиженийОткрытое признание их достижений — наиболее простой и— наиболее простой и
эффективный способ удовлетворения этой потребности. Кромеэффективный способ удовлетворения этой потребности. Кроме
того, люди должны чувствовать, что ихтого, люди должны чувствовать, что их работа оплачивается наработа оплачивается на
должном уровнедолжном уровне, который определяется их знаниями и опытом., который определяется их знаниями и опытом.
► Чтобы удовлетворить потребности персонала в самореализацииЧтобы удовлетворить потребности персонала в самореализации
важноважно предоставить каждому сотруднику определенный уровеньпредоставить каждому сотруднику определенный уровень
ответственностиответственности за сделанную работу. Это достигается путемза сделанную работу. Это достигается путем
поручения им достаточно трудных задач (но ни в коем случае непоручения им достаточно трудных задач (но ни в коем случае не
невыполнимых), а также проведения обучения, в процессеневыполнимых), а также проведения обучения, в процессе
которого могут развиваться их навыки.которого могут развиваться их навыки.
МотивацияМотивация
10. Можно выделить три типа профессионалов:Можно выделить три типа профессионалов:
1.1. Люди сЛюди с целевой ориентациейцелевой ориентацией,, получающие достаточно мотивацииполучающие достаточно мотивации
от работы, которую выполняют. К этому типу относятся "технари",от работы, которую выполняют. К этому типу относятся "технари",
мотивация которых вызвана интеллектуальными задачами помотивация которых вызвана интеллектуальными задачами по
разработке программного обеспечения.разработке программного обеспечения.
2.2. Люди сЛюди с самоориентациейсамоориентацией,, мотивация которых основана на личноммотивация которых основана на личном
успехе и признании. Они заинтересованы в разработкеуспехе и признании. Они заинтересованы в разработке
программного обеспечения, преследуя при этом личныепрограммного обеспечения, преследуя при этом личные
интересы.интересы.
3.3. Люди сЛюди с внешней ориентациейвнешней ориентацией,, мотивация которых требуетмотивация которых требует
присутствия и деятельности сотрудников. Так как в наше времяприсутствия и деятельности сотрудников. Так как в наше время
создание программ становится все более ориентированным насоздание программ становится все более ориентированным на
пользователя, такие люди все чаще вовлекаются в разработкупользователя, такие люди все чаще вовлекаются в разработку
программного обеспечения.программного обеспечения.
МотивацияМотивация
11. Групповая работаГрупповая работа
► Организация команды, которая могла бы эффективно работатьОрганизация команды, которая могла бы эффективно работать
над программой, является достаточно сложной задачей длянад программой, является достаточно сложной задачей для
менеджера. Необходимо, чтобы в команде быломенеджера. Необходимо, чтобы в команде было равноеравное
соотношение технических навыков, опыта и выражениясоотношение технических навыков, опыта и выражения
индивидуальностииндивидуальности..
► Хорошо функционирующая команда — это нечто большее, чемХорошо функционирующая команда — это нечто большее, чем
простой набор людей с необходимым соотношением навыков. Впростой набор людей с необходимым соотношением навыков. В
хорошей команде присутствуетхорошей команде присутствует дух товариществадух товарищества, который, который
мотивирует сотрудников через успехи всей команды, включая имотивирует сотрудников через успехи всей команды, включая и
достижение собственных целей.достижение собственных целей.
► Поэтому менеджеры должны стимулировать деятельность,Поэтому менеджеры должны стимулировать деятельность,
направленную непосредственно нанаправленную непосредственно на "строительство команды""строительство команды",,
чтобы содействовать формированию чувства преданности еечтобы содействовать формированию чувства преданности ее
интересам.интересам.
12. ► Состав командыСостав команды.. Команда должна иметь правильноеКоманда должна иметь правильное
соотношение навыков, опыта и личностных качеств.соотношение навыков, опыта и личностных качеств.
► Сплоченность командыСплоченность команды.. Члены рабочей группыЧлены рабочей группы
должны воспринимать себя как единую команду, а недолжны воспринимать себя как единую команду, а не
как простую совокупность индивидуумов,как простую совокупность индивидуумов,
работающих над одной проблемой.работающих над одной проблемой.
► Общение в командеОбщение в команде.. Между членами командыМежду членами команды
должны быть дружеские отношения.должны быть дружеские отношения.
► Организация командыОрганизация команды.. Необходимо организоватьНеобходимо организовать
команду таким образом, чтобы каждый чувствовалкоманду таким образом, чтобы каждый чувствовал
свою ценность и был удовлетворен своей ролью.свою ценность и был удовлетворен своей ролью.
Групповая работаГрупповая работа
13. ►Группа, в которой сотрудники дополняют друг друга, можетГруппа, в которой сотрудники дополняют друг друга, может
работать намного эффективнее группы, отбор в которуюработать намного эффективнее группы, отбор в которую
проводился исключительно на основе навыков программирования.проводился исключительно на основе навыков программирования.
►Люди, которые любят свою работу (Люди, которые любят свою работу (целевая ориентацияцелевая ориентация), могут), могут
стать прекрасными профессионалами.стать прекрасными профессионалами.
►Люди сЛюди с самоориентациейсамоориентацией на наилучший результат смогутна наилучший результат смогут
довести дело до конца.довести дело до конца.
►Сотрудники сСотрудники с внешней ориентациейвнешней ориентацией успешно налаживаютуспешно налаживают
общение внутри группы. Они настроены на общение и поэтомуобщение внутри группы. Они настроены на общение и поэтому
могут определить (и предотвратить) возникновение какого-либомогут определить (и предотвратить) возникновение какого-либо
напряжения или конфликтов на ранней стадии. Именно такиенапряжения или конфликтов на ранней стадии. Именно такие
люди помогут разрешить личные проблемы членов команды илюди помогут разрешить личные проблемы членов команды и
разногласия между ними, прежде чем те окажут влияние на всюразногласия между ними, прежде чем те окажут влияние на всю
команду.команду.
Создание командыСоздание команды
14. ► Важное место в команде занимаетВажное место в команде занимает лидерлидер. Он (или она) отвечает. Он (или она) отвечает
за техническое руководство и административное управление.за техническое руководство и административное управление.
Лидеры группы должны быть в курсе повседневной деятельностиЛидеры группы должны быть в курсе повседневной деятельности
группы, гарантируя эффективную работу команды и тесноегруппы, гарантируя эффективную работу команды и тесное
сотрудничество с менеджерами проекта при планированиисотрудничество с менеджерами проекта при планировании
деятельности по его реализации.деятельности по его реализации.
► Лидер — это, как правило, назначаемая должность, он подотчетенЛидер — это, как правило, назначаемая должность, он подотчетен
главному менеджеру проекта. Назначаемый лидер может и неглавному менеджеру проекта. Назначаемый лидер может и не
быть лидером команды в прямом смысле этого слова, он ведетбыть лидером команды в прямом смысле этого слова, он ведет
группу только в технических вопросах.группу только в технических вопросах.
► Члены группы могут выбрать другого лидера команды. Он можетЧлены группы могут выбрать другого лидера команды. Он может
лучше назначенного лидера разбираться в технических вопросахлучше назначенного лидера разбираться в технических вопросах
или лучше мотивировать членов группы к выполнению работы.или лучше мотивировать членов группы к выполнению работы.
Создание командыСоздание команды
15. Сплоченность командыСплоченность команды
Члены сплоченной команды привержены ее интересам больше, чемЧлены сплоченной команды привержены ее интересам больше, чем
своим собственнымсвоим собственным. Это укрепляет группу, она становится. Это укрепляет группу, она становится
способной самостоятельно справляться с проблемами испособной самостоятельно справляться с проблемами и
непредвиденными ситуациями.непредвиденными ситуациями.
Хорошо сплоченная команда имеет ряд преимуществ:Хорошо сплоченная команда имеет ряд преимуществ:
► Возможность становленияВозможность становления стандарта качества группыстандарта качества группы.. Так как этотТак как этот
стандарт определяется всей группой единогласно, его легчестандарт определяется всей группой единогласно, его легче
контролировать, чем чужие стандарты, навязываемые группеконтролировать, чем чужие стандарты, навязываемые группе
извне.извне.
► Члены команды поддерживаютЧлены команды поддерживают тесные рабочие контактытесные рабочие контакты.. РаботаяРаботая
в группе, люди учатся друг у друга. Скованность и затягиваниев группе, люди учатся друг у друга. Скованность и затягивание
работы, вызванные незнанием или неосведомленностью,работы, вызванные незнанием или неосведомленностью,
уменьшаются по мере того, как происходит взаимное обучение.уменьшаются по мере того, как происходит взаимное обучение.
► Члены командыЧлены команды ознакомлены с деятельностью друг другаознакомлены с деятельностью друг друга.. ЭтимЭтим
достигается возможность продолжения работы даже после уходадостигается возможность продолжения работы даже после ухода
одного из сотрудников.одного из сотрудников.
► Возможно внедрение в практику группыВозможно внедрение в практику группы безличногобезличного
программированияпрограммирования.. Созданная программа должна бытьСозданная программа должна быть
собственностью всей команды, а не отдельной личности.собственностью всей команды, а не отдельной личности.
16. ► Менеджеры могут развивать сплоченность несколькими путями.Менеджеры могут развивать сплоченность несколькими путями.
Можно организовывать социальные мероприятия для работниковМожно организовывать социальные мероприятия для работников
и их семей. Можно привить группе чувство самобытности, для чегои их семей. Можно привить группе чувство самобытности, для чего
ее надо назвать, определить сущность команды и сферу ееее надо назвать, определить сущность команды и сферу ее
деятельности. Менеджеры должны проводить мероприятиядеятельности. Менеджеры должны проводить мероприятия
(например, игры и спорт), прямо направленные на создание(например, игры и спорт), прямо направленные на создание
команды.команды.
► Однако наилучший способ воспитать дух команды -Однако наилучший способ воспитать дух команды - датьдать
возможность каждому почувствоватьвозможность каждому почувствовать, что он несет определенную, что он несет определенную
долю ответственности и что ему доверяют, а также гарантироватьдолю ответственности и что ему доверяют, а также гарантировать
доступ к проектной информации для всех членов группы.доступ к проектной информации для всех членов группы.
► Иногда менеджерам кажется, что они не должны раскрыватьИногда менеджерам кажется, что они не должны раскрывать
определенную информацию. Однако такая линия поведения будетопределенную информацию. Однако такая линия поведения будет
постоянно создавать в группе чувство недоверия. Простойпостоянно создавать в группе чувство недоверия. Простой обменобмен
информациейинформацией — самый дешевый и эффективный способ дать— самый дешевый и эффективный способ дать
людям почувствовать себя частью команды.людям почувствовать себя частью команды.
Сплоченность командыСплоченность команды
17. Общение в группеОбщение в группе
Для группы по разработке программных продуктов просто необходимДля группы по разработке программных продуктов просто необходим
развитой коммуникационный фактор.развитой коммуникационный фактор.
На эффективность общения могут оказать влияние следующиеНа эффективность общения могут оказать влияние следующие
показатели.показатели.
1.1. Размер группыРазмер группы.. Чем больше группа, тем труднее обеспечитьЧем больше группа, тем труднее обеспечить
постоянное общение между ее членами.постоянное общение между ее членами.
2.2. Различие в социальном положенииРазличие в социальном положении членов группы приводит кчленов группы приводит к
появлению большего количества односторонних связей.появлению большего количества односторонних связей.
3.3. Структура группыСтруктура группы.. Работники, состоящие в группах сРаботники, состоящие в группах с
неформальной структурой, легче общаются между собой, чем внеформальной структурой, легче общаются между собой, чем в
группах, которые имеют определенную официальную иерархию вгруппах, которые имеют определенную официальную иерархию в
отношениях.отношениях.
4.4. Состав группыСостав группы.. Если в группе много людей с похожимиЕсли в группе много людей с похожими
личностными характеристиками, они могут конфликтовать друг сличностными характеристиками, они могут конфликтовать друг с
другом, вследствие чего может значительно снизиться уровеньдругом, вследствие чего может значительно снизиться уровень
общения в группе. Лучше всего люди общаются в смешанныхобщения в группе. Лучше всего люди общаются в смешанных
разнополых группах, чем в однородных по полу.разнополых группах, чем в однородных по полу.
5.5. Рабочее окружениеРабочее окружение.. Правильная организация рабочего места —Правильная организация рабочего места —
основополагающий фактор в развитии или торможенииосновополагающий фактор в развитии или торможении
коммуникационных связей в группе.коммуникационных связей в группе.
18. Организация группыОрганизация группы
Чтобы использовать высококвалифицированный персонал сЧтобы использовать высококвалифицированный персонал с
наибольшей отдачей, многие специалисты предлагают строитьнаибольшей отдачей, многие специалисты предлагают строить
группу вокруг одного высококвалифицированного ведущегогруппу вокруг одного высококвалифицированного ведущего
программиста.программиста.
Основной принцип такой организации состоит в том, чтобыОсновной принцип такой организации состоит в том, чтобы
компетентный и опытный сотрудник отвечал за разработку всегокомпетентный и опытный сотрудник отвечал за разработку всего
программного продукта.программного продукта.
Ведущего программиста не следует загружать рутинной работой,Ведущего программиста не следует загружать рутинной работой,
ему наоборот нужна хорошая поддержка в решении вопросовему наоборот нужна хорошая поддержка в решении вопросов
административного и технического плана.административного и технического плана.
Такого сотрудника также следует избавить от излишнего общенияТакого сотрудника также следует избавить от излишнего общения
со специалистами вне группы.со специалистами вне группы.
19. Организация группыОрганизация группы
Администратор
Специалист по
инструментальным средствам
Специалист по
Операционным системам
Специалист по
технической документации
Специалист по
тестированию
Специалисты
Ядро команды ведущего программиста
Внешние связи
Ведущий
программист
Помощник
ведущий
программист
Администратор
20. Подбор и сохранение персоналаПодбор и сохранение персонала
Фактор Пояснение
Знания об области
применения ПО
Для того чтобы разработать хорошо функционирующую систему, программист
должен иметь четкое представление о той прикладной области, где будет
применять разрабатываемое ПО
Опыт работы на
многих
компьютерных
платформах
Этот фактор может оказаться важным при низкоуровневом программировании,
в общем случае он не является решающим.
Образование Образование служит своеобразным показателем тех основных знаний и
умений, которыми должен владеть кандидат, а также его способности к
обучению. Этот показатель становится менее значимым пропорционально
опыту, получаемому в работе над различными проектами.
Коммуникабельност
ь
Способность
адаптироваться
Этот фактор достаточно важен, так как в процессе реализации проекта
программистам нужно будет общаться в устной и в письменной форме с
другими специалистами, менеджерами и потребителями.
Этот фактор также может показать способность к обучению.
Жизненная позиция Люди, работающие над проектом, должны любить свою работу и стремиться
получать новые знания и навыки. Это очень показательный фактор, однако его
трудно оценить
Личностные
качества
Это очень важный признак, однако также трудный в оценивании. Ведь члены
группы должны быть совместимы (в разумной мере, естественно) для общей
работы. Не существует отдельного типа личности, который в большей или
меньшей степени соответствует специалисту в области инженерии ПО.
21. Решение о назначении нового сотрудника по проектуРешение о назначении нового сотрудника по проекту
основывается на трех видах информации.основывается на трех видах информации.
► Информация об образовании и практическом опыте,Информация об образовании и практическом опыте,
предоставляемая кандидатомпредоставляемая кандидатом
на должность (резюме или автобиография).на должность (резюме или автобиография).
► Информация, получаемая при интервьюированииИнформация, получаемая при интервьюировании
кандидата.кандидата.
► Рекомендации от других людей, имеющих опытРекомендации от других людей, имеющих опыт
совместной работы с кандидатом.совместной работы с кандидатом.
Подбор и сохранение персоналаПодбор и сохранение персонала
22. 1.1. Дайте краткое описание иерархической структуры человеческойДайте краткое описание иерархической структуры человеческой
памяти. Объясните, почему данной структурой обеспечиваетсяпамяти. Объясните, почему данной структурой обеспечивается
лучшее понимание объектно-ориентированных систем, чем систем,лучшее понимание объектно-ориентированных систем, чем систем,
построенных на функциональной декомпозиции.построенных на функциональной декомпозиции.
2.2. Какие факторы прежде всего принимаются во внимание при подбореКакие факторы прежде всего принимаются во внимание при подборе
сотрудников для работы над программным проектом?сотрудников для работы над программным проектом?
3.3. Объясните, каким образом доступность информации о ходеОбъясните, каким образом доступность информации о ходе
разработки проекта и тех технических решениях, которые имеютразработки проекта и тех технических решениях, которые имеют
отношение ко всем членам группы, могут усилить сплоченностьотношение ко всем членам группы, могут усилить сплоченность
группы.группы.
4.4. Почему открытые и общие помещения менее пригодны для работыПочему открытые и общие помещения менее пригодны для работы
команды программистов, чем индивидуальные кабинеты? В какихкоманды программистов, чем индивидуальные кабинеты? В каких
случаях, по вашему мнению, открытые офисы оказываются болееслучаях, по вашему мнению, открытые офисы оказываются более
подходящими?подходящими?
5.5. Как вы думаете, порядочно ли схитрить и дать те ответы на вопросыКак вы думаете, порядочно ли схитрить и дать те ответы на вопросы
в психологическом тесте, которые работодатель хочет от васв психологическом тесте, которые работодатель хочет от вас
услышать, а не говорить того, что вы на самом деле думаете?услышать, а не говорить того, что вы на самом деле думаете?
Задания для контроляЗадания для контроля