Operating a design system in a large software company
Loading...
Journal Title
Journal ISSN
Volume Title
Perustieteiden korkeakoulu |
Master's thesis
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Author
Date
2018-06-19
Department
Major/Subject
User-centered design
Mcode
SCI3047
Degree programme
Master’s Programme in Information Networks
Language
en
Pages
72+2
Series
Abstract
Software user interface reusability and consistency, both on design and programming level, have been identified issues since graphical user interfaces became more common in the 1990s. Traditional component libraries, style guides and pattern libraries have aimed to solve these issues, but designer and developer assets have been separated in them and they have not identified the importance of organisational responsibilities. In recent years, a phenomenon called design systems has emerged aiming to solve these issues. The literature review of this thesis studies design systems first asset-wise, comparing it to the traditional component libraries, style guides and pattern libraries. Secondly, the thesis investigates organisational factors, specifically, the distributed model of running the design system, where product teams take the responsibility in contributing assets to the system. The empirical research of this study is a qualitative case study consisting of seven product teams in a large Finnish software company. Three of these teams were observed co-located to them. Among the seven teams, different contexts of utilising the design system were attained. The empirical research generates understanding how the distributed model of running the design system works works optimally in the context of a large, multi-product software company. The thesis states that the success of design system boils down to providing concrete assets -- that are the building blocks of everyday designer and developer workflows -- instead of only abstract guidelines and patterns; combining these assets into a shared platform where designs are directly linked into code, enabling a single source of truth; and focusing on facilitating collaboration between relevant teams. Communities of practice are one way of organising inter-team coordination: building a culture of sharing where practitioners themselves are encouraged to form groups of knowledge sharing, and engaging only those practitioners that deeply relate to the matter, enable reuse and consistency between teams.Ohjelmistojen käyttöliittymäratkaisujen uudelleenkäytettävyys ja yhtenäisyys, sekä suunnittelu- ja ohjelmointitasolla, ovat olleet tunnistettuja haasteita aina graafisten käyttöliittymien yleistymisen myötä 1990-luvulla. Perinteiset komponenttikirjastot, tyylioppaat ja suunnittelumallikirjastot ovat yrittäneet ratkaista näitä ongelmia, mutta suunnittelu- ja ohjelmointiresurssit ovat olleet erillään ja organisatorisia vastuita ei ole tunnistettu. Viime vuosina käsite suunnittelujärjestelmä (design system), joka pyrkii ratkaisemaan kyseiset ongelmat, on noussut puheenaiheeksi ohjelmistoteollisuudessa. Diplomityön kirjallisuuskatsaus tutkii suunnittelujärjestelmiä ensin resurssien kannalta, verraten niitä perinteisiin komponenttikirjastoihin, tyylioppaisiin ja suunnittelumallikirjastoihin. Toiseksi työ tutkii organisatorista puolta, etenkin suunnittelujärjestelmien hajautettua mallia, jossa tuotetiimit tuottavat resursseja järjestelmään. Työn käytännön osuus on seitsemän tuotetiimin laadullinen tutkimus, mistä saavutettiin monipuolisia havaintoja järjestelmän hyödyntämisestä. Kolmea tiimiä tutkittiin paikan päällä. Tutkimus toteutettiin suuressa suomalaisessa ohjelmistoyrityksessä. Tutkimus toteaa, että suunnittelujärjestelmien menestys on seuraavien tekijöiden ansiota: konkreettisten, suunnittelu- ja ohjelmointityössä suoraan käytettävien resurssien tarjoaminen, abstraktien suunnitteluohjeiden ja mallien sijaan; näiden suunnittelu- ja ohjelmointiresurssien yhdistäminen jaettuun alustaan, jossa suunnitteluresurssit ovat yhdistetty ohjelmointiresursseihin; ja merkityksellisen yhteistyön fasilitointi tiimien välillä. Toimijayhteisöt ovat yksi tapa järjestää tiimien välistä yhteistyötä: kulttuurin rakentaminen, jossa suunnittelijoita ja ohjelmistokehittäjiä kannustetaan muodostamaan itse tiedonjakoryhmiä, sekä vain syvästi asiaan liittyvien henkilöiden osallistaminen ryhmään mahdollistavat uudelleenkäytön ja yhtenäisyyden tuotetiimien välillä.Description
Supervisor
Nieminen, MarkoThesis advisor
Linkola, JouniKeywords
design system, distributed model, style guide, component library, pattern library, community of practice