Промышленный подход к продуктовым линейкам в...

23
12 th CENTRAL & EASTERN EUROPEAN SOFTWARE ENGINEERING CONFERENCE IN RUSSIA October 28 - 29, Moscow Anton S. Khritankov Industrializing Software Product Line Development for Small Companies MIPT Antiplagiat

Upload: cee-secr

Post on 16-Apr-2017

136 views

Category:

Technology


4 download

TRANSCRIPT

Page 1: Промышленный подход к продуктовым линейкам в небольших компаниях

12th CENTRAL & EASTERN EUROPEAN SOFTWARE ENGINEERING CONFERENCE IN RUSSIA

October 28 - 29, Moscow

Anton S. Khritankov

Industrializing Software Product Line

Development for Small Companies

MIPT

Antiplagiat

Page 2: Промышленный подход к продуктовым линейкам в небольших компаниях

Basic idea

Several products for specific market

Similar but different

Want to reuse (multiuse) shared parts

28.10.2016 Industrializing Software Product Line

Development for Small Companies 2

Page 3: Промышленный подход к продуктовым линейкам в небольших компаниях

Divide products into features

Divide functionality into features

If features intersect – that’s a new sub-feature

Describe products as sets of features

28.10.2016 Industrializing Software Product Line

Development for Small Companies 3

Page 4: Промышленный подход к продуктовым линейкам в небольших компаниях

Implementation

Extensible reference architecture

Separate implementation of features

Assemble products from features

28.10.2016 Industrializing Software Product Line

Development for Small Companies 4

Page 5: Промышленный подход к продуктовым линейкам в небольших компаниях

Software Product Line Engineering (SPLE)

Software product line (SPL) is

a group of related but different products

targeting specific needs within a selected market

sharing common, managed set of features

developed from core assets in a predefined way

28.10.2016 Industrializing Software Product Line

Development for Small Companies 5

Page 6: Промышленный подход к продуктовым линейкам в небольших компаниях

Developing products from core assets

28.10.2016 Industrializing Software Product Line

Development for Small Companies 6

Page 7: Промышленный подход к продуктовым линейкам в небольших компаниях

Economics of software product lines

28.10.2016 Industrializing Software Product Line

Development for Small Companies 7

Page 8: Промышленный подход к продуктовым линейкам в небольших компаниях

Variability model

28.10.2016 Industrializing Software Product Line

Development for Small Companies 8

Page 9: Промышленный подход к продуктовым линейкам в небольших компаниях

Requirements management

28.10.2016 Industrializing Software Product Line

Development for Small Companies 9

Page 10: Промышленный подход к продуктовым линейкам в небольших компаниях

Asset reuse

28.10.2016 Industrializing Software Product Line

Development for Small Companies 10

Page 11: Промышленный подход к продуктовым линейкам в небольших компаниях

Product configuration (1/3)

28.10.2016 Industrializing Software Product Line

Development for Small Companies 11

Page 12: Промышленный подход к продуктовым линейкам в небольших компаниях

Product configuration (2/3)

28.10.2016 Industrializing Software Product Line

Development for Small Companies 12

Page 13: Промышленный подход к продуктовым линейкам в небольших компаниях

Product configuration (3/3

28.10.2016 Industrializing Software Product Line

Development for Small Companies 13

Page 14: Промышленный подход к продуктовым линейкам в небольших компаниях

Case Study: Antiplagiat SPL

Internet-scale SaaS and on-premises

Family of plagiarism checking products for

Educational institutions

Research organizations

Personal use

28.10.2016

Industrializing Software Product Line

Development for Small Companies 14

Page 15: Промышленный подход к продуктовым линейкам в небольших компаниях

Motivation for change

Problems Opportunities

Unmaintainable code

Ad-hoc product management and communication

And prevent in the future

Leverage similarities

increase development productivity

increase quality

decrease time to market

lessen support burden

28.10.2016

Industrializing Software Product Line

Development for Small Companies 15

Page 16: Промышленный подход к продуктовым линейкам в небольших компаниях

Example features

Feature Description Used in

Static website

(abstract) Display supplementary information about the site, news,

on-line help depending on the configuration Except when

API-only

Admin area Site admin can create, delete, edit user accounts and

change user password, search for users with filtering and

sorting. A site admin can log in as a user.

Except when

External Auth.

University

admin Site admin can create, edit and delete tags. Site admin can

assign tags to professors and TAs.

Site admin can assign and edit student IDs

AP.University

User profile User can log in and log out with username and password.

User can view his profile and contact support. AP.User,

AP.University, …

28.10.2016 Industrializing Software Product Line

Development for Small Companies 16

Page 17: Промышленный подход к продуктовым линейкам в небольших компаниях

Product line management process

28.10.2016 Industrializing Software Product Line

Development for Small Companies 17

Page 18: Промышленный подход к продуктовым линейкам в небольших компаниях

Lessons learned

Obtain and maintain sponsorship and support

28.10.2016 Industrializing Software Product Line

Development for Small Companies 18

Page 19: Промышленный подход к продуктовым линейкам в небольших компаниях

Lessons learned

Obtain and maintain sponsorship and support

Expect initial costs

28.10.2016 Industrializing Software Product Line

Development for Small Companies 19

Page 20: Промышленный подход к продуктовым линейкам в небольших компаниях

Lessons learned

Obtain and maintain sponsorship and support

Expect initial costs

Refactoring

Process tailoring

Training

28.10.2016 Industrializing Software Product Line

Development for Small Companies 20

Page 21: Промышленный подход к продуктовым линейкам в небольших компаниях

Lessons learned

Obtain and maintain sponsorship and support

Expect initial costs

Refactoring

Process tailoring

Training

Start small and travel light

28.10.2016 Industrializing Software Product Line

Development for Small Companies 21

Page 22: Промышленный подход к продуктовым линейкам в небольших компаниях

Lessons learned

Obtain and maintain sponsorship and support

Expect initial costs

Refactoring

Process tailoring

Training

Start small and travel light

Architecture is an important investment

28.10.2016

Industrializing Software Product Line

Development for Small Companies 22

Page 23: Промышленный подход к продуктовым линейкам в небольших компаниях

Industrializing Software Product Line

Development for Small Companies

Architectural considerations

Implementation best practices

Proactive and reactive SPLE

Variability management

Configuration management

Connecting to DevOps or SAFe

28.10.2016 Industrializing Software Product Line

Development for Small Companies 23

Anton Khritankov

[email protected]