Publication

An agile process for modeling logical architectures: demonstration cases from large-scale software projects

View document

Bibliographic Details
Summary:Developing software solutions is about providing responses to a set of business needs in form of a working software. These business needs are the starting point for the development process, which states the required business support that the software will provide, in form of functional and nonfunctional requirements. Then, every implementation decision aims satisfying those requirements. Of course, over time, the requirements change. In that sense, agile software development (ASD) approaches bring a set of practices towards embracing those changes as soon as possible. As the complexity of software increases, namely in terms of the quantity of the defined features, these approaches face some challenges, typically related in properly defining how different teams have to work together in order to deliver a unified solution. In complex solutions, the traceability between business (or stakeholder) and software (components) perspectives may not be properly assured. Using a logical architecture provides a view that organizes software components in order to meet functional requirements. In a large-scale agile (LSA) setting, the logical architecture provides a view in how different teams’ outputs fit together. Thus, this thesis presents a process for modeling logical architectures adequate for ASD settings (a.k.a., “Agile Modeling” – AM) with requirements elicitation and modeling techniques and, additionally, uses an architectural design method called “Four Step Rule Set” (4SRS) in order to trace the requirements models to the architectural components. An AM process should support evolutionary design, preventing the so-called “Big Design Up Front” (BDUF) with eventual efforts that are afterwards disregarded in “You Aren’t Going to Need It” (YAGNI) elements. The proposed process is called “Agile Modeling Process for Logical Architectures” (AMPLA). This research work aimed defining how AMPLA covers the model evolution and abstraction level from business to service-oriented logical architectures in LSA settings. Additionally, adopting an architectural style called “microservices”, eases the agility in developing (and deploying) the solutions, where its design principles promote continuous integration/delivery (CI/CD) and DevOps. Thus, AMPLA includes architecture modeling as well as maintenance and evolution during ASD iterations.
Main Authors:Santos, Nuno António de Lira Fernandes Faria dos
Subject:agile software development agile modeling large-scale agile logical architectures microservices architecture ágil em larga escala arquitetura de micro-serviços arquiteturas lógicas desenvolvimento ágil de software modelação ágil
Year:2020
Country:Portugal
Document type:doctoral thesis
Access type:open access
Associated institution:Universidade do Minho
Language:Portuguese
Origin:RepositóriUM - Universidade do Minho
_version_ 1866877931025858560
author Santos, Nuno António de Lira Fernandes Faria dos
author_facet Santos, Nuno António de Lira Fernandes Faria dos
author_role author
contributor_name_str_mv Machado, Ricardo J.
Ferreira, Nuno C.
Universidade do Minho
country_str PT
creators_json_txt [{\"Person.name\":\"Santos, Nuno António de Lira Fernandes Faria dos\"}]
datacite.contributors.contributor.contributorName.fl_str_mv Machado, Ricardo J.
Ferreira, Nuno C.
Universidade do Minho
datacite.creators.creator.creatorName.fl_str_mv Santos, Nuno António de Lira Fernandes Faria dos
datacite.date.Accepted.fl_str_mv 2020-11-10T00:00:00Z
datacite.date.available.fl_str_mv 2022-04-21T18:19:07Z
datacite.date.embargoed.fl_str_mv 2022-04-21T18:19:07Z
datacite.rights.fl_str_mv http://purl.org/coar/access_right/c_abf2
datacite.subjects.subject.fl_str_mv agile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
datacite.titles.title.fl_str_mv An agile process for modeling logical architectures: demonstration cases from large-scale software projects
dc.contributor.none.fl_str_mv Machado, Ricardo J.
Ferreira, Nuno C.
Universidade do Minho
dc.creator.none.fl_str_mv Santos, Nuno António de Lira Fernandes Faria dos
dc.date.Accepted.fl_str_mv 2020-11-10T00:00:00Z
dc.date.available.fl_str_mv 2022-04-21T18:19:07Z
dc.date.embargoed.fl_str_mv 2022-04-21T18:19:07Z
dc.format.none.fl_str_mv application/pdf
dc.identifier.none.fl_str_mv https://hdl.handle.net/1822/77126
dc.language.none.fl_str_mv por
dc.rights.cclincense.fl_str_mv http://creativecommons.org/licenses/by/4.0/
dc.rights.none.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.rights.copyright.fl_str_mv openAccess
dc.subject.none.fl_str_mv agile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
dc.title.fl_str_mv An agile process for modeling logical architectures: demonstration cases from large-scale software projects
dc.type.none.fl_str_mv http://purl.org/coar/resource_type/c_db06
description Developing software solutions is about providing responses to a set of business needs in form of a working software. These business needs are the starting point for the development process, which states the required business support that the software will provide, in form of functional and nonfunctional requirements. Then, every implementation decision aims satisfying those requirements. Of course, over time, the requirements change. In that sense, agile software development (ASD) approaches bring a set of practices towards embracing those changes as soon as possible. As the complexity of software increases, namely in terms of the quantity of the defined features, these approaches face some challenges, typically related in properly defining how different teams have to work together in order to deliver a unified solution. In complex solutions, the traceability between business (or stakeholder) and software (components) perspectives may not be properly assured. Using a logical architecture provides a view that organizes software components in order to meet functional requirements. In a large-scale agile (LSA) setting, the logical architecture provides a view in how different teams’ outputs fit together. Thus, this thesis presents a process for modeling logical architectures adequate for ASD settings (a.k.a., “Agile Modeling” – AM) with requirements elicitation and modeling techniques and, additionally, uses an architectural design method called “Four Step Rule Set” (4SRS) in order to trace the requirements models to the architectural components. An AM process should support evolutionary design, preventing the so-called “Big Design Up Front” (BDUF) with eventual efforts that are afterwards disregarded in “You Aren’t Going to Need It” (YAGNI) elements. The proposed process is called “Agile Modeling Process for Logical Architectures” (AMPLA). This research work aimed defining how AMPLA covers the model evolution and abstraction level from business to service-oriented logical architectures in LSA settings. Additionally, adopting an architectural style called “microservices”, eases the agility in developing (and deploying) the solutions, where its design principles promote continuous integration/delivery (CI/CD) and DevOps. Thus, AMPLA includes architecture modeling as well as maintenance and evolution during ASD iterations.
dirty 0
eu_rights_str_mv openAccess
format doctoralThesis
fulltext.url.fl_str_mv https://prod-dspace.uminho.pt/bitstreams/7ed595ce-85c3-401e-b7dc-4174854b0d32/download
id rum_8e72bbe2dcd13cfc9b06c545e9fd1817
identifier.url.fl_str_mv https://hdl.handle.net/1822/77126
instacron_str repositorium
institution Universidade do Minho
instname_str Universidade do Minho
language por
network_acronym_str rum
network_name_str RepositóriUM - Universidade do Minho
oai_identifier_str oai:repositorium.uminho.pt:1822/77126
organization_str_mv urn:organizationAcronym:repositorium
person_str_mv Santos, Nuno António de Lira Fernandes Faria dos
publishDate 2020
reponame_str RepositóriUM - Universidade do Minho
repository_id_str urn:repositoryAcronym:rum
service_str_mv urn:repositoryAcronym:rum
spelling porporDeveloping software solutions is about providing responses to a set of business needs in form of a working software. These business needs are the starting point for the development process, which states the required business support that the software will provide, in form of functional and nonfunctional requirements. Then, every implementation decision aims satisfying those requirements. Of course, over time, the requirements change. In that sense, agile software development (ASD) approaches bring a set of practices towards embracing those changes as soon as possible. As the complexity of software increases, namely in terms of the quantity of the defined features, these approaches face some challenges, typically related in properly defining how different teams have to work together in order to deliver a unified solution. In complex solutions, the traceability between business (or stakeholder) and software (components) perspectives may not be properly assured. Using a logical architecture provides a view that organizes software components in order to meet functional requirements. In a large-scale agile (LSA) setting, the logical architecture provides a view in how different teams’ outputs fit together. Thus, this thesis presents a process for modeling logical architectures adequate for ASD settings (a.k.a., “Agile Modeling” – AM) with requirements elicitation and modeling techniques and, additionally, uses an architectural design method called “Four Step Rule Set” (4SRS) in order to trace the requirements models to the architectural components. An AM process should support evolutionary design, preventing the so-called “Big Design Up Front” (BDUF) with eventual efforts that are afterwards disregarded in “You Aren’t Going to Need It” (YAGNI) elements. The proposed process is called “Agile Modeling Process for Logical Architectures” (AMPLA). This research work aimed defining how AMPLA covers the model evolution and abstraction level from business to service-oriented logical architectures in LSA settings. Additionally, adopting an architectural style called “microservices”, eases the agility in developing (and deploying) the solutions, where its design principles promote continuous integration/delivery (CI/CD) and DevOps. Thus, AMPLA includes architecture modeling as well as maintenance and evolution during ASD iterations.application/pdfporAn agile process for modeling logical architectures: demonstration cases from large-scale software projectsSantos, Nuno António de Lira Fernandes Faria dosMachado, Ricardo J.Ferreira, Nuno C.HostingInstitutionOrganizationalUniversidade do Minhoe-mailmailto:repositorium@usdb.uminho.ptrepositorium@usdb.uminho.ptURNurn:tid:1016488202022-04-21T18:19:07Z2020-11-102020-122020-11-10T00:00:00ZHandlehttps://hdl.handle.net/1822/77126http://purl.org/coar/access_right/c_abf2open accessagile software developmentagile modelinglarge-scale agilelogical architecturesmicroservices architectureágil em larga escalaarquitetura de micro-serviçosarquiteturas lógicasdesenvolvimento ágil de softwaremodelação ágil13373602 bytesliteraturehttp://purl.org/coar/resource_type/c_db06doctoral thesis2020-11-10http://creativecommons.org/licenses/by/4.0/openAccesshttp://purl.org/coar/access_right/c_abf2application/pdffulltexthttps://prod-dspace.uminho.pt/bitstreams/7ed595ce-85c3-401e-b7dc-4174854b0d32/download
spellingShingle An agile process for modeling logical architectures: demonstration cases from large-scale software projects
Santos, Nuno António de Lira Fernandes Faria dos
agile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
status SINGLETON
subject.fl_str_mv agile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
title An agile process for modeling logical architectures: demonstration cases from large-scale software projects
title_full An agile process for modeling logical architectures: demonstration cases from large-scale software projects
title_fullStr An agile process for modeling logical architectures: demonstration cases from large-scale software projects
title_full_unstemmed An agile process for modeling logical architectures: demonstration cases from large-scale software projects
title_short An agile process for modeling logical architectures: demonstration cases from large-scale software projects
title_sort An agile process for modeling logical architectures: demonstration cases from large-scale software projects
topic agile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
topic_facet agile software development
agile modeling
large-scale agile
logical architectures
microservices architecture
ágil em larga escala
arquitetura de micro-serviços
arquiteturas lógicas
desenvolvimento ágil de software
modelação ágil
url https://hdl.handle.net/1822/77126
visible 1