Это настоящий курс молодого бойца по коммерческой разработке ПО в компаниях и распределённых командах.В рамках курса слушатели приобретут навыки по участию в командной разработке, взаимодействию с аналитиками, заказчиком, менеджером и отделом тестирования, совместной работой с кодом, пониманию особенностей построения высоконагруженных систем, анализу качества продукта и автоматизации тестирования.
4. Опыт работы. Проекты
Проект Роль Где Технологии
Клиент-серверное приложение для обмена
мгновенными сообщениями в локальной сети
1 Программист РНИИРС 4 Windows Forms, WinSock, multithreading, serialization
Интерфейс для работы с отсоединенными данными и
синхронизацией с БД
1 Программист РНИИРС 4
Windows Forms, MS SQL Server 2005, ADO.NET,
DevExpress, serialization
Библиотека многопоточной обработки цифрового
телевизионного сигнала стандарта DVB в реальном
времени
1 Программист РНИИРС 8 .net 3.5, Class library, multithreading
Программа-аналог игры MineSweeper 1 Программист 1 Windows Forms, разработка UserControl
Сайт-галерея для загрузки и хранения изображений
пользователями
2
Программист,
html-верстальщик
Auriga 2 ASP.NET Web Forms, MS SQL Server 2008, ADO.NET
Программный инструмент для поддержки процесса
взаимодействия компании с заказчиками, сбора
данных о реализации обязательств между сторонами и
формирования отчётов
15
Программист,
программист БД,
html-верстальщик
Auriga 12
ASP.NET Web Forms, MS SQL Server 2008, ORM
NHibernate, Clips (Expert system), NUnit API
ВТБ24 – Сервис распределенных банковских
транзакций
30 Программист Auriga 15
КРОК Application Framework .NET, XML-XSD, MS SQL
Server 2008, NUnit, взаимодействие с банковскими
системами (Way4, Telebank, PPC, Profile, BISquit) via
Sonic ESB GateWay
Росстат – Таблицы «затраты-выпуск» 30
Программист,
XAML-
верстальщик,
программист БД
Auriga 14
КРОК Application Framework 3.x XFW3 (на основе
XAML), WPF, SQL Server 2008 R2, VS tests
OLFA-concept – трейдинговая платформа 10
Программист,
XAML-
верстальщик
Auriga 4
Silverlight 4, Microsoft Prism 4, MVVM, sockets,
multithreading
ФСО – ИС мониторинга, ситуационного анализа и
прогнозирования внутреполитических процессов
20
Программист,
XAML-
верстТеальщик
Auriga 6
MVC 3 + Silverlight 4, MVVM, Telerik, WCF, Server 2008
R2, ADO.NET
5.
АС «Труд-Эксперт .NET» 1000
Архитектор,
scrum-мастер,
программист,
программист БД,
XAML-
верстальщик,
DevOps, лидер
команды
КИОУТ 102
WPF, Prism 4, Unity, MVVM, WCF, SQL Server 2008 R2,
ADO.NET EF 4.0, t4-templates
Программа просмотра и редактирования карты
земельных участков
8
Программист,
XAML-
верстальщик
РИКРОП 6
.net 4.5, async/await, wpf, mvvm, Rikrop.Core,
MigraDoc, MSTest, Moq
TimeTracker учёта рабочего времени сотрудников 30
Программист,
XAML-
верстальщик,
архитектор
РИКРОП 10
.net 4.5, async/await, wpf, mvvm, Rikrop.Core, entity
framework 5.0 code first, active directory, microsoft sql
server 2012, wcf, nunit, Telerik .NET UI Controls,
JustMock
ParquetDesign программа проектирования и расчёта
паркетных покрытий
20
Программист,
архитектор,
аналитик, лидер
команды
РИКРОП 10 Rikrop.Core, .net 4.5, async/await, wpf, mvvm
Программа для учёта и планирования промо-акций
Российской сети супермаркетов
50
Программист,
программист js
Usetech 12
Asp.net mvc, angularjs, entity framework 5, Microsoft
sql server, git
CRM-система для оператора медиа рекламного рынка 10000
Программист,
XAML-
верстальщик
Usetech 50 Wpf, mvvm, Prism 4, tfs
Back-end приложения для поиска товаров в магазинах и
сравнения цен
50
Архитектор,
консультант
РИКРОП 10
Asp.net mvc web api 2, entity framework 6, Microsoft
sql server, svn
Интеграционная шина для Диадок 500 Программист
СКБ
Контур
30 Cassandra, RabbitMQ, asp.net mvc, MariaDB, git
6. Тест Джоэла
1. Пользуетесь ли вы системой контроля версий?
2. Можете ли вы собрать продукт за один шаг?
3. Выполняете ли вы ежедневные билды?
4. Используете ли вы bug tracker?
5. Исправляете ли вы ошибки перед написанием нового кода?
6. Есть ли у вас актуальный план работ?
7. Есть ли у вас спецификация?
8. Предоставлены ли вашим программистам спокойные условия для работы?
9. Используете ли вы новейшее дорогое оборудование?
10. Есть ли у вас тестировщики?
11. Пишут ли кандидаты на работу код во время собеседования?
12. Проводите ли вы коридорное тестирование удобства использования
программ?
8. Жизненный цикл. Waterfall
Плюсы
• Требования утверждаются один раз и остаются
стабильными
• Удобный менеджмент по фазам
• Легкость составления плана, диаграмма Ганта
• Управление ресурсами по фазам
• Приём проекта заказчиком по утвержденным заранее
требованиям
Минусы
• Требования? Один раз?? Так не бывает!
• У Заказчика нет возможности ознакомиться с системой
на этапе прототипа
• У Пользователя нет возможности начать пользоваться
продуктом до окончания разработки
• Требуется постоянный контроль со стороны менеджера
• Отсутствует возможность учесть переделку,
весь проект делается за один раз
Утверждение
требований
Проектирование Реализация Тестирование Поддержка
9. Жизненный цикл. Итеративная модель
Плюсы
• Адаптивность к изменению требований
• Обратная связь от пользователей
• Нет необходимости в строго согласованных требованиях
• Непрерывное итеративное тестирование
• Акцент на наиболее важном для пользователей функционале
• Равномерная загрузка команды
• Возможность построения разных моделей оплаты
Минусы
• Отсутствие понимания конечной цели
• Проблемы с архитектурой из-за изменяющихся требований
• Большая вовлеченность заказчика
• Проблемы при приёмке результата
• Усложнение процесса разработки
• Размытие deadline
10.
11. Agile-манифест
• Люди и взаимодействие важнее процессов и инструментов
• Работающий продукт важнее исчерпывающей документации
• Сотрудничество с заказчиком важнее согласования условий контракта
• Реагирование на изменения важнее следования первоначальному плану
• Командная работа важнее людей и взаимодействия
• Бизнес-ценность важнее работающего продукта
• Партнёрские отношения важнее сотрудничества
• Готовность к изменениям важнее реагирования на изменения