6 research outputs found

    Society 5.0 and the future of work skills for software engineers and developers

    Get PDF
    Society 5.0, with all its different cyber-physical aspects not only presents a technical challenge, but also significantly changes the structures and business processes of organizations. It requires software engineers and developers to consider a new level of socio-technical interaction and planning. Software should not be the point of friction among products, services and users, but should rather encourage software engineers and developers to become more human-oriented. Therefore, the purpose of this study was to investigate the future of work skills in Society 5.0 for software engineers and developers. We collected and analyzed two datasets; one dataset containing academic peer reviewed publications and the second dataset encompassed popular press articles that predicted the future of software engineering and development. We used the Software Engineering Body of Knowledge (SWEBOK) to map the data and found that future of work skills for software engineers and developers are driven by software foundations and the evolution of new programming languages and technologies e.g. quantum computing. In addition, software professional practices such as containerization, no / low-code development and fast innovation / prototyping cycles will affect the future of work together with software development practices such as cross-platform development, continuous integration and deployment, and cybersecurity. Based on the findings, we developed a skills evaluation tool that could be used to establish a future of work skills profile. By considering the evolution of the software engineering and –development role, as well as the future requirement due to technology evolution, a software engineer and developer may be able to prepare themselves for the Society 5.0 domain.http://www.easychair.org/publications/EPiC/Computingam2023Informatic

    Low-code -pohjaisen tehdasapplikaatiokonseptin kehitysprosessi

    Get PDF
    Teollisen digitalisaation murros on siirtymässä ihmiskeskeisempään aikakauteen, jossa älykkäiden teknologioiden sijaan keskitytään ihmisen ja tuotantojärjestelmän välisen yhteistyön kehittämiseen. Tämä puolestaan on kasvattanut tarvetta erilaisten tuotantotyötä tukevien rajapintojen nopeaan kehittämiseen. Samalla digitalisaation esteeksi yrityksissä on kuitenkin muodostunut ohjelmistoammattilaisten puute. Low-code -alustat pyrkivät tarjoamaan ratkaisun tähän mahdollistamalla ohjelmistojen nopean ja ketterän kehittämisen minimoimalla tarpeen perinteiselle koodille. Low-code -kehittämisen tuomista mahdollisuuksista huolimatta siihen liittyy sen uutuuden vuoksi kuitenkin paljon epätietoisuutta. Tästä syystä teollisuusyrityksissä nojaudutaan usein perinteiseen koodiperustaiseen tapaan tehdä ohjelmistokehitystä. Tässä diplomityössä tarkastellaan low-code -pohjaisen Smart Factory app -tehdasapplikaationkonseptin kehitysprojektia. Smart Factory app -konseptin visiona on kevyt, käyttäjäkohtaisesti kustomoitava käyttöliittymäratkaisu, joka hyödyntää tuotannon tietojärjestelmien dataa yhdistäen niistä tarvittavaa tietoa yhteen käyttöliittymään. Samalla Smart Factory app -projektissa pyrittiin esittelemään low-coden potentiaalia erilaisten organisaation tietojärjestelmien dataa hyödyntävien ohjelmistosovellusten nopeaan kehittämiseen. Tällä tavoin Smart Factory app -konseptilla pyritään vastaamaan kahteen edellä mainittuun tarpeeseen: ihmisen ja tuotantojärjestelmien rajapintojen kasvaneeseen kysyntään ja low-code -kehittämiseen liittyvään epätietoisuuteen. Diplomityöllä oli kaksi tavoitetta. Ensimmäinen oli määritellä todellisen tuotantoympäristön tarpeisiin perustuva kuvaus Smart Factory app -konseptin toiminnallisuuksista ja tarpeista. Toinen oli tarkastella low-coden vaikutusta ohjelmistokehitykseen. Tehdasapplikaatiokonseptin tarpeita ja vaatimuksia kartoitettiin asiakasyritysten tuotantoympäristössä työskentelevien työntekijöiden haastatteluilla. Low-coden tarkasteluun hyödynnettiin sekä kirjallisuuskatsausta, että haastatteluja. Kirjallisuuskatsauksella pyrittiin tarkastelemaan low-coden vaikutusta Scrum-prosessin mukaiseen ohjelmistokehitykseen. Haastattelut toteutettiin Smart Factory app -prototyypin kehitystiimille. Haastattelujen tavoitteena oli kartoittaa low-coden -teknologian tuomia hyötyjä verrattuna perinteiseen ohjelmistokehityksen vaatimusmäärittelyprosessiin. Asiakasyritysten haastattelujen perusteella Smart Factory app -konseptin mukaiselle ohjelmistosovellukselle on selvää kysyntää. Asiakasyrityksissä toivottiin helppokäyttöistä, eri tieto-järjestelmien dataa kokoavaa käyttöliittymää. Lisäksi käyttöliittymän tulisi olla nopeasti muokattavissa tuotantoympäristön muutoksiin. Applikaatiolta toivottiin tukea erityisesti tuotantoprosessin kokonaiskuvan seurantaan, materiaalivirtojen tarkasteluun, työohjeiden saatavuuteen, sekä sisäiseen logistiikkaan liittyvien prosessien suoraviivaistamiseen ja automatisointiin. Kirjallisuuskatsauksessa low-coden havaittiin tukevan Scrum-prosessin iteratiivisen kehittämisen periaatetta edistämällä Scrum-prosessiin perustuvan ohjelmistokehityksen nopeutta ja ketteryyttä. Low-code -alustojen keskeisten ongelmien vuoksi niiden soveltuvuutta on tarkasteltava tapauskohtaisesti jo ennen Scrum-prosessin ensimmäistä kehitysjaksoa. Vaatimusmäärittelyn osalta low-code vaikuttaisi edistävän erityisesti vaatimusten validointi ja verifiointiprosessia nopean ja ketterän prototypoinnin kautta. Sekä kirjallisuuskatsauksessa, että kehitystiimin haastatteluissa low-coden havaittiin mahdollistavan tiiviimmän yhteistyön ohjelmistokehityksen sidosryhmien välillä, jolloin ohjelmistokehittäjien ja sidosryhmien välinen kuilu pienenee. Tämän havaittiin edistävän niin Scrum-prosessin, kuin vaatimusmäärittelyprosessinkin suorituskykyä. Kehitystiimin haastattelujen perusteella tämä kuitenkin edellyttää kehitystarpeen omistajan aktiivista osallistamista osaksi ohjelmistokehityksen käytännön työtä

    Requirements Engineering in Building Climate Science Software.

    Full text link
    Software has an important role in supporting scientific work. This dissertation studies teams that build scientific software, focusing on the way that they determine what the software should do. These requirements engineering processes are investigated through three case studies of climate science software projects. The Earth System Modeling Framework assists modeling applications, the Earth System Grid distributes data via a web portal, and the NCAR (National Center for Atmospheric Research) Command Language is used to convert, analyze and visualize data. Document analysis, observation, and interviews were used to investigate the requirements-related work. The first research question is about how and why stakeholders engage in a project, and what they do for the project. Two key findings arise. First, user counts are a vital measure of project success, which makes adoption important and makes counting tricky and political. Second, despite the importance of quantities of users, a few particular “power users” develop a relationship with the software developers and play a special role in providing feedback to the software team and integrating the system into user practice. The second research question focuses on how project objectives are articulated and how they are put into practice. The team seeks to both build a software system according to product requirements but also to conduct their work according to process requirements such as user support. Support provides essential communication between users and developers that assists with refining and identifying requirements for the software. It also helps users to learn and apply the software to their real needs. User support is a vital activity for scientific software teams aspiring to create infrastructure. The third research question is about how change in scientific practice and knowledge leads to changes in the software, and vice versa. The “thickness” of a layer of software infrastructure impacts whether the software team or users have control and responsibility for making changes in response to new scientific ideas. Thick infrastructure provides more functionality for users, but gives them less control of it. The stability of infrastructure trades off against the responsiveness that the infrastructure can have to user needs.Ph.D.InformationUniversity of Michigan, Horace H. Rackham School of Graduate Studieshttp://deepblue.lib.umich.edu/bitstream/2027.42/86438/1/archerb_1.pd

    Helping developers to help each other: a technique to facilitate understanding among professional software developers.

    Get PDF
    Much of a professional software developer’s work involves amending or extending pre-existing software; creating new software from scratch represents only a small proportion of their time. Even in a brand new project they still need to make sense of work others have done in the emerging software system. This research addresses how developers are helped or hindered in their own daily tasks by the actions of their peers. The literature commonly focuses on a specific aspect of the work such as code comprehension or the processes by which a project is run. This research instead takes a holistic view that considers all the activities involved in the job, but from a single uniting perspective: rather than conventional measures such as coding errors or delivery timescales, the criterion here is how a developer personally experiences their own productivity to be affected by their peers. The research used one-to-one interviews to identify common behaviours that help or hinder fellow software developers. Experienced software developers discussed team- friendly (and otherwise) behaviours across the breadth of their typical workplace tasks. The key themes to emerge from this qualitative data make a contribution to the understanding of software development by giving a comprehensive, developer’s- eye view of behaviours that help or hinder them across the whole range of tasks that fill their days. These themes laid the foundation for a practical application of the research. Techniques which had proved engaging and useful in the interviews were adapted into a continuing professional development workshop designed to encourage team discussion on issues of local resonance, selected by participants from those which the interviews had shown to be important. The topics resonated in a way which reinforces the validity of the interview findings. Participants enthusiastically identified useful actions for their own teams and would recommend the workshop to others. They also saw potential for future development into different workplace scenarios. The workshop is just one application of the understanding contributed by the research. The principles of good practice from the human perspective that have been identified also offer an empirical foundation that could be of practical use in appraisals, recruitment and any other scenario which requires an understanding of software developers not just as computer programmers but as people
    corecore