An agile information flow consolidator for delivery of quality software projects: technological perspective from a South African start-upGaoussou, Abdel Kader Doukoure 05 1900 (has links)
In today’s knowledge-based economy, modern organisations understand the importance of technology in their quest to be considered global leaders. South African markets like others worldwide are regularly flooded with the latest technology trends which can complicate the acquisition, use, management and maintenance of software. To achieve a competitive edge, companies tend to leverage agile methods with the best possible combination of innovative supporting tools as a key differentiator. Software technology firms are in this light faced with determining how to leverage technology and efficient development processes for them to consistently deliver quality software projects and solutions to their customer base. Previous studies have discussed the importance of software development processes from a project management perspective. African academia has immensely contributed in terms of software development and project management research which has focused on modern frameworks, methodologies as well as project management techniques. While the current research continues with this tradition by presenting the pertinence of modern agile methodologies, it additionally further describes modern agile development processes tailored in a sub-Saharan context. The study also aims novelty by showing how innovative sometimes disruptive technology tools can contribute to producing African software solutions to African problems. To this end, the thesis contains an experimental case study where a web portal is prototyped to assist firms with the management of agile project management and engineering related activities. Literature review, semi-structure interviews as well as direct observations from the industry use case are used as data sources. Underpinned by an Activity Theory analytical framework, the qualitative data is analysed by leveraging content and thematic oriented techniques. This study aims to contribute to software engineering as well as the information systems body of knowledge in general. The research hence ambitions to propose a practical framework to promote the delivery of quality software projects and products. For this thesis, such a framework was designed around an information system which helps organizations better manage agile project management and engineering related activities. / Information Science / Ph. D. (Information Systems)
Large-scale software development companies delivering market-driven products have introduced agile methodologies as the way of working to a big extent. Even though there are many benefits with an agile way of working, problems occur when scaling agile because of the increased complexity. One explicit problem area is to evolve deep product knowledge, which is a domain specific knowledge that cannot be developed anywhere else but at the specific workplace. This research aims to identify impediments for developing domain specific knowledge and provide solutions to overcome these challenges in order to optimize knowledge growth and throughput. The result of the research shows that impediments occur in four different categories, based on a framework for knowledge sharing drivers. These are people-related, task-related, structure-related and technology-related. The challenging element with knowledge growth is to integrate the training into the feature development process, without affecting the feature throughput negatively. The research also shows that by increasing the knowledge sharing, the competence level of the whole organization can be increased, and thereby be beneficial from many perspectives, such as feature-throughput and code quality.
Behaviour Driven Development a Scrum v korporátním prostředí / Behaviour Driven Development and Scrum in corporate environmentKulhánková, Barbora January 2015 (has links)
Agile software development methodologies these days are not used only in small enterprises or startups, they are getting spread around large enterprises as well. An evidence of this fact could be, that Scrum is nowadays the most commonly used approach to software development. So this thesis focuses on usage of agile approaches, Scrum methodology in particular, in large enterprises. Author presents an approach called Behaviour Driven development and proposes how this approach could help dealing with imperfections or barriers of Scrum when used in large enterprises. The major outcome of this thesis is author's own methodology called ScrumFlow, based on Scrum methodology and extended by Behaviour Driven Development approaches. ScrumFlow methodology is published on a website and available for free.
Theunissen, William Herman Morkel
15 July 2004
This study set out to determine various aspects of the agile approaches to software development. These included an investigation into the principles and practices driving these methodologies; determining the applicability of these approaches to the current software development needs; determining whether these methodologies can comply with software engineering standards (as set out for example by ISO); investigating the feasibility of these approaches for the telecommunication industry; establishing whether practitioners are reaping the benefits that are advertised by agile proponents; and attempting to discover short-comings of the agile paradigm. This dissertation examines the aforementioned issues and tries to provide answers to them. It is argued that: Agile software development is suited to projects where the system evolves over the life cycle of the project. These methodologies are intended to seamlessly handle changing requirements. Thus, using an agile approach might provide a competitive advantage in developing e-business solutions which are tightly coupled with the business strategy and needs. It is shown that agile methodologies can comply with software engineering standards such as ISO 12207:1995 and ISO 15288:2002. Furthermore diligent application of certain agile methodologies may result in a level 3 Capability Maturity Model (CMM) grading. Evidence from the feedback of a case study conducted on an XP project team, supports the view that XP, and agile in general, does indeed live up to its 'promises'. However, some potential problem areas were identified that should be kept in mind when implementing these methodologies. Finally, an in situ investigation suggests that there are a number of projects in the telecommunication industry that will benefit from the agile approach and its practices. / Dissertation (MSc)--University of Pretoria, 2005. / Computer Science / unrestricted
Johansson, Felix, Uppugunduri, Samir
The basic aim for any software development organization is to maximize value creation for any given investment. To amplify and speed up value creation efforts, Agile Software Development has gained much popularity during the last decade as a response to a volatile and disruptive market. In an Agile environment, the team focuses on lightweight working practices, constant deliveries and customer collaboration rather than heavy documentation and inflexible processes. However, the Agile way of working has complicated how an organization can control and evaluate the process; allowing organizations to believe that all Agile processes is the ideal process. This master thesis was conducted as a case study at Sectra ImIT, an Agile Health IT company working with Imaging and IT solutions that is currently in an early phase of introducing metrics in the System Development process. The purpose of this thesis was to investigate and suggest how the organization could use metrics to control and evaluate value creation in the System Development process. It also aimed to provide strategic recommendations to such an organization how they could continue their work with implementing and using metrics. The descriptive and exploratory purpose of this study was realized through unstructured and semistructured interviews with people involved in the process as well as observations. One of the major findings in this thesis is related to a missing feedback loop from defects occurring at customer site to the internal System Development process. Therefore, this study developed and implemented a concept to generate this feedback. The concept builds on defect information that can be used both to generate feedback and statistics for evaluation. The second major finding in this study is related to the identification of barriers to why the organization is not using metrics in teams to control and evaluate the process. Based on these findings, the authors presented several recommendations that should be considered to create a culture where teams are using metrics to learn more about the process. The first recommendation is that the organization should set guidelines among teams of what should, and is desired to be evaluated with focus on information need. Secondly, metrics need to be higher prioritized through directives from management granting team’s resources to manage metrics, which at the same time provides incentives that the organization believe metrics could improve their work. Thirdly, based on the company context, teams should identify metrics based on an information need derived from their prioritizations, changes, decisions and what is currently left unanswered. Finally, metrics should primarily be used to provide means for discussion and provide feedback with focus on trends rather than absolute numbers. / Det huvudsakliga målet för ett godtyckligt företag inom mjukvaruutveckling är att maximera det värde som skapas i varje enskild investering. För att förstärka och snabba upp värdeskapande har Agil mjukvaruutveckling växt i popularitet som en respons mot volatila och osäkra marknader. I en Agil miljö fokuserar grupper på ”lättviktade” arbetsmetoder, kontinuerliga leveranser och kundsamarbeten över det tidigare arbetssättet som bestod av mycket dokumentation och inflexibla processer. Samtidigt har det Agila arbetssättet gjort det svårt för organisationer att kontrollera och utvärdera processen, vilket har resulterat i att organisationer antar att deras Agila process är ideal och välfungerande med avsaknad av belägg för det. Detta examensarbete genomfördes som en fallstudie på Sectra ImIT, ett Agilt företag inom medicinsk teknik med fokus på bildhanteringssystem och IT lösningar. Företaget är i en tidig fas av att undersöka och introducera mätetal i systemutvecklingsprocessen, där syftet med examensarbetet var att utvärdera och föreslå hur organisationen kunde använda mätetal för att kontrollera och utvärdera värdeskapande i processen. Därtill ämnade studien även att ge strategiska förslag på hur företaget i framtiden kan arbeta med att implementera och använda sig av mätetal. Det deskriptiva och explorativa syftet realiserades genom ostrukturerade och semi-strukturerade intervjuer samt observationer med människor som dagligen arbetade inom processen. En iakttagelse var kopplad till avsaknaden av återkoppling mellan de defekter som uppkommer ute hos kund tillbaka till systemutvecklingsprocessen. Detta resulterade i ett koncept som utvecklades och implementerades av författarna med syfte att skapa återkoppling och möjlighet till statistisk utvärdering av processen som helhet. Den andra iakttagelsen berörde ett antal anledningar till varför organisationen inte använder mätetal i teams för att kontrollera och utvärdera processen. Baserat på en analys av dessa presenterar författarna flertalet rekommendationer som företaget borde ta hänsyn till för att skapa en kultur som främjar användandet av mätetal för att skapa ytterligare förståelse för processen. Den första rekommendationen är att organisationen bör diskutera riktlinjer gemensamt för teams gällande vad som anses önskvärt att utvärdera, med fokus på informationsbehov. Därtill bör organisationen uppmana teams till att allokera mer resurser på mätetal, vilket samtidigt ger incitament att det är något företaget tror kan hjälpa teams att bli bättre. Utifrån företagets kontext bör teams själva tillåtas att identifiera mätetal baserat på deras informationsbehov som ett resultat av exempelvis prioriteringar, förändringar, beslut och vad som för tillfället är obesvarat. Slutligen ska mätetal användas i huvudsak som en grund för diskussion och feedback med fokus på trender snarare än att uppnå specifika mål.
In this master thesis two different worldviews are compared: a mechanistic, and an organic worldview. The way we think the world and the nature work reflects on how we think organizations work, or how they ought to work. The mechanistic worldview has dominated our way of thinking since the seventeenth century, and it compares the world with a machine. The organic worldview could use a number of different metaphors, but the one addressed in this thesis is complexity theory. Complexity theory is related to chaos theory and is concerned with complex adaptive systems (cas). Complex adaptive systems exist everywhere and are systems such as the human immune system, economies, and ecosystems. What complexity theory tries to do is to understand these systems—how they arise, how they function and how order emerge in them. When looking at complex adaptive systems you can’t just look at the different parts. You must take a more holistic view and look at the whole and the interaction of the parts. If you just look at the parts you will miss the emergent properties that have emerged as the system has self-organized. One prominent aspect of these systems is that they don’t have any central authority, but somehow order do arise. In relation to organizations, complexity theory has something to say about almost all aspects of organizations: from what kind of leadership is needed, and how teams should be organized to the physical structure of the organization. To understand what complexity theory is and how to relate that to (software developing) organizations is the main focus of this thesis. Scrum is an agile and lightweight process which can be applied on development projects in general, but have been used in such diverse examples as software development projects, marketing programs, and business process reengineering (BPR) initiatives. In this thesis Scrum is used as an example of how to apply complexity theory to organizations. The result of the thesis showed that Scrum is highly influenced and compatible with complexity theory, which implies that complexity theory is of some use in software development. However, there are more work to be done to determine how effective it is, how to introduce it into organizations, and to explore more specific implementations. This master thesis should give the reader a good understanding of what complexity theory is, some specific issues to consider when applying complexity theory on organizations, and some specific examples of how to apply complexity theory on organizations.
Manyam, Venkata Sarath Chandra, Kurapati, Narendra
Context: Agile practices have created its own mark on recent software development strategies. The significance of agile core values and principles attracted several organizations towards agile software development. Agile methods incorporate core values & principles, whereas agile practices define how agile methods are implemented in practice. However, it is still unclear, which combinations of agile practices are adopted in practice and how are they adapted. Objectives: In this research, our main aim is to find the combinations of agile practices that are most commonly adopted in practice, which includes identifying the practices which mostly appear together and finding the evidences for adaptations of agile practices. Methods: We have developed a survey to collect empirical evidence regarding agile practice adoption and adaptation. The survey is based on a framework consisting of a set of questions to determine agile practice adoption and adaptation. The framework was validated with researchers and practitioners through interviews. In order to identify the practices and possible adaptations we conducted a literature review. The sample population of the survey includes primarily project managers, developers, agile coaches and system types includes majority of information systems, commercial type of software, outsourced and embedded. Results: We have collected 109 responses with the survey. It is important to make the tradeoff between the length of the survey and quality of the responses, so, we needed to pose many questions with regard to the ways how the practices are tailored/adapted. We found that there are certain practices which were given highest priority and mostly appear together, certain practices appears only with particular combinations of practices. Regarding practice adaptations, the empirical findings show the adaptations of each individual practice. Moreover, regarding employee and customer satisfaction, the results indicate that there is a significant level of satisfied employees and customers with agile software development. A conceptual model of agile practices and performance is developed and presented to make a better understanding of implications for practice. Conclusions: During adoption there are certain set of agile practices that were given higher importance, given highest priority during selection and also mostly appears together. Moreover, there are certain practices which are considered as most important, but are given with less priority during selection by practitioners. Furthermore, the empirical findings supports practice adaption depends on change in context factors. Finally, it is interesting to see that almost all of the stakeholders in agile software development are satisfied with its nature.
Saarnak, Stefan, Gustafsson, Björn
In the software industry a number of different software processes has been used throughout the years to address known problems with software development, despite their intention complains has been raised that some of these are too bureaucratic. The Agile Alliance was formed in 2001 and aimed to solve this problem, they developed a manifesto and twelve principles which are supported by all Agile software processes. The purpose with the manifesto and its principles is to uncover better ways of developing software and these are by many intercessors of Agile seen as common sense and not completely new ideas. The aim with this master thesis is to answer the question if companies that explicitly claim that they do not use any Agile software process are already applying some of these ideas since they are thought of as obvious and common sense. The comparison in this thesis is performed between the project lifecycles used in specific projects by five non-Agile software companies and four identified lifecycle characteristics and two more general characteristics of the Agile software processes Extreme Programming (XP) and Dynamic Systems Development Method (DSDM). The result from the analysis of these interviews has shown that it is very difficult to decide if a software company really is working as described by XP or DSDM, this is due to that many different factors affect the final outcome. For example type of project and is the software company using different software processes for different kinds of projects. Since we just covered specific projects we were only able to conclude with absolute certainty actions that really were performed in just these projects. The project lifecycles of these software companies had some similarities with the above mentioned Agile software processes, but as a whole the analysis showed that they are quite different due to that two very important characteristics according to us, namely iterative development and frequent releases, were not applied by any of the software companies and that their project phases differed tremendously compared to XP and DSDM. Our common sense hypothesis for Agile software development was shown in this investigation to be incorrect since important activities were not performed by any of the software companies. Instead of using an iterative approach with frequent releases they all followed sequential waterfall like software processes.
Saripalli, Phani Shashank, Darse, David Hem Paul
Context: In the last decade, Agile software development methods were proposed as a response to plan-driven methods. The main aim for this paradigm shift was to cope up with constant changes. Core values that are central to agile methods are described in Agile Manifesto. Agile practices define how agile methods are implemented in practice. Objectives: This study aims to investigate what practices were considered and adopted as part of agile philosophy, and identify evidence on the use of agile practices in reference to what defines agile. Methods: We conducted a systematic literature review. The review includes 186 primary studies published between 2000 and 2010. Quality assessment based on rigor and relevance as identified in the selected papers has been conducted. Non-empirical papers were classified based on themes they addressed. Empirical papers were analyzed based on two factors: 1. if they described the use of agile practices for a software project/product in general, 2. if they described the use of agile practices for a specific purpose/activity Application type, team size and experience of subjects in the primary studies were extracted. The alignment between practices reported in the studies with the core agile values is analyzed. Results: A total of 119 studies were conducted in industry and 67 in academia. Nearly half the papers published by researchers are non-empirical and present analysis of agile practices in various topics. Over half of the empirical papers were focused on evaluation/assessment of a specific aspect of agile. ‘Pair programming’ received most attention in this direction. Among the empirical studies that described agile practices for academic projects, ‘Pair programming’ and ‘Test driven development’ were the most considered practices. Among the 119 studies conducted in industry, 93 studies described the use of agile practices for the overall project/product development while the remaining studies described experiences of single practices like Pair Programming or the modification/adoption of agile for non-software aspects in software projects. Practices adopted have been ranked based on team size, practitioners’ experience and application type. A method for agile assessment based on core agile values is developed and exemplified. Conclusions: Practices that are considered agile vary with context although ‘Pair programming’, ‘Continuous integration’, ‘Refactoring and Testing continuous throughout the project are the most common practices used. ‘Test driven development’ was not highly adopted by practitioners. But it was not clear if test cases were written before code construction in projects where continuous testing was performed. However, this was completely opposite in academic projects. Practices ‘On-site frequently modified. In many of the studies inspected, practices adopted were not aligned with agile values. Although practices related to technical aspects of software development are in place, agile practices that focus aspects like ‘working together’ and ‘motivated individuals’ are often not used in practice. Moreover, many of the studies were not reported to an extent that it was possible to draw any inferences on the usability/applicability, benefits and limitations of the agile practices. To this end, a major implication is to improve the quality of the studies and a need for a common framework to report the results of agile practices’ adoption.
The impact of agile principles and practices on large-scale software development projects : A multiple-case study of two software development projects at Ericsson / Effekten av agila principer och praxis i storskaliga mjukvaruutvecklingsprojektLagerberg, Lina, Skude, Tor January 2013 (has links)
Agile software development methods are often advertised as a contrast to the traditional, plan-driven approach to software development. The reported and argued benefits on software quality, coordination, productivity and other areas are numerous. The base of empirical evidence to the claimed effects is however thin, and more empirical studies on the effects of agile software development methods in different contexts are needed, especially in large-scale, industrial settings. The purpose of the thesis was to study the impact of using agile principles and practices in large-scale software development projects at Ericsson and it was carried out as a multiple-case study of two projects. One of the projects had implemented a limited number of agile software development practices and was largely plan-driven, while the other project had fully adapted its organization and product design for agile software development. Propositions of possible effects of the use of agile principles and practices in the two projects were generated by a literature review. Empirical data was then collected from online surveys of project members, internal documents, personal contact with key project members and a collection of metrics, to study the presence of the proposed effects. The study was focused on eight different areas: internal software documentation, knowledge sharing, project visibility, pressure and stress, productivity, software quality and project success rate. Agile principles and practices were found to: Lead to a more balanced use of internal software documentation, when supported by sound documentation policies. Contribute to knowledge sharing. Increase project members’ visibility of the status of other teams and the entire project. Increase coordination effectiveness and reducing the need for other types of coordination mechanisms. Increase productivity. Possibly increase software quality. Additionally, the study showed that internal software documentation is important also in agile software development projects, and cannot fully be replaced with face-to-face communication. Further, it was clear that it’s possible to make a partial implementation of agile principles and practices, and still receive a positive impact. Finally, the study showed that it’s feasible to implement agile principles and practices in large-scale software development. It therefore contributes to understanding the effects of agile software development in different contexts.
Page generated in 0.1307 seconds