Россия |
Роль командной работы в создании прикладного программного обеспечения, основные постулаты и принципы работы в команде, обзор существующих инструментальных средств для командной работы
Введение
Подготовка специалистов для действий в составе команды является одной из современных задач подготовки кадров высшей квалификации. В обычной практике, разработка дипломных и курсовых проектов осуществляется выпускником и студентом единолично, под руководством научного руководителя, при этом не формируются навыки работы в команде, не приобретается опыт работы с инструментальными средствами коллективной разработки проектов, не формируются навыки руководства проектами. На производстве же молодой специалист сразу получает задание в составе группы. Особенно ярко это проявляется при реализации крупных проектов в области создания программного обеспечения. Отсутствие навыков работы в команде сказывается на производительности молодого сотрудника и его адаптации в рабочем процессе. Важным фактором является целостность ведения всего проекта и контроля над его реализацией. Как часто бывает в реальной работе, увольнение одного из разработчиков приводит к потере целых фрагментов проекта, так как при работе в простой студии, всё находится в компьютере программиста.
Другой не менее важный вопрос - наличие методики реализации проекта, очень важно для любого дела. Привить все эти навыки очень важно со студенческой скамьи.
Современные средства разработки программного обеспечения частично позволяют решить данные проблемы.
Вообще, идея управления циклом создания программного обеспечения командой разработчиков не нова. Зачастую участники проекта разделены территориально, но даже находясь рядом, крайне неэффективно контактируют между собой, в то время как для успешного проекта необходимо постоянное согласование действий. Можно использовать телефонные переговоры, почту, и другие современные средства коммуникации, но гораздо эффективнее использовать специальный инструментарий, разработанный для этих нужд. Осознавая эту потребность, компания Microsoft представила новейший пакет инструментальных средств - Microsoft Visual Studio Team System. Это не методика, это просто инструмент. Данный пакет тесно интегрирован с другими программными продуктами этой компании, такими как Microsoft Office, Windows SharePoint и др. Необходимость создания единого хранилища и управляющего инструментария для всей информации касаемо разрабатываемого проекта назревала давно. Иначе, в ситуации какого-либо сбоя у одного из участников проекта неизбежны потери информации, ценной для всей команды. В новом продукте Microsoft роль хранилища и автоматизированного координатора играет Team Foundation Server. Сервер визуализирует всю информацию посредством интерактивного web-сайта использующего Windows SharePoint Server.
Итак, при использовании Visual Studio Team System решаются следующие задачи:
- Повышение предсказуемости успеха проекта.
- Рост производительности труда команды разработчиков за счет понижения сложности процессов проектирования и реализации современных сервисно-ориентированных решений.
- Обеспечение сотрудничества команды путем интеграции коммуникационных и прочих средств, используемых ее членами.
- Расширение возможностей командной работы за счет обеспечения удаленным пользователям доступа к надежному, защищенному и масштабируемому окружению.
- Предоставление команде разработчиков гибкого и расширяемого коммуникационного решения с настраиваемыми сервисами.
Ключевыми членами проектной команды являются: руководитель проекта, архитектор, разработчик и тестировщик. Каждую из этих ролей может исполнять как один человек, так и несколько. Второстепенные участники проекта, являющиеся профессионалами в области информационных технологии, также по достоинству оценят использование Team System, так как эта система облегчит им взаимодействие с остальными членами команды.
Научному руководителю курсовых и дипломных проектов, выполняемых в составе команды, необходимо также решать следующие задачи:
- Психологическая совместимость.
- Методы подбора групп.
- Сроки введения группового проектирования, первоначальная подготовка.
- Распределение ролей, ротация ролей.
Другой не менее важный вопрос - наличие методики реализации проекта, что очень важно для любого дела..
В первой части данного проекта, авторы излагают основные принципы методологии Microsoft, при реализации программных проектов. При формировании методики реализации курсовых и дипломных проектов авторы опираются на опыт компании Microsoft
Во второй части рассматривается применение Visual Studio Team System для реализации проектов в составе команды.
Авторы данного пособия, постараются изложить свой небольшой опыт реализации курсовых и дипломных работ в составе команды.
Основные постулаты и принципы работы в команде
Сегодня основным ресурсом эффективного ведения хозяйственной деятельности предприятия является корпус специалистов. Резко возрастает роль личностей. От их квалификации, деловой активности, умения взаимодействовать друг с другом и достигать результата зависят перспективы развития предприятия. Одним из наиболее востребованных качеств, наряду с профессионализмом, является способность работать в команде. Ключевым фактором эффективной работы команды является способность каждого ее члена "работать на результат". Однако на практике иногда случается так, что психологический аспект смещается с результатов деятельности на межличностную конкуренцию, проявляющуюся в скрытой или явной конфронтации.
В вопросе формирования команды важным элементом является "численность". Пять - подходящее количество людей, двенадцать - слишком много. " " является магическим числом и идеальной численностью команды. В случае если в Вашем коллективе 12 и более человек, рано или поздно естественным образом он поделится на "неформальные команды по интересам", представляя в общем виде разрозненную и неконсолидированную психологически массу. Этот процесс может быть предупрежден руководителем: нужно осознанно объединить сотрудников в команды вокруг определенных профессиональных целей. Когда одна цель будет достигнута, важно вновь и вновь объединять сотрудников в команды, создавая и поддерживая, таким образом, командный дух в коллективе и поддерживая, повышая мотивационный уровень сотрудников.
Состав команды является самой важной предпосылкой высокой производительности компании. При подборе персонала нужно учитывать три фактора.
Фактор первый: профессиональная квалификация. Профессиональные требования зависят от конкретных задач той или иной команды, поэтому до начала формирования команды следует составить список требований, связанных с конкретной задачей.
Фактор второй: личностные характеристики.
Фактор третий: способность работать в команде! Это может быть как предпосылкой, так и результатом развития команды. Без базовой способности сотрудничества с другими членами команды, ориентируясь на результат, ничего не получится. Следовательно, при формировании команды требование к способности работать в ней выдвигается в первую очередь. Необходимо определить хочет ли и может ли кандидат работать в команде, и в какой степени.
Обзор существующих инструментальных средств для командной работы
Наряду с VSTS существуют другие решения для организации командной работы, одним из них является IBM Rational Suite.
Rational Suite - интегрированный набор продуктов, предназначенный для поддержки командной работы над проектом на каждой фазе жизненного цикла разработки информационной системы. Продукт выпущен компанией Rational Software.
IBM Rational Suite является уникальным семейством продуктов, которое позволяет поднять на новый уровень разработку программного обеспечения. Пользователи Rational Suite получают следующие преимущества:
Объединение - Rational Suite объединяет усилия аналитиков, разработчиков и тестировщиков, снимая барьеры, которые обычно существуют между группами сотрудников, работающих над одним проектом.
Оптимизацию - Rational Suite оптимизирует работу сотрудников, предоставляя нужный набор инструментальных средств для выполнения специфических задач каждого члена команды.
Упрощение - Rational Suite упрощает установку, поддержку и совместное использование продуктов, входящих в Rational Suite, снижается их общая стоимость (общая стоимость комплекта значительно ниже стоимости приобретения аналогичных отдельных продуктов).
IBM Rational Suite обеспечивает ускорение разработки на основе функций визуального моделирования, генерации кода и реинжиниринга, обеспечивает поиск и устранение ошибок времени исполнения, проблем с недостатком памяти и производительности.
Программные продукты, составляющие Rational Suite:
IBM Rational PurifyPlus for Windows - это полный набор автоматизированных инструментальных средств для проведения анализа на этапе выполнения, предназначенный для повышения надежности и производительности приложений, разработанных в среде Windows. Предназначен для приложений, разработанных на Java, Visual C/C++, C#, VB.NET и Visual Basic.
IBM Rational Functional Tester for Java and Web - решение, обеспечивающее расширенное автоматизированное функциональное и регрессионное тестирование Java- и Web -приложений из сред разработки Eclipse IDE, IBM WSAD.
IBM Rational Robot - продукт, автоматизирующий функциональное, регрессионное и конфигурационное тестирование для широкого диапазона типов приложений, включая .NET.
IBM Rational Team Unifying Platform - платформа, предназначенная для обеспечения разработчиков инфраструктурными инструментами, процессами и интеграцией - элементами, необходимыми для более эффективной организации совместной работы. Данное решение объединяет коллектив разработчиков, предоставляя общий доступ к ресурсами разработки, коммуникационным оповещениям и процессам, что необходимо для отслеживания динамики и текущего состояния проекта.
IBM Rational Developer Network - дополнительный ресурс, доступный для всех клиентов Rational, - сеть Rational Developer Network (RDN) , откуда в любой момент времени можно получить учебную информацию, сведения о решениях и советы экспертов.
IBM Rational Suite for Technical Developers - представляет собой полное решение поддержки жизненного цикла ПО, предназначенное для написания очень сложного кода для некоторых наиболее проблемных продуктов и систем, таких, как встроенные приложения и приложения реального времени.
IBM Rational Suite Development Studio for UNIX - представляет собой решение по поддержке всего жизненного цикла ПО, предназначенное для аналитиков, разработчиков и тестировщиков, что позволяет объединить многофункциональные группы разработчиков и поддерживать программные проекты для UNIX, начиная от формулирования требований и до выпуска финального ПО.