ebook img

Practices of Agile Software Product- Line Engineering PDF

142 Pages·2009·3.83 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Practices of Agile Software Product- Line Engineering

Practices of Agile Software Product- Line Engineering A qualitative assessment of empirical studies Snorre Gylterud Master of Science in Computer Science Submission date: August 2009 Supervisor: Torgeir Dingsøyr, IDI Co-supervisor: Kyo C. Kang, POSTECH Norwegian University of Science and Technology Department of Computer and Information Science Problem Description Software engineering is evolving as we speak. The need to develop software efficiently with high quality is becoming more important for companies and their core competencies in various domains. Software Product-Line Engineering is a software engineering approach where commonalities in the product portfolio are exploited through reuse. Usually, this has a large initial investment. Agile Software Development is a collection of methods and practices that tries to implement products through team-orientation, embracing change and reduced design effort. Lately researchers have studied the theoretical combination between these two approaches to Software Engineering. This assignment is to get an understanding of how companies combine the best of these two approaches to control and streamline the process of making software. Assignment given: 16. February 2009 Supervisor: Torgeir Dingsøyr, IDI Abstract This thesis elaborated on the how Software Product-Line Engineering is combined with Agile Software Development to improve Software Engineering, through investigating published case studies and performing interviews in several companies. This combination are often described as Agile Software Product-Line Engineering and our study aimed to describe what agility is for software product lines and find out more on how this approach could be realized. Agile Software Product-Line Engineering could reap benefits from the best of the two software engineering approaches combining long term strategic efforts with short term agility. By following a specified research method that combines qualitative research methods we were able to ensure validity in our analyses and generalize the findings of this study. We used both semi-structured interviews and textual analysis techniques. The companies under study seem to combine Software Product-Line Engineering and Agile Software Development with success, reducing initial investment and exploiting reuse, and we found several practices that are interesting for further study. Based on these practices we present our view of a top-down approach to Agile Software Product-Line Engineering starting with several characteristics and a proposal for a definition of the field. Further, a framework for implementing the approach based on our research is presented, before we describe our thoughts on how the practice areas of Software Product- Line Engineering can be combined with Agile Software Development practices. We think that this thesis could be used as a guideline for further study and implementation of Agile Software Product-Lines. We believe that the data we cover is comprehensive based on the small existing research field and covers the general ideas of both the fields included in the combination. - i - Preface TThhee MMaasstteerr TThheessiiss yyoouu aarree nnooww hhoollddiinngg iiss tthhee ffiinnaall wwoorrkk ooff mmyy MMaasstteerr ooff Science iinn CCoommppuutteerr SScciieennccee degree at the DDeeppaarrttmmeenntt ooff CCoommppuutteerr aanndd Information Science ((IIDDII)) aatt tthhee Norrwweeggiiaann UUnniivveerrssiittyy ooff SScciieennccee aanndd Technology (NTNU). TThhee tthheessiiss wwaass mostly written at PPoohhaanngg UUnniivveerrssiittyy ooff SScciieennccee aanndd TTeecchhnnoollooggyy ((PPOOSSTTEECCHH)) iinn SSoouutthh KKoorreeaa iinn ccoommbbiinnaattiioonn wwiitthh aann eexxcchhaannggee yyeeaarr.. FFoorr mmee iitt wwaass iimmppoorrttaanntt ttoo ccrreeaattee aa wwiinn-wwiinn ssiittuuaattiioonn,, aanndd ddiidd tthhaatt bbyy hhaavviinngg aa pprroobblleemm tthhaatt ssppaannned oovveerr bbootthh mmyy ssuuppeerrvviissoorrss’’ rreesseeaarrcchh ffiieellddss.. AAAnnn ooobbbssstttaaacccllleee fffooorrr ttthhhiiisss ssstttuuudddyyy wwwaaasss mmmyyy lllooocccaaatttiiiooonnn aaannnddd bbbeeeiiinnnggg iiinnn aaa eeennnvvviiirrrooonnnmmmeeennnttt wwwhhheeerrreee AAAgggiiillleee SSSoooffftttwwwaaarrreee DDDeeevvveeelllooopppmmmeeennnttt wwwaaasss nnnooottt cccooommmmmmooonnnlllyyy uuussseeeddd... TTThhhiiisss mmmaaadddeee iiittt hhhaaarrrddd tttooo dddooo tthhee eemmppiirriiccaall ddaattaa ccoolllleeccttiioonn,, bbuutt II mmaannaaggeedd ttoo ppeerrffoorrmm aa ccoouuppllee ooff iinntteerrvviieewwss.. III wwwooouuulllddd llliiikkkeee tttooo tttaaakkkeee ttthhheee oooppppppooorrrtttuuunnniiitttyyy tttooo ttthhhaaannnkkk mmmyyy sssuuupppeeerrrvvviiisssooorrr aaattt NNNTTTNNNUUU AAddjj.. AAssss.. PPrrooff.. TToorrggeeiirr DDiinnggssøøyyrr.. HHee hhaass ssuuppeerrvviisseedd mmee tthhrroouugghh tthhiiss MMaasstteerr TThheessiiss wwoorrkk ggiivviinngg hheellppffuull hhiinnttss aanndd ddiirreeccttiioonnss ffoorr tthhiiss ssttuuddyy.. HHee wwaass aallssoo pppooosssiiitttiiivvveee aaabbbooouuuttt mmmeee wwwooorrrkkkiiinnnggg fffrrrooommm aaa dddiiissstttaaannnttt cccooouuunnntttrrryyy aaannnddd III aaammm vvveeerrryyy gggrrraaattteeefffuuulll fffooorrr ttthhhaaattt... PPPrrrooofff... KKKaaannnggg aaattt PPPOOOSSSTTTEEECCCHHH aaannnddd hhhiiisss lllaaabbb mmmeeemmmbbbeeerrrsss hhhaaavvveee aaalllsssooo hhheeelllpppeeeddd mmmeee wwwiiittthhh ttthhheee progress of my thesis... TTThhheeeyyy ppprrrooovvviiidddeeeddd mmmeee wwwiiittthhh aaa gggooooooddd iiinnnfffrrraaassstttrrruuuccctttuuurrreee fffooorrr rrreeessseeeaaarrrccchhh and helped me within tthhee ffiieelldd ooff Software Product-Line Engineering. 2009.08.24 TTrroonnddhheeiimm, Norway Snorre Gylterud - iii - Contents 1. Introduction .............................................................................................. 1 1.1 Problem Areas.................................................................................... 2 1.2 Research Questions ............................................................................ 3 1.3 Objectives .......................................................................................... 4 1.4 Target Readers ................................................................................... 5 1.5 Clarifications ...................................................................................... 5 1.6 Organization of Thesis ....................................................................... 5 2. State of the Art: Product Line and Agile Software Engineering ................ 7 2.1 Software Product-Line Engineering .................................................... 8 2.2 Agile Software Development ........................................................... 20 2.3 Agile Software Product-Line Engineering ........................................ 27 3. Research Method .................................................................................... 29 3.1 Data Gathering ................................................................................. 30 3.2 Data Analysis ................................................................................... 38 4. Practices in Industry: Product Line and Agile Software Engineering ...... 41 4.1 Presentation of Case Studies ............................................................. 44 4.2 Practices Found in Software Product-Line Engineering .................... 57 4.3 Practices Found in Agile Software Development .............................. 64 5. Discussion .............................................................................................. 69 5.1 Characteristics of Agility in Software Product-Line Engineering ...... 72 5.2 Framework for Agile Software Product-Line Engineering ............... 75 5.3 Combining Software Product-Line Engineering Practice Areas and Agile Software Development Practices ....................................................... 83 5.4 Threats to Validity ........................................................................... 94 6. Conclusion ............................................................................................. 99 Bibliography ................................................................................................ 103 - v -

Description:
Line Engineering can be combined with Agile Software Development practices. We think that .. Table 2: Patterns for Software Product-Line Engineering adoption. (Clements . Project management and control are mentioned as problem .. Core assets use architecture with variants, and applications.
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.