Шрифт:
Особая благодарность моей семье, любимым: жене Олесе и сыну Ивану, которые рядом со мной и которые помогали мне в подготовке книги.
Профессиональные компетенции разработки программного обеспечения
Лучше научите людей, рискуя, что они уйдут, чем не делайте ничего, рискуя, что они останутся.
Факты
• Каждая профессиональная компетенция разработки программного обеспечения повышает квалификацию ИТ специалиста.
• Даже одна компетенция может повысить эффективность разработки ПО.
• Комплексное применение компетенций многократно усиливает продуктивность работы и качество ПО.
• Без ряда компетенций командная, удаленная разработка невозможна.
• Компетентная команда ИТ специалистов – залог успешного проекта.
Цель
• Познакомиться с профессиональными компетенциями разработки программного обеспечения.
• Получить рекомендации по формированию компетенций.
• Изучить дополнительные материалы и документацию для повышения квалификации.
• Ознакомиться с инструментами, используемыми в разработке программного обеспечения и получить базовые навыки по работе с ними.
• Подготовить резюме, пройти собеседование и получить работу в ИТ компании или получить повышение по должности на текущей работе.
Проект и задачи
Цель и содержание проекта
Самая большая проблема с программистами в том, что ты никогда не сможешь понять, чем он занимается, пока не будет слишком поздно.
Описание
Каждый проект имеет набор документации. Есть документы, которые формируются иногда задолго до начала реализации, ряд других формируют по мере работы над проектом. Некоторые документы модифицируются со временем, иные становятся неактуальными. Одними из первых документов являются Цель и содержание проекта (часто они включаются в техническое задание в качестве раздела).
Цель и содержание проекта – это краткое описание, которое дает общее представление о назначении проекта и конечного планируемого результата разработки.
Цель проекта описывает какие задачи должны быть решены в результате проекта, а содержание проекта – что именно является результатом проекта.
Описание цели и содержания проекта (Project Scope) на примере проекта "Универсальная модульная платформа", в реализации которого принимают участие некоторые "выпускники" курса.
Проект "Универсальная модульная платформа"
Цель проекта
Много проектов имеют схожую многомодульную структуру, до 25% общего функционала.
Если выделить часто используемый общий функционал в модули, подключаемые по необходимости в разные проекты, то можно решить следующие задачи:
• быстрый старт разработки проекта на базе платформы;
• получение востребованного опыта и навыков разработки участниками;
• легкое вхождение участников команды разработки в однотипный проект;
• эффективное участие юниоров в разработке однотипных проектов;
• упрощение разработки и поддержки однотипных проектов;
• улучшение качества за счет многократного тестирования общего кода на разных проектах;
• уменьшение периода разработки за счет подключаемых модулей;
• финансовая экономия.
Описание проекта – Project Scope
Описание проекта – многомодульной платформы, предоставляющей базовый функционал наиболее часто востребованных нефункциональных и функциональных требований. Модули данной платформы могут быть подключены по необходимости для реализации систем различных назначений, реализующих конкретные бизнес требования:
• система заказов услуг или продуктов;
• система бронирования и продажи билетов;
• система логистики;
• e-commerce система;
• информационная система и прочие.
Можно выделить основные компоненты систем:
• SQL база данных;
• Backend с бизнес логикой;
• приложение администратора;
• REST (JSON) API сервер;
• Frontend с веб интерфейсом;
• мобильные приложения.
Список наиболее востребованных нефункциональных и функциональных требований: