1
- \section {Introduction }
1
+ \section {Introduction }\label { introduction }
2
2
3
3
Development of product families rather than individual products is a goal for
4
4
many engineering companies. Product Line Engineering (PLE) is a widely used
@@ -16,39 +16,40 @@ \section{Introduction}
16
16
Lines (SPL)~\cite {confsplc2000 }. An SPL increases reusability~\cite {Clem02a } and
17
17
therefore increases quality and decreases development costs of software by
18
18
building up shared core assets and customer-specific functionality. With this
19
- reuse in place, a business will be able to do larger scaling, with higher number
20
- of projects the development costs will drastically decrease compared to
21
- traditional engineering methods and the time-to-market will improve due to less
22
- development effort~\cite {confsplcAzanzaMD21 }. Thus an SPL is one possible
23
- solution to win against competitors.
19
+ reuse in place, a business will be able to do larger scaling. A higher number of
20
+ projects will drastically decrease the development costs compared to traditional
21
+ engineering methods and the time-to-market will improve due to less development
22
+ effort~\cite {confsplcAzanzaMD21 }. Thus an SPL is one possible solution to win
23
+ against competitors.
24
24
25
25
But even after years of research, source code migrations to SPL are still
26
26
complicated and there are no bullet proof concepts available that are applicable
27
27
to actively running projects with tight release plans. Much research has been
28
28
done on product line architectures~\cite {Svahnberg1999EPLA ,
29
- confsplcTomashchukLJ21 } and system engineering \cite {confsplcSchaferBAKR21 },
29
+ confsplcTomashchukLJ21 } and system engineering~ \cite {confsplcSchaferBAKR21 },
30
30
about feature model migrations~\cite {ncstrlustuttgartfiINPROC200185 ,
31
31
confsplcGrunerBKR20 , confsplcDuszynskiDB19 , confsplcFritschAR20 }, SPL
32
32
evolution~\cite {journalssmrQuintonVRBGS21 , Svahnberg1999ESPL , Eise02b ,
33
33
kconfigKernel } and safety aspects~\cite {confsplcWolschke0SAM19 } of SPLs. On the
34
- other hand, \cite {confoopslaHetrickKM06 } and \cite {confsplcAbbasJLESS20 } have
35
- written about the overall process, general benefits and a change of mindset,
36
- but not specifically about source code. Contrary to \cite {confsplcRubinCC13 },
37
- cloned variants are no option for us anymore. The authors of
38
- \cite {Krueger2001SMC } reported different migration strategies more than 20 years
39
- ago already: (1) proactive, (2) extractive and (3) reactive, but no work
40
- described a mixture of extractive and reactive migrations, which we needed.
41
- Inspired by the work of \cite {confsplcJepsenDB07 } we aim for a strategy with
42
- which we are able to migrate multiple repositories to a monorepo, allowing
43
- developers and software product managers to proceed with their own pace and
44
- according to the project plan without risking its deadlines and always being
45
- able to do a step backwards if neccessary.
34
+ other hand, Hetrick et al.~\cite {confoopslaHetrickKM06 } and Abbas et
35
+ al.~\cite {confsplcAbbasJLESS20 } have written about the overall process, general
36
+ benefits and a change of mindset, but not specifically about source code.
37
+ Contrary to Rubin et al.~\cite {confsplcRubinCC13 }, cloned variants are no option
38
+ for us anymore. Krueger~\cite {Krueger2001SMC } reported different migration
39
+ strategies more than 20 years ago already: (1) proactive, (2) extractive and (3)
40
+ reactive, but no work described a mixture of extractive and reactive migrations,
41
+ which we need for existing and upcoming customer projects. Inspired by the work
42
+ of Jepsen et al.~\cite {confsplcJepsenDB07 } we aim for a strategy with which we
43
+ are able to migrate multiple independent repositories to a scalable SPL,
44
+ allowing developers and software product managers to proceed with their own pace
45
+ and according to the project plan without risking its deadlines and always being
46
+ able to do a step backwards if necessary.
46
47
47
48
In this paper we propose an iterative and incremental migration strategy in
48
- three steps. We structured the paper in the following way: Section two stating
49
- the challenges we faced in our projects and industry to explain our view on the
50
- problem and why standard solutions did not work for us, section three explaining
51
- our three step solution of the source code migration in detail, presenting
52
- infrastructure and build system ideas and section four presenting our
53
- conclusion, an overview on where we stand right now and giving a forecast on
54
- future work.
49
+ three steps. We structured the paper in the following way:
50
+ Section~ \ref { challenge } stating the challenges we faced in our projects and
51
+ industry to explain our view on the problem and why standard solutions did not
52
+ work for us, section~ \ref { solution } explaining our three step solution of the
53
+ source code migration in detail, presenting infrastructure and build system
54
+ ideas and section~ \ref { conclusion } presenting our conclusion, an overview on
55
+ where we stand right now and giving a forecast on future work.
0 commit comments