Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "empirical software engineering"

Sort by: Order: Results:

  • Willman, Aleksi (2024)
    Agile software development and DevOps are both well studied methodologies in the field of computer science. Agile software development is an iterative development approach that focuses on collaboration, customer feedback and fast deliveries. DevOps on the other hand highlights the co-operation between the developers and IT operations personnel, in addition to describing how to continuously deploy working software with usage of tools and automation. Even though these two methodologies share similarities and DevOps as a concept can even be seen as a descendant of agile software development, the relationship between the two is not yet as explored as the effects of individual practices. In this thesis, a systematic literature review is conducted to examine the relationship between agile software development and DevOps. The aim was to find benefits and drawbacks of the combined implementation agile software development and DevOps in the field of software development, the key similarities and differences between the two and how the adoption of one methodology influences the implementation of the other. A systematic literature review was conducted to find information on how agile software development and DevOps are related and perform in combination. Results showed that agile software development and DevOps share a complex yet symbiotic relationship. The complementary role of each methodology enhances each other and in unison these methodologies address wider variety of aspects in software development lifecycle. This combination shows a wide array of promising benefits such as improvements in productivity, delivery speed and collaboration. It however presents challenges related to required culture shift and lack of knowledge, for example, that organizations need to be wary of and acknowledge.
  • Longi, Joonas (2020)
    Understanding users’ needs and delivering solutions to them is a demanding task that is often based on guesses. Data can be a capable tool in making those guesses more educated, and more importantly, validating them. Developing software is expensive and doing so based on experiences or opinions imposes a big monetary risk. Continuous experimentation introduces an idea where data is used in a systematic manner to reduce these development risks by constantly validating hypotheses providing crucial knowledge whether the innovation is on the right path or not. There are some existing paths in the form of experimentation models, but implementing and adjusting one to fit your specific environment may be difficult. This thesis presents a case study on a mobile application and its journey to using data in the decision making process. We take a look if existing set of written and event data can be utilized and what are the limitations of them. The data reveals there are multiple uncovered lessons to be learned from. We then look at how to take a more systematic approach and apply continuous experimentation practices in the context of the application. Some initial steps along with an experimentation road map and further experiments are presented. We concluded that the key element to initializing continuous experiment practices is to start small and gradually build the knowledge of the team.