7 research outputs found
Techniques and Practices for Software Architecture Work in Agile Software Development
Since the publishing of Agile Manifesto in 2001, the agile software development has taken the world by storm. Agile software development does not emphasize the importance of software architecture, even though software architecture is often seen as a key factor for achieving the quality goals set for the software system. It has been even said that agile software development and software architecture are a clash of two cultures.In many software projects there is no need to consider software architecture anymore. For example, when designing a mobile application, the ecosystem forces the developer to use certain architecture style provided by the platform. In web development ready-made frameworks and project templates are available offering complete software architecture designs for the application developer.There are still domains and systems where careful architecture design is needed. When developing complex systems or systems with a long lifecycle, diligent software architecture design is a key to avoid massive rework during the development. It cannot be a coincidence that companies developing these kinds of systems struggle with agile software development the most.On the one hand, the goal of this thesis was to study software architecture practices used in agile software development in the industry. On the other hand, the goal was to develop new methods and techniques to support incremental software architecture working practices which can be aligned with agile methods such as Scrum. The study applied case study, interviews and design science as the main research methods.The results show that there are four main ways to carry out software architecture work while using agile methods. Basing on this result, models for aligning software architec-ture knowledge management were developed. These models can be used as guidelines for selecting the appropriate software architecture practices in an organization.As a part of the research work, an architecture knowledge repository was developed for sharing the knowledge in agile projects and for automatic software architecture document generation. Additionally, the results of this study show that by taking a decision-centric approach to software architecture evaluation, the evaluation method can be lightweight enough to make incremental evaluation a viable option. Similarly, existing software architecture evaluation methods can be boosted to fit agile software development by utilizing domain knowledge
A Quality Framework for Software Development (QFSD)
INTRODUCTION. This research delivers a new complete and prescriptive software development
framework, known as the Quality Framework for Software Development
(QFSD) for immediate use by software development practitioners. Whilst there
are a number of existing methodologies available, and many software
development standards they fail to address the complete development lifecycle.
A review of current literature supports this assertion.
AIMS AND OBJECTIVES. The overall aim of the research is to create a new software development
framework, applying it to a substantial number of real-world software projects in
two different industrial software development environments and thereby
demonstrating its effectiveness.
METHODS. Based on a review of the available research approaches and strategies, the
researcher selected 'pragmatism' as the most suitable for this research. This
selection was driven by two contributory factors. The first was that in order to
conduct the research the researcher would have active participation in the
majority of the research activities. The second was that the deliverables from the
research should be immediately useable for the benefit of software practitioners
and hence not be regarded as a theoretical framework. The approach was
further refined by adopting Action Research and Case Study strategies. The
research was divided in to stages each of which was executed within separate
companies. The companies were very different in terms of their business areas,
culture and views on quality and specifically quality of software deliverables.
RESULTS. The research findings provided a strong indication that a holistic software
development framework does provide an improvement in software project
deliverables quality and repeatability in terms of schedules and quality. In the
case of Fisher–Rosemount it enabled them to attain ISO 9000/Ticket
accreditation. In addition, by providing all processes and tools in a single web
based environment the adoption by software developers, project managers and
senior management was very high
Reconciling agility and architecture: a theory of agile architecture
The purpose of agile software development is to enable the software development team to respond to change and learn from change so that it can better deliver value to its customer. If an agile software development team spends too much time planning and designing architecture up-front then the delivery of value to the customer is delayed or otherwise compromised, and responding to change can become extremely difficult. Not doing enough architecture design increases exposure to risk and increases the chance of failure. The balance between architecture and agility is not well understood by agile practitioners or researchers.
This thesis is based on grounded theory research involving 44 participants from 36 organisations, all working in agile software development and who are either experienced in architecture design or are closely involved with architecture. The thesis presents a theory that describes how agile software teams design an agile architecture with reduced up-front design and which is able to respond to change, helping teams find a balance between architecture and agility.
The theory describes six forces that affect the agility of the architecture and up-front design, and five strategies that teams use in response to those forces to determine how much effort they put into up-front design. Understanding these forces and strategies helps agile teams to determine how much up-front design is appropriate in their contexts
Long-distance travels routes and mappings
Tal como a experiência do amor, a experiência de se tornar e ser viajante dispensa guias e bordões. Vai-se, está-se e volta-se na esperança de que o tempo de espera até à próxima partida nos traga a redenção de que aquilo que nos move mora dentro de nós e coincide com uma realidade que é ao mesmo tempo interior e exterior. Somos largados mundo fora, tantas vezes mundo dentro, com uma força e um arrebatamento tais que, ao desapossarmo-nos da segurança de um viver linear e rotineiro, recebemos o consolo libertador de que estar com outros em lugares próximos ou distantes, tantas vezes em lugar nenhum, porque ele é a nossa construção, descobrimos um prazer que atravessa todos os nossos órgãos até ao arrepio extáctico.
A obra Viagens de Longo Curso – Roteiros e Mapeações faz o cruzamento de histórias contadas por pessoas que se conhecem e estimam há muito tempo, e que se foram destinando a muitos lugares. Antes de viajarem pelo discurso e pela imagem estes testemunhos foram iniciação da vida em nós.info:eu-repo/semantics/publishedVersio
Inside a secret software lab: an ethnographic study of a global software package producer
This is an ethnographic study of the creation of a particular type of standard
enterprise software package: Enterprise Resource Planning (ERP) systems,
which support wide-ranging organisational functions within large and
medium sized enterprises. Drawing upon the Social Shaping of Technology
perspective and recent related attempts to theorise the Biography of
Artefacts, this thesis addresses the under-researched area of ERP system
development and ERP system support. In providing a system vendor’s
viewpoint, it seeks to overcome current shortcomings in social research,
notably from Information Systems and Organisational Studies, which focus
almost exclusively on a user organisation perspective. Mostly concentrating
on the moment of implementation, existing studies do not help us to better
understand the software producer’s viewpoint or to find explanations as to
how ERP systems are produced and supported in such a way that they can
meet the specific requirements of their highly diverse users (the current
market leader SAP had over 12 million users (2008)). Overall, we have very
limited understanding of what happens within software package laboratories
and how such organisations organise their relationship with their wide and
diverse user base throughout the different phases of the product life cycle.
Addressing this gap in the social study of software packages, this research
offers an ethnographical insider’s perspective of the day-to-day working
practices within one of the world’s leading ERP system providers,
encompassing both its development and support functions. Based on rich
ethnographic data, the study demonstrates first, how a supplier manages its
relationship with its diverse user base during the moment when the system
re-enters the vendor’s circle of responsibility through the software packages
support channel. The sophisticated and mature mechanisms and policies are
highlighted, which allow the vendor - not without challenges – to
accommodate competing exigencies of its user base at this moment of
product life cycle. Second, this research highlights how the software
development phase is organised, by empirically describing and analysing
from a social viewpoint, the software development process during a period of
organisational change, in which the vendor reorganises itself in search for a
new way to respond to the expectations of the market. Third, the account
reveals unexpected communitarian behaviour amongst software developers
at all levels, demonstrating the social character of programming, a feature
which has not been adequately recognised by current studies in this area.
Fourth, overall, this study highlights the need for a change of the current
research agenda in social software package research towards a vendor
organisation’s perspective, if we aim for a more complete understanding of
the social aspects such type of technology
CULTURAL ROOTS OF TECHNOLOGY: AN INTERDISCIPLINARY STUDY OF AUTOMATED SYSTEMS FROM THE ANTIQUITY TO THE RENAISSANCE
The aim of this research work is to outline the history of proto-cybernetic systems throughout antiquity, Middle Ages and Renaissance. After identifying what are considered the main characteristics of an automaton, we examine all technical, literary, historical available sources, in order to get the descriptions not only of the actually built or designed automata, but also of the ones that were imagined in literary texts. From the work of historical reconstruction it has also been possible to make a classification of ancient automata, thanks to a UML representation of their operation. This classification of the types of automata and of the actions they could perform (or attributed to them) made it possible to build a matrix of distances of more than 200 automata (and of their features) with the Minkowski algorithm and consequently to get a philomemetic tree (with the software MEGA 4.0), which describes automata evolution over the period