19 research outputs found

    Selection of third party software in Off-The-Shelf-based software development: an interview study with industrial practitioners

    Get PDF
    The success of software development using third party components highly depends on the ability to select a suitable component for the intended application. The evidence shows that there is limited knowledge about current industrial OTS selection practices. As a result, there is often a gap between theory and practice, and the proposed methods for supporting selection are rarely adopted in the industrial practice. This paper's goal is to investigate the actual industrial practice of component selection in order to provide an initial empirical basis that allows the reconciliation of research and industrial endeavors. The study consisted of semi-structured interviews with 23 employees from 20 different software-intensive companies that mostly develop web information system applications. It provides qualitative information that help to further understand these practices, and emphasize some aspects that have been overlooked by researchers. For instance, although the literature claims that component repositories are important for locating reusable components; these are hardly used in industrial practice. Instead, other resources that have not received considerable attention are used with this aim. Practices and potential market niches for software-intensive companies have been also identified. The results are valuable from both the research and the industrial perspectives as they provide a basis for formulating well-substantiated hypotheses and more effective improvement strategies.Peer ReviewedPostprint (author's final draft

    Models of scientific software development

    Get PDF
    Over the past decade, I have performed several field studies with scientists developing software either on their own or together with software engineers. Based on these field study data, I identify a model of scientific software development as practiced in many scientific laboratories and communities. This model does not fit the standard software engineering models. For example, the tasks of requirement elicitation and software evaluation are not clearly delineated. Nevertheless, it appears to be successful within the context in which it is used. In the context in which scientists collaborate with software engineers, however, I describe problems which arose from the clash of this model with a traditional,phased software engineering model. Given these models, I discuss the issues which have to be addressed in order to determine the software techniques and tools which might best support scientific software development in different contexts

    Reporting experiments to satisfy professionals information needs

    Get PDF
    Although the aim of empirical software engineering is to provide evidence for selecting the appropriate technology, it appears that there is a lack of recognition of this work in industry. Results from empirical research only rarely seem to find their way to company decision makers. If information relevant for software managers is provided in reports on experiments, such reports can be considered as a source of information for them when they are faced with making decisions about the selection of software engineering technologies. To bridge this communication gap between researchers and professionals, we propose characterizing the information needs of software managers in order to show empirical software engineering researchers which information is relevant for decision-making and thus enable them to make this information available. We empirically investigated decision makers? information needs to identify which information they need to judge the appropriateness and impact of a software technology. We empirically developed a model that characterizes these needs. To ensure that researchers provide relevant information when reporting results from experiments, we extended existing reporting guidelines accordingly.We performed an experiment to evaluate our model with regard to its effectiveness. Software managers who read an experiment report according to the proposed model judged the technology?s appropriateness significantly better than those reading a report about the same experiment that did not explicitly address their information needs. Our research shows that information regarding a technology, the context in which it is supposed to work, and most importantly, the impact of this technology on development costs and schedule as well as on product quality is crucial for decision makers

    Towards a software development methodology for projects in higher education institutions

    Get PDF
    All educational institutions in the United States have certain particularities that differentiate them from many other public and private institutions. Some of these particularities include, among many others: academic year cycles that set very specific constraints and hard deadlines to the delivery of any tangible and intangible projects the institution is trying to accomplish; an always changing population of constituents that will be associated with the institution for a limited amount of time; and federal and state laws that are always evolving and that require the institutions to promptly act and adapt to fulfill the expectations set, in order to avoid severe lawsuits and fines. As any other teams working in projects for educational institutions, software development teams are also heavily constrained by these particularities. This makes the adoption of Software Development Methodologies that perfectly fit other industries a daunting challenge, if not almost impossible, for these teams. Software development teams in higher education are always in the need of finding a way to adapt to these challenges and efficiently perform their projects in order to address the rapid changes occurring not only in the education sector, but also in the technology industry in general. The purpose of the research in this thesis was to identify opportunities and challenges of software development methodologies used in higher education and to recommend a software development methodology to be used by software development teams working for those institutions

    Best Practices for Implementing Agile Methods: A Guide for Department of Defense Software Developers

    Get PDF
    Traditional plan-driven software development has been widely used in the government because it\u27s considered to be less risky, more consistent, and structured. But there has been a shift from this approach to Agile methods which are more flexible, resulting in fast releases by working in an incremental fashion to adapt to the reality of the changing or unclear requirements. This report describes the Agile software development philosophy, methods, and best practices in launching software design projects using the Agile approach. It is targeted to Defense Department software developers because they face broad challenges in creating enterprise-wide information systems, where Agile methods could be used most effectively. Though not a panacea, agile methods offer a solution to an important class of problems faced by organizations today. Technology and E-Government

    Selecting the right method for the right project

    Get PDF
    The development of information systems is constantly changing. As a background of the change, there is almost a traditional problem about the high failure rates of information systems development (ISD) projects, but it is no longer the only change-driving force. The role of information systems and their strategic significance has increased considerably due digitalization. This has happened also in the areas of business, which have not been traditionally thought as IT-oriented. Furthermore, the new agile development methods have forced ISD clients to take more responsibility for ISD than before. In practice, this means that completely outsourcing ISD is not as sensible nor as simple as before. ISD clients who acquire information systems must be aware of the different ISD methods and be able to compare and choose the most suitable for the business situation and the objectives in question. ISD method selection is rarely studied, and the majority of publications concentrate on different selection criteria relating to the ISD method choice without a clear selection model. Only a few ISD method selection models were found in the literature. Furthermore, the earlier ISD method selection models are restricted by two factors: firstly, the recommendations behind the prior ISD selection models do not correspond to today’s thoughts about the ISD methods; secondly, prior ISD selection models concentrate only on the properties of the ISD pro-jects, and attention is not really given to the business environment or the business to be developed. In a situation like this, it was considered necessary to develop and study an ISD selection framework which takes the business development and business environment into account as well. Furthermore, it was seen as necessary to study both the customer and supplier practices related to the ISD method choice. The objective was to understand the present situation and estimate how the developed ISD selection framework could be utilized in the future. The study was carried out in several stages. Firstly, two unsuccessful ISD projects were studied in the case study, and it was found that the ISD method used in the projects did not correspond to the properties of the business environment in either case. After that, a contingency theory–motivated ISD selection framework was developed, and a systematic literature review was conducted to study earlier ISD method selection criteria and compare them with the developed ISD method selection framework. In the next stage, expert interviews were done. Altogether, 31 ISD experts working on the borderline between the IS sup-plier and client were interviewed and asked their opinions on existing ISD method selection practices by both the client and the supplier. Furthermore, the experts were asked for their opinions on the recommendations of earlier ISD method selection models and on the developed ISD method selection framework. As a result of the study, it can be stated that the developed ISD method framework covers both the previous ISD method selection criteria, which mainly concentrates on ISD project factors, and the business environment factors. Whereas the majority of the interviewed experts considered the developed ISD method selection framework useful, the recommendations of earlier ISD method selection models were regarded as outdated. Furthermore, it was noticed that in IS client organizations, there was almost no discussion about the ISD methods, and in the supplier organizations, the discussion was very rare. Any systematic projectspecific ISD method selection practice had not been perceived in either organizations. Supplier organizations can justify their reasons for favouring a certain ISD method with the bounded rationality, whereas the operation of customer companies doing (or not doing) the ISD method selection seems to be filling the features of functional stupidity. In the future, it is important to study how to plant the ISD method selection as part of the starting stage of the ISD project. In addition, the developed ISD method selection framework should be tested in the practice.Tietojärjestelmien kehittäminen on jatkuvassa murroksessa. Muutoksen taustalla on jo perinteiseksi muodostunut ongelma tietojärjestelmäprojektien epäonnistumisesta, mutta se ei ole enää ainoa syy. Digitalisaation myötä tietojärjestelmien rooli ja strateginen merkitys on kasvanut huomattavasti myös sellaisilla liiketoiminta-alueilla, joita ei ole ajateltu IT-orientoituneina. Lisäksi uudet ketterät tietojärjestelmien kehittämismenetelmät osallistavat tietojärjestelmäprojektien asiakkaat, jotka joutuvat entistä vastuullisempaan asemaan. Käytännössä tämä kaikki merkitsee sitä, että tietojärjestelmien kehittämisen täydellinen ulkoistaminen ei enää ole yhtä mielekästä, eikä myös yhtä yksinkertaista kuin ennen. Tässä tilanteessa myös tietojärjestelmiä hankkivan asiakkaan pitää tietää erilaisista kehittämismenetelmistä ja kyetä vertailemaan ja valitsemaan kyseiseen liiketoimintatilanteeseen ja tavoitteisiin parhaiten sopiva kehittämismenetelmä. Tietojärjestelmien kehittämismenetelmien valintaa on tutkittu vähän ja suurin osa löydetyistä julkaisuista keskittyy listaamaan erilaisia menetelmävalintaan liittyviä kriteerejä. Varsinaisia tietojärjestelmien kehitysmenetelmien valintamalleja on esitetty vain muutamia. Aiempien valintamallien käyttökelpoisuutta rajoittaa kaksi tekijää: ensinnäkin mallien taustalla olevat olettamukset eivät välttämättä täsmää tämän päivän ajatuksiin kehittämismenetelmistä, ja toisekseen valintamallit keskittyvät tietojärjestelmien kehittämisprojektien ominaisuuksiin, kehitettävää liiketoimintaa tai liiketoimintaympäristöä ei aikaisemmissa valintamalleissa juurikaan huomioida. Tilanteen ollessa tämä kehitimme ja tutkimme tietojärjestelmän kehittämismenetelmien valintamallia, joka ottaa huomioon myös samaan aikaan tapahtuvan liiketoiminnan kehittämisen ja liiketoimintaympäristön. Lisäksi tutkimme tietojärjestelmän kehittämismenetelmien valintaan liittyviä käytäntöjä sekä asiakkaan että toimittajan näkökulmasta. Tavoitteena oli ymmärtää menetelmävalinnan nykytilannetta ja arvioida miten valintamallia voisi jatkossa hyödyntää. Tutkimus toteutettiin useammassa vaiheessa. Ensimmäiseksi tapaustutkimuksin tutkittiin kahta epäonnistunutta tietojärjestelmäkehitysprojektia, ja havaittiin että kummassakaan tapauksessa valittu tietojärjestelmän kehittämismalli ei vastannut liiketoimintaympäristön tarpeita. Sen jälkeen kehitimme kontingenssiteoreettisen tietojärjestelmän kehitysmenetelmän valintamallin, jota verrattiin systemaattisella kirjallisuuskatsauksella löydettyihin aikeisempiin valintasuosituksiin. Vertailun jälkeen haastateltiin 31 asiantuntijaa. Haastatteluilla selvitettiin nykyisiä tietojärjestelmän kehitysmenetelmien valintaan liittyviä käytäntöjä, niin tietojärjestelmäasiakkaan kuin toimittajan näkökulmasta. Lisäksi asiantuntijoilta kysyttiin heidän mielipidettään aiempien valintamallien taustalla olevista väittämistä sekä nyt kehitetystä valintamallista. Tulos on, että ehdottamamme kontingessimalli kattaa sekä aiemmat, projektinominaisuuksiin keskittyvät valintakriteerit, että myös liiketoimintaympäristön epävarmuuteen liittyvät tekijät. Suurin osa haastatelluista asiantuntijoista (23 vastaajaa 31 haastatellusta) piti ehdotettua valintamallia käyttökelpoisena. Aiempien valintamallien taustalla olevat väittämät koettiin ajastaan jälkeen jääneiksi. Lisäksi havaittiin, että asiakasyrityksissä keskustelua tietojärjestelmän kehittämismenetelmistä ei käytännössä ollut juuri lainkaan, eikä myöskään suurimmassa osassa toimittajayrityksiä. Mitään säännöllistä projektikohtaista valintakäytäntöä ei kummissakaan yrityksissä oltu havaittu. Haastateltujen asiantuntijoiden mukaan kehittämisprojekteissa kuitenkin pääsääntöisesti käytetään jotain tietojärjestelmän kehittämismenetelmää, ja syyt menetelmän käyttöön vaihtelevat. Toimittajayritysten syyt tietyn menetelmän suosimiseen ovat pääosin perusteltavissa rajoitetulla rationaalisuudella (bounded rationality), kun taas asiakasyritysten toiminta menetelmän valinnassa näyttää täyttävän toiminnallisen typeryyden (functional stupidity) tunnuspiirteet. Jotta kehitetystä mallista tulee asiakasyrityksille hyödyllinen käytännön työkalu, on seuraavaksi syytä tutkia miten tietojärjestelmän kehittämismenetelmän valinta saadaan osaksi projektin käynnistämisvaiheen tehtäviä. Tärkeää on myös testata nyt esitetyn kontingenssimallin toimivuutta käytännön tilanteissa

    Project Management Competencies Leading to Technology Implementation Success at a Community College

    Get PDF
    The problem addressed in this study was to understand the knowledge gap between project management competencies available and those needed for successful implementation of technology projects at a community college. The purpose of the qualitative study was to evaluate, compare, and analyze the performance of project managers of 2 large technology projects in a specific community college with respect to each other and what was known about achieving project success at a public institution of higher education (IHE). The research questions for this study examined the competencies exhibited by the project leaders, the success parameters established for the projects, and how the individual project leaders were selected. The conceptual frameworks that supported this study were enterprise wide technology implementation, project management, success assessment, and public IHE operational structures. A comparative case study approach using responsive interviewing techniques with 10 stakeholders from each of the projects yielded dialog that was coded in combination with documentation and observation evidence using recognized competency standards. The relationships and significance of patterns found in this data were analyzed against the proposition that the level of project success is a function of the application of project management competencies of the project leader. The results identified 9 elements that characterized competencies specific to effective project outcome success within the context of the community college. The results contribute to positive social change include implementation of organizational project management initiatives that will enable community colleges to continue to serve a vital role in providing an affordable college education

    A Model-Driven Approach for the Design, Implementation, and Execution of Software Development Methods

    Full text link
    [EN] Software development projects are diverse in nature. For this reason, software companies are often forced to define their methods in-house. In order to define methods efficiently and effectively, software companies require systematic solutions that are built upon sound methodical foundations. Providing these solutions is the main goal of the Method Engineering discipline. Method Engineering is the discipline to design, construct, and adapt methods, techniques, and tools for the development of information systems. Over the last two decades, a lot of research work has been performed in this area. However, despite its potential benefits, Method Engineering is not widely used in industrial settings. Some of the causes of this reality are the high theoretical complexity of Method Engineering and the lack of adequate software support. In this thesis, we aim to mitigate some of the problems that affect Method Engineering by providing a novel methodological approach that is built upon Model-Driven Engineering (MDE) foundations. The use of MDE enables a rise in abstraction, automation, and reuse that allows us to alleviate the complexity of our Method Engineering approach. Furthermore, by leveraging MDE techniques (such as metamodeling, model transformations, and models at runtime), our approach supports three phases of the Method Engineering lifecycle: design, implementation, and execution. This is unlike traditional Method Engineering approaches, which, in general, only support one of these phases. In order to provide software support for our proposal, we developed a Computer-Aided Method Engineering (CAME) environment that is called MOSKitt4ME. To ensure that MOSKitt4ME offered the necessary functionality, we identified a set of functional requirements prior to developing the tool. Then, after these requirements were identified, we defined the architecture of our CAME environment, and, finally, we implemented the architecture in the context of Eclipse. The thesis work was evaluated by means of a study that involved the participation of end users. In this study, MOSKitt4ME was assessed by means of the Technology Acceptance Model (TAM) and the Think Aloud method. While the TAM allowed us to measure usefulness and ease of use in a subjective manner, the Think Aloud method allowed us to analyze these measures objectively. Overall, the results were favorable. MOSKitt4ME was highly rated in perceived usefulness and ease of use; we also obtained positive results with respect to the users' actual performance and the difficulty experienced.[ES] Los proyectos de desarrollo de software son diversos por naturaleza. Por este motivo, las compañías de software se ven forzadas frecuentemente a definir sus métodos de manera interna. Para poder definir métodos de forma efectiva y eficiente, las compañías necesitan soluciones sistemáticas que estén definidas sobre unos fundamentos metodológicos sólidos. Proporcionar estas soluciones es el principal objetivo de la Ingeniería de Métodos. La Ingeniería de Métodos es la disciplina que aborda el diseño, la construcción y la adaptación de métodos, técnicas y herramientas para el desarrollo de sistemas de información. Durante las dos últimas décadas, se ha llevado a cabo mucho trabajo de investigación en esta área. Sin embargo, pese a sus potenciales beneficios, la Ingeniería de Métodos no se aplica ampliamente en contextos industriales. Algunas de las principales causas de esta situación son la alta complejidad teórica de la Ingeniería de Métodos y la falta de un apropiado soporte software. En esta tesis, pretendemos mitigar algunos de los problemas que afectan a la Ingeniería de Métodos proporcionando una propuesta metodológica innovadora que está basada en la Ingeniería Dirigida por Modelos (MDE). El uso de MDE permite elevar el nivel de abstracción, automatización y reuso, lo que posibilita una reducción de la complejidad de nuestra propuesta. Además, aprovechando técnicas de MDE (como por ejemplo el metamodelado, las transformaciones de modelos y los modelos en tiempo de ejecución), nuestra aproximación da soporte a tres fases del ciclo de vida de la Ingeniería de Métodos: diseño, implementación y ejecución. Esto es a diferencia de las propuestas existentes, las cuales, por lo general, sólo dan soporte a una de estas fases. Con el objetivo de proporcionar soporte software para nuestra propuesta, implementamos una herramienta CAME (Computer-Aided Method Engineering) llamada MOSKitt4ME. Para garantizar que MOSKitt4ME proporcionaba la funcionalidad necesaria, definimos un conjunto de requisitos funcionales como paso previo al desarrollo de la herramienta. Tras la definción de estos requisitos, definimos la arquitectura de la herramienta CAME y, finalmente, implementamos la arquitectura en el contexto de Eclipse. El trabajo desarrollado en esta tesis se evaluó por medio de un estudio donde participaron usuarios finales. En este estudio, MOSKitt4ME se evaluó por medio del Technology Acceptance Model (TAM) y del método Think Aloud. Mientras que el TAM permitió medir utilidad y facilidad de uso de forma subjetiva, el método Think Aloud permitió analizar estas medidas objetivamente. En general, los resultados obtenidos fueron favorables. MOSKitt4ME fue valorado de forma positiva en cuanto a utilidad y facilidad de uso percibida; además, obtuvimos resultados positivos en cuanto al rendimiento objetivo de los usuarios y la dificultad experimentada.[CA] Els projectes de desenvolupament de programari són diversos per naturalesa. Per aquest motiu, les companyies es veuen forçades freqüenment a definir els seus mètodes de manera interna. Per poder definir mètodes de forma efectiva i eficient, les companyies necessiten solucions sistemàtiques que estiguin definides sobre uns fundaments metodològics sòlids. Proporcionar aquestes solucions és el principal objectiu de l'Enginyeria de Mètodes. L'Enginyeria de Mètodes és la disciplina que aborda el diseny, la construcció i l'adaptació de mètodes, tècniques i eines per al desenvolupament de sistemes d'informació. Durant les dues últimes dècades, s'ha dut a terme molt de treball de recerca en aquesta àrea. No obstant, malgrat els seus potencials beneficis, l'Enginyeria de Mètodes no s'aplica àmpliament en contextes industrials. Algunes de les principals causes d'aquesta situació són l'alta complexitat teòrica de l'Enginyeria de Mètodes i la falta d'un apropiat suport de programari. En aquesta tesi, pretenem mitigar alguns dels problemes que afecten a l'Enginyeria de Mètodes proporcionant una proposta metodològica innovadora que està basada en l'Enginyeria Dirigida per Models (MDE). L'ús de MDE ens permet elevar el nivell d'abstracció, automatització i reutilització, possibilitant una reducció de la complexitat de la nostra proposta. A més a més, aprofitant tècniques de MDE (com per exemple el metamodelat, les transformacions de models i els models en temps d'execució), la nostra aproximació suporta tres fases del cicle de vida de l'Enginyeria de Mètodes: diseny, implementació i execució. Açò és a diferència de les propostes existents, les quals, en general, només suporten una d'aquestes fases. Amb l'objectiu de proporcionar suport de programari per a la nostra proposta, implementàrem una eina CAME (Computer-Aided Method Engineering) anomenada MOSKitt4ME. Per garantir que MOSKitt4ME oferia la funcionalitat necessària, definírem un conjunt de requisits funcionals com a pas previ al desenvolupament de l'eina. Després de la definició d'aquests requisits, definírem la arquitectura de l'eina CAME i, finalment, implementàrem l'arquitectura en el contexte d'Eclipse. El treball desenvolupat en aquesta tesi es va avaluar per mitjà d'un estudi on van participar usuaris finals. En aquest estudi, MOSKitt4ME es va avaluar per mitjà del Technology Acceptance Model (TAM) i el mètode Think Aloud. Mentre que el TAM va permetre mesurar utilitat i facilitat d'ús de manera subjectiva, el mètode Think Aloud va permetre analitzar aquestes mesures objectivament. En general, els resultats obtinguts van ser favorables. MOSKitt4ME va ser valorat de forma positiva pel que fa a utilitat i facilitat d'ús percebuda; a més a més, vam obtenir resultats positius pel que fa al rendiment objectiu dels usuaris i a la dificultat experimentada.Cervera Úbeda, M. (2015). A Model-Driven Approach for the Design, Implementation, and Execution of Software Development Methods [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/53931TESI
    corecore