Download - Il product development - 20 01 2011
Product Development Approach
Moscow, 2011
Product Development Approach
/2 World-class innovation products and solutions development in Russia; Innovation as the main competitive advantage for the global market entry with IT
products and Web 2.0 projects (USA, Russia, Europe, Asia); Innovation as the only possible breakthrough element in Knowledge Economy for
Russian Federation; Innovation as the major model for sustainable business development; Global innovation as attractive environment for the best Russian professionals.
Mission
Product Development Approach
/3
1. INDePT introduction;
2. Case study project SOPRAX;
3. Tools and techniques.
Table of content
Product Development Approach
/4INDePT | Process Methodology Overview INDePT methodology is designed to provide flexibility, visibility and
productivity to the whole life cycle of product development.
INDePT methodology is agile, incremental and highly iterative.
Six major attributes in the process: – Customer Problems, – Questions, – Functionality, – Feature Sets, – Features– Metrics.
Product Development Approach
/5INDePT | Process IterationsThere are five major iterations in a process:
1.Customer Problem Domain Analysis;
2.System Functionality and Objects Analysis;
3.System Design;
4.Prototyping and Object Architecture;
5.Features Partition and Coding and Rollout iterations.
Product Development Approach
/6INDePT | PhasesOverall, methodology consists of three generic phases: 1) Analysis 2) Design and Development 3) Rollout.
Each phase represents a number of iterations with numerous inspections.
The main principle of the process is timely communication, visible progress and monitored productivity and efficiency.
Product Development Approach
/7INDePT | Analysis phase Iteration 1 - Customer Problem Domain Analysis:– An initial project-wide iteration conducted by problem domain experts/analysts at customer
site (preferable). – A high-level walkthrough of the scope of the system and its context
is performed. – Detailed domain walkthroughs are then held for each area to be modeled and developed. – Normally takes 2 iterations (for small-scale projects 1 iteration should be sufficient).
Iteration 2 - System Functionality and Objects Analysis:– Continuation of the initial process focus is placed on functionality of the system. – Normally takes 2-3 iterations for middle-large scale projects
Product Development Approach
/8INDePT | Design and Development phase Iteration 1 - System Design, Prototyping and Objects Architecture Iteration:– Refines the functionality of the system to the feature set level of granularity and initial
description of the features.– Functional prototype presents the major functionality. – System design and architecture is formed with detailed definition of objects definition and
dependencies. – Normally 3-5 iterations for middle-large scale projects
Iteration 2 - Features Partition and Coding Iteration:– Activity with domain and development members under the guidance of Project Manager and
Chief Architect. – A low-level module partitioning (feature level) is performed and appropriate feature
sets/features are added into the Project Plan with commitment dates. – Normally 2-3 iterations for middle-large scale projects.
Product Development Approach
/9INDePT | MetricsProcess metrics provides factual information on current team productivity and performance patterns and enable managers to asses the current progress with maximum visibility and realistic information.
Quantitative metrics:–Actual/Planned Completion Date for the Feature;–Actual/Planned Completion Date for the Feature Set;–Number of days spent on Analysis Iterations–Number of Defects found in Feature Set–Number of Open/Closed Defects–Number of Assigned (Open) Defects per Developer
Qualitative metrics:–Number of Severity (1, 2) Defects per Developer–Complexity Ranking of the Modules–Urgency Ranking of the Modules
Product Development Approach
/10INDePT | Rollout IterationRollout iteration provides integration and configuration of the whole system online or on customer site.
–Activity with domain and development members under the guidance of Project Managers from both sides. –Developed modules are configured and released online. –Major module inspections/documentation/testing procedures are reviewed and verified
Product Development Approach
/11INDePT | Methodology scheme
Product Development Approach
/12SOPRAX | The idea (Social Promo Accelerator)Social net + e-Shop
Product Development Approach
/13SOPRAX | Analysis phase result
Feature set
Fea
ture
s
Fea
ture
s
Fea
ture
s
Fea
ture
sFeature set
Feature set
Feature set
Feature set
Product Development Approach
/14SOPRAX | Technical specification Roles
Гость Пользователь Администратормагазина
Друг
Администратор
Detailed site map
Technical requirements
Product Development Approach
/15SOPRAX | Designs
Сервер баз данных:8 процессоров, 8Гб RAM,
1000 Гб (1 Тб) пространства жесткого диска(возможно выделение отдельных серверов
под каждую БД)
БД пользовательскихпрофилей
Web ферма серверов приложений:По 4 процессора, 4Гб RAM,
40 Гб пространства жесткого диска
Windows Сервис
синхронизации
Балансировщик нагрузки
Клиенты
Internet
КлиентыКлиенты
БД с информациейо товарах
БД заказов БД служебнойинформации
Web ферма серверов доступа к дисковому массиву:По 4 процессора, 4Гб RAM,
40 Гб пространства жесткого диска
3 U
3 U
Дисковый массив
Балансировщик нагрузки
БД CMS Kentico
Сервера кеша и состояния
System architecture design Deployment diagram
Презентационный слойИМ Настройка ИМ
АдминистраторПользователь РазработчикКонтент менеджер
Подсистема безопасности
Пользователи системы
Уровень бизнес логики
Серверные компоненты системы
Рассылка сообщений
Подсистема поиска
Бизнес-объекты
Бизнес-процессы
Интеграция с внешними системами
Импорт-экспорт данных
Уровень данных
Веб-страницы и пользовательские элементы интерфейса
Компоненты обеспечения логики веб-страниц (Контроллеры)
Система рассылки
сообщений
Логирование
Интерфейсы компонентов бизнес-логики
Бизнес-компоненты
Уровень логики доступа к данным
Компонент доступа к данным
Компонент доступа к данным
Компонент доступа к данным
Кэширования Web-страниц
Кэширование данных
Ролевой доступ
Аутентификация и авторизация
пользователей системы
Подсистема кэширования
БД пользовательских профилей
БД с информацией о товарах
БД заказовБД CMS
БД служебной информации
Дисковый массив хранения тяжелого
контента
Сетевой ресурс обмена Xml
Файлами
Product Development Approach
/16SOPRAX | Design prototyping: e-Shop e-Shop page sketch e-Shop page HTML layout
Product Development Approach
/17SOPRAX | Design prototyping: user profile User profile page sketch User profile page HTML layout
Product Development Approach
/18SOPRAX | The final portal e-Shop part Social part
Product Development Approach
/19SOPRAX | Project planning
Product Development Approach
/20SOPRAX | Process metrics
Product Development Approach
/21Tools | Used tools and techniques Destination Java
Scheduler Teamcity
XML Build tools Maven
Test tools – JUnit (unit tests)– Cobertura (test coverage)– Jalopy (code style)– PMD (code analysis)– EMMA (code coverage)– Selenium (UI tesing)– JMeter (performance testing)
IDE Netbeans, Eclipse, Intelleij Idea
Version control Subversion
Documentation Confluence, JavaDoc, Adobe Acrobat
Project Planning MS Project
Product Development Approach
/22Tools | Document repository Project directory An article example
Product Development Approach
/23Tools | SVN – Code version control
Product Development Approach
/24Tools | Continuous integration
Product Development Approach
/25Tools | Bug tracking system
Product Development Approach
/26Tools | Automated testing
Createdby Innovation Lab LLC