Разработка успешного IT-продукта — сложный многоступенчатый процесс, каждый этап проекта имеет конкретную цель и соответствует требованиям для выполнения поставленных задач. В этой статье рассказываем из чего состоит жизненный цикл разработки программного продукта и какие условия нужно соблюсти на каждом этапе управления ИТ-проектами, чтобы получить ожидаемый результат.
Что такое IT — Project Management — основные этапы разработки
Процесс управления IT-проектами делят на несколько этапов, некоторые из которых могут пересекаться и идти параллельно:
- Подготовка. До начала запуска проекта необходимо заложить фундамент успешного сотрудничества ИТ-специалистов и клиента. Залог успеха любого ИТ-проекта — умение исполнителя слышать пожелания клиента, структурировано обсуждать идеи и предложения, приходить к общему знаменателю.
- Аналитика. На этом этапе клиент и команда определяют цели проекта, ключевые задачи. Исполнитель должен понимать, что не всегда заказчик разбирается в скрытых нюансах разработки ИТ продуктов и управлении проектами. Аналитика позволяет предусмотреть вероятные риски по проекту и сразу предложить клиенту возможные варианты оптимизации процесса разработки. Заказчик должен составить техническое задание, в котором будут четко отражены требования относительно результата, который ожидается в завершение.
- Оценка проекта. Собранные в процессе предыдущего этапа данные тщательно анализируются и на основании полученной информации разрабатывается модель продукта. Проводят расчет трудовых и временных затрат, необходимых для реализации проекта. Желательно, чтобы исполнитель подготовил презентацию, где будет представлена оценка будущего проекта, четко прописаны возможные риски по проекту, разные варианты реализации задач, этапность и условия выполнения.
- Проектирование. После аналитики и предварительной оценки можно переходить к этапу проектирования, состоящему из нескольких шагов:
- подготовка карты проекта, где будут четко прописаны реперные точки для сверки результатов;
- проектирование архитектуры программного продукта;
- подбор технологического стека для реализации проекта (инструменты разработки, языки программирования).
Также проектируется система сбора данных и Data Warehouse (хранилища данных).
- UX – дизайн пользовательского интерфейса (отвечает за адаптивность, логику построения элементов системы, юзабилити продукта).
- UI-отрисовка элементов интерфейса (иконки, блоки, кнопки, собранные в готовый макет).
Чем проще и понятнее интерфейс ИТ продукта, тем быстрее и проще пользователь получит ожидаемый результат и перейдет к совершению целевого действия.
Так выглядит поэтапное управление проектами или жизненный цикл разработки в сфере информационных технологий. Дальше обсудим, какие инструменты используют при разработке.
Методологии разработки программного обеспечения
Специалисты выбирают методологию разработки, отталкиваясь от специфики конкретного проекта. Популярные методы:
- Самая базовая модель — Waterfall. Суть этой методологии в последовательном прохождении стадий. Используется, когда требования проекта известны, предельно ясны и не будут меняться. При использовании этой модели на разработку, скорее всего, уйдет много времени, так как последующий этап проекта зависит от предыдущего.
- Гибкая методология – Agile Model. Состоит из набора методик, технологий и подходов, позволяет давать оценку результату после каждой итерации или этапа. Если на одном из этапов проекта качество или формат не устраивает клиента, можно быстро доработать функционал и внести коррективы. Эта методика популярная как раз благодаря своей гибкости и успешно используется в большинстве современных проектов, где требуется высокая и постоянная адаптируемость к меняющимся условиям. В гибкую методологию входят фреймворк Scrum и метод Kanban. Рассмотрим их отдельно.
- В Scrum работы по проекту ведутся с помощью спринтов или одинаковых по продолжительности итераций. Обычно в составе небольшой команды, занимающейся разработкой, есть собственник, разработчик, скрам-мастер.
- Kanban — метод, направленный на повышение качества продукта или сервиса через применение определенных практик и принципов. Пример популярной практики Kanban — визуализация процесса разработки с использованием Kanban-доски, демонстрирующей основные этапы и то, какие задачи уже выполнены, а над какими работа идет в данный момент.
Это наиболее популярные и востребованные методики в управлении проектами. Разработкой программного обеспечения занимается целая команда специалистов:
- За создание серверных приложений отвечают backend-разработчики.
- Браузерные интерфейсы взаимодействия с пользователями подготавливают frontend-специалисты.
- За этап тестирования отвечает QA-инженер.
- Проектированием хранилищ и витрин данных занимается DWH-архитектор .
- Автоматизацией постановки решений в production занимаются DevOps-инженеры. Эти специалисты разрабатывают платформу для функционирования ИТ решений.
- Специалисты IT-отдела отвечают за аппаратное обеспечение рабочих процессов.
Как координировать работу команды проекта на каждом этапе, проводить аналитику и собирать отчетность? В этом поможет новый онлайн-инструмент, разработанный компанией «КСК ТЕХНОЛОГИИ».
Попробуйте КСК.Проекты прямо сейчас!
Бесплатный доступ ко всем возможностям сервиса на 14 дней
- Управление жизненным циклом продукта
- Управление проектами и задачами
- Портал системы – единое дисковое хранилище, чат, календарь событий
- Аналитика и контроль
- Доступ с любых устройств 24/7
Готовое решение для управления проектами от «КСК ТЕХНОЛОГИИ»
Организовать работу команды в едином информационном пространстве и автоматизировать процессы управления проектами поможет новый онлайн-инструмент компании «КСК ТЕХНОЛОГИИ» — КСК.Service
Формируем каталог ИТ-услуг: бизнес-процессы, ИТ-системы или функции?
Бизнес-процессы. Работа с фрилансерами или подрядчиками
Быстро узнавайте о новостях по проекту, а также получайте информацию по отдельным задачам. Можно подстраивать списки задач под себя, для получения большее точной информации предусмотрены фильтры.
- автоматизация услуг/сервисов любого подразделения;
- настройка SLA для контроля качества услуг;
- поддержка омниканальности;
- контроль сроков, аналитика, отчетность.
Автоматизируйте услуги подразделений компании, получайте любую услугу или справку намного быстрее.
- актуальная лента новостей и анонсов;
- приказы и распоряжения в виджите;
- наглядное отображение структуры компании;
- чат для оперативного взаимодействия сотрудников.
Информационные ресурсы для сотрудников всех подразделений, возможность делиться знаниями, новостями, быть в курсе событий и быстро находить нужную информацию.
- встроенная отчетность по заявкам;
- оценка качества исполнения заданий;
- импорт отчетов;
- наглядные дашборды;
- опросы.
Все инструменты под рукой для контроля работы сотрудников и оперативного принятия решений.
Выбирайте свой тариф КСК.ST и переходите на новый уровень в управлении проектами в вашей компании.
Источник: www.kck.ru
Бизнес процессы задачи в ит
Блок предоставления ИТ-сервисов в соответствии с ITIL включает следующие процессы:
- процесс управления уровнем сервиса;
- процесс управления мощностью;
- процесс управления доступностью;
- процесс управления непрерывностью;
- процесс управления финансами;
- процесс управления безопасностью.
Процесс управления уровнем сервиса (Service Level Management — SLM) определяет, согласовывает и контролирует параметры ИТ-сервиса, определенные с точки зрения бизнеса, а не с точки зрения ИТ. Ключевая роль менеджера процесса – осуществление баланса между требованиями бизнеса и возможностями ИТ.
На основе каталога ИТ-сервисов данный процесс разрабатывает, согласовывает и документирует соглашение об уровне сервиса (SLA – Service Level Agreement) между менеджментом ИС-службы и бизнес-пользователями.
Основная задача процесса управления уровнем сервиса — согласование специфицированных требований к составу и параметрам ИТ-сервисов, с одной стороны, и объема ресурсов, предоставляемых ИТ-службе, — с другой. В рамках этой работы также уточняются приоритеты сервисов и ресурсов. Результатом такого согласования является формальный документ — SLA. Соглашение об уровне сервиса необходимо периодически пересматривать поскольку информационные системы предприятия подвержены изменениям, появляются необходимость в новых сервисах, модификации или отказе от уже существующих.
По функциональному назначению ПО делится на три большие категории: операционные системы, офисные пакеты и серверное ПО.
1. Операционные системы. Операционная система (ОС) — это комплекс управляющих и обрабатывающих программ, которые с одной стороны выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений.
Операционные системы выполняют следующий круг задач:
Ø загрузка программ в оперативную память и их выполнение, остановка программ и т.д.;
Ø управление оперативной памятью (распределение между процессами, организация виртуальной памяти),
Ø параллельное или псевдопараллельное выполнение задач (многозадачность), взаимодействие между процессами (обмен данными, взаимная синхронизация);
Ø разграничение доступа различных процессов к ресурсам;
Ø управление доступом к данным на различных носителях, организованным в той или иной файловой системе;
Ø ввод/вывод данных, доступ к периферийным устройствам (устройствам ввода-вывода);
Ø сетевые операции, поддержка стека сетевых протоколов;
Ø защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений;
На текущий момент есть множество операционных систем, самые распространённые из которых это семейство Windows и Unix -образных операционных систем, к последним относится и Linux .
2. Офисные пакеты. Офисный пакет – это набор программ, предназначенный для обработки текстов, табличных данных, почтовой корреспонденции, небольших баз данных, фотографий и т.д. Офисные пакеты, как правило, имеют, хорошую интегрируемость между своими приложениями, схожий интерфейс и логику работы в них. Существует множество разновидностей офисных пакетов.
Например, Gnome Office и Open Office являются свободно распространяемыми офисными пакетами, Microsoft Office 2007/2010, LotusNotes – проприетарными, а Google Docs предоставляется как сервис. В настоящее время наблюдается тенденция к отходу от классического направления в трактовке офисного пакета как набора программ в пользу превращения его в средство совместной работы, включающего не только клиентскую, но серверную и сервисную часть (или SaaS-часть).
3. Серверное ПО. Сервер — это программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу программы-клиента, предоставляя ему доступ к определённым ресурсам или услугам. Серверы инфраструктурного (системного) уровня можно разделить на следующие несколько функциональных подкатегорий.
Серверы каталогов. Задача такого сервера – хранение и обслуживание базы данных включающей в себя информацию о компьютерах, пользователях, периферийных устройствах и т.д. и связанных с ними правах и прочих атрибутах. Использование службы каталогов значительно облегчает администрирование сети, повышает её безопасность и создаёт фундамент для функционирования всех остальных сервисов.
Серверы работы с электронной почтой – это инфраструктурное программное обеспечение, обеспечивающее работу с электронными сообщениями, а также предоставляющее функциональность групповых/персональных календарей. Сервер предоставляет механизмы хранения, направления и транспортировки сообщений, а также службы календарей. Следует отметить тенденцию ухода от простой электронной почты к комплексным средствам корпоративного управления, таким как Microsoft Exchange Server 2010.
Инструменты для совместной работы – это инфраструктурное приложение, которое управляет документами и процессами их создания в специальной среде, предназначенной для совместной работы пользователей. Эти приложения включают базовые функции библиотеки документов с контролем версий и изменений, а также систем управления контентом для поддержки веб-публикаций. Кроме того, они могут включать элементы workflow и некоторые возможности социальных сетей.
Системы управления веб-контентом – это инфраструктурное ПО, которое позволяет компаниям использовать контент из различных систем для предоставления его Интернет-пользователям через веб-сервер, а также другие каналы (например, мобильным пользователям и т.п.). Системы управления веб-контентом включают инструменты управления сайтом в целом, включая авторизацию, персонализацию и т.д.
Корпоративный портал – это инфраструктурное ПО, которое обеспечивает интеграцию различных информационных активов (например, документы, базы знаний, приложения и бизнес-процессы) и доступ к ним сотрудников через единый программно-пользовательский интерфейс с использованием механизмов управления правами доступа и предоставлением широких возможностей персональной настройки.
Приведем исторически первое определение компании Merrill Lynch, данное в 1998 году: «корпоративные информационные порталы — это приложения, которые позволяют компаниям раскрывать информацию, хранящуюся внутри и вне организации, и предоставлять пользователям единый шлюз доступа к персонализированной информации, необходимой для принятия бизнес-решений». Задачи, для решения которых использовались корпоративные порталы, эволюционировали со временем. На рис 2. показана схема эволюции корпоративных порталов.
На рис 2. показана схема эволюции корпоративных порталов.
Сегодняшние задачи, которые выполняет корпоративный портал можно разделить на 2 группы:
· коммуникативные: работа с корпоративными новостями, внутренней документацией, виртуальные конференции, совещания и согласования;
· информационные: работа с базами данных и приложениями, передача данных, хранение, поиск и обмен, повышение качества и скорости обмена информацией.
По широте функциональности эксперты G artner выделяют вертикальные и горизонтальные порталы. Вертикальные порталы ориентируются на работу с определенными специализированными приложениями или деловыми операциями. Горизонтальные порталы решают широкий круг задач на основе интеграции множества приложений и источников информации.
Сегодня корпоративные порталы вступают в новую стадию развития и активно используют инструменты позаимствованных от социальных сетей. Такие «корпоративные социальные сети» помогают разрушить иерархические границы, знакомят сотрудников друг с другом, помогают созданию команд и предоставляют социальные инструменты для совместной работы:
· инструменты для публикации контента (блоги, файлохранилище, wiki, галереи, видео сервисы);
· инструменты для обсуждения (форумы, блоги, комментарии, отзывы);
· инструменты для организации контента (тэги, закладки, рейтинги);
· инструменты для контроля и мониторинга (персональные RSS-потоки).
Системы управления базами данных — это инфраструктурное ПО, используемое для хранения и организации данных, которые обычно имеют определенные форматы и структуры. Используются для хранения огромных объемов данных, упорядочивания поиска данных и представления данных в удобной форме. Категоризация СУБД происходит по основным структурам данных и их использованию.
Серверы приложений – это инфраструктурное программное обеспечение, связывающее операционную систему, ресурсы (СУБД, коммуникационные и интернет-сервисы) и пользовательские приложения. Сервер приложений функционирует как контейнер для бизнес-логики пользователя, обеспечивая доступность и высокую производительность бизнес-приложения. Сервер приложений должен корректно работать с большими и малыми объемами пользовательского трафика, уметь обрабатывать конкурирующие запросы, быть отказоустойчивым по отношению к оборудованию и ПО, поддерживать распределенные данные и процессы. Надо отметить, что это «широкое» определение сервера приложений. Существует и «узкое» определение сервера приложений, когда под сервером приложений понимается программное обеспечения, соответствующее стандарту J 2 EE , на котором выполняются модули логики конкретного приложения.
Серверы интеграции данных – это обобщенная категория инфраструктурного ПО, включающая в себя инструменты извлечения, трансформации и загрузки данных ( Extraction , T ransformation and Loading , ETL ), используемые для извлечения данных из различных источников данных (обычно операционных приложений) для их дальнейшей загрузки в хранилища данных или предоставления BI-инструментам. Инструменты интеграции данных образуют первый уровень архитектуры управления корпоративными данными.
Сервисная шина предприятия ( Enterprise Service Bus , ESB ) – это программное обеспечение, обеспечивающая интеграцию различных приложений. Один из наиболее популярных современных стандартов ESB связан с сервисной архитектурой приложений (SOA). К основным принципам ESB можно отнести следующие:
· поддержка синхронного и асинхронного способа вызова сервисов;
· использование гарантированной доставки сообщений;
· поддержка модели транзакций;
· доступ к данным из интегрируемых информационных систем с помощью готовых или специально разработанных адаптеров;
· обработка и преобразование сообщений;
· оркестровка и хореография сервисов.
Сервисную шину предприятия необходимо относить именно к инфраструктурному ПО. Шина – это средство обеспечения работы приложений. Из этого следуют требования к характеристикам работы сервисной шины предприятия. Например, требования по доступности шины предприятия должны быть на уровне 99,9, чтобы те приложения, которые она обслуживает, имели характеристики хотя бы 99.
Если шина «тормозит», то медленно работают и завязанные на нее приложения. Именно поэтому к сервисной шине предприятия необходимо относится как к системному ПО (СУБД, операционным системам и т.п.). При этом, если поверх шины работают какие-либо BPM-приложения, то их необходимо относит к бизнес-приложениям.
Алексей Телятников, CIO банка «Связной»
По архитектурно-техническому построению можно отметить четыре основные архитектурные системы построения ПО.
1. Терминальная архитектура. Самый первый вариант архитектуры, появившийся в 1969 году. В первоначальном варианте представляет собой систему из мейнфрейма и терминалов. Программы выполняются на мейнфрейме, а терминалы служат только для отображения информации и передачи управляющих команд программам. В современном варианте состоит из следующих компонентов:
· терминальный сервер — мощный компьютер, предоставляющий свои вычислительные мощности клиентам;
· тонкий клиент — терминал, передающий управляющие команды серверу.
Одно и главных преимуществ терминальной архитектуры в том, что вычислительная мощность всей системы зависит только от терминального сервера и однажды установленный тонкий клиент не требует дальнейшего обновления. Для увеличения надежности в тонком клиенте может отсутствовать жесткий диск. В таком случае для первоначальной загрузки применяется сервер начальной загрузки.
2. Архитектура клиент-сервер. Вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.
· в большинстве случаев делает возможным распределение функций вычислительной системы между несколькими независимыми компьютерами, что позволяет упростить обслуживание вычислительной системы (в частности, замена, ремонт, модернизация или перемещение сервера не затрагивают клиентов);
· улучшает защиту данных — все данные хранятся на сервере, который, как правило, защищён гораздо лучше большинства клиентов, на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;
· позволяет использовать различные программы-клиенты, часто клиенты с разными аппаратными платформами, операционными системами и т. п.
· неработоспособность сервера может сделать неработоспособной всю систему;
· поддержка работы данной архитектуры требует отдельного специалиста — системного администратора;
· высокая стоимость оборудования.
3. Трёхуровневая архитектура. Предполагает наличие следующих компонентов приложения: клиентское приложение (обычно говорят «тонкий клиент» или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных. По сути – это развитие клиент-серверной архитектуры.
· повышенная конфигурируемость — изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;
· низкие требования к скорости канала между клиентским приложением и сервером приложений;
· низкие требования к производительности и техническим характеристикам клиентского приложения, как следствие снижение их стоимости.
· более высокая сложность создания приложений;
· сложнее в разворачивании и администрировании;
· высокие требования к производительности серверов приложений и сервера базы данных, а, значит, и высокая стоимость серверного оборудования;
· высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.
4. Распределённая вычислительная архитектура. Это техническая архитектура с использованием нескольких компьютеров, чаще всего объединённых в параллельную вычислительную систему, применяемая для решения трудоёмких вычислительных задач. Выполнение последовательных вычислений в распределенных системах имеет смысл в рамках решения многих задач одновременно, например, в распределенных системах управления. Особенностью распределенных вычислительных систем, в отличие от локальных суперкомпьютеров, является возможность неограниченного наращивания производительности за счет масштабирования. Слабосвязанные, гетерогенные вычислительные системы с высокой степенью распределения выделяют в отдельный класс распределенных систем — Grid.
Лицензирование программного обеспечения. Программное обеспечение являются объектом авторских прав и регулируются отдельной, 4 частью Гражданского Кодекса РФ. Для использования этого объекта авторского права требуется лицензия. Важнейшей особенностью закона является то, что отсутствие запрета не считается согласием (разрешением), поэтому для использования любого ПО необходимо получить в явном виде разрешение на его использование у правообладателя, как правило – в виде лицензии.
И сключительное право использовать произведение в любой форме и любым не противоречащим закону способом принадлежит автору или иному правообладателю на ПО. Это право может быть передано автором другому лицу по договору. Правообладатель может по своему усмотрению разрешать или запрещать другим лицам использование результата интеллектуальной деятельности или средства индивидуализации (неисключительное право на произведение). Объём прав и условия использования описаны в соответствующих лицензионных соглашениях.
Не следует думать, что свободное ПО отличается тем, что у него нет лицензий. Например, Linux предоставляется по лицензии проекта GNU [5] , которая так же накладывает ряд ограничений на использование этого ПО. Например, если Вы использовали даже небольшую часть кода Linux в своей программе, или задействовали для написания своих программ компилятор с лицензией GNU , то далее Вы обязаны предоставлять вместе со своими программами их исходный код.
[1] Эти три параметра имеют стандартное обозначение как ‘ RAS ’ характеристики от английских слов ‘reliability, availability and serviceability’ – надежность (способность выполнять задачи без перерыва), доступность (возможность в любой момент подключиться к выполнению задачи) и ремонтопригодность (легкий ремонт в случае поломки).
Источник: 4cio.ru