• Title/Summary/Keyword: Agile Reuse

Search Result 9, Processing Time 0.019 seconds

Agile Product Backlog Reuse : Backlog Factoring Approach (애자일 제품 백로그 재사용 : 백로그 팩토링 접근)

  • Kim, Ji-Hong
    • Journal of Digital Convergence
    • /
    • v.13 no.12
    • /
    • pp.171-177
    • /
    • 2015
  • The aim of the study is to introduce a software reuse technique into a generalized agile process for a reuse of a product backlog item. The software engineering community has made some efforts to integrate software reuse and agile methods. Most studies have emphasized the use of agile practices in software product line engineering, whereas reuse in agile methods has received little focus. Nevertheless, the activities and artifacts that provided by an agile method exhibit characteristics that promote reuse. In this paper, we identify catalytic activities and characteristics that promote reuse in a generalized agile process, and we suggest a reuse technique for a product backlog item. Based on our results, we integrate a backlog factoring technique into a generalized agile process for reuse. In addition, we apply the proposed technique and demonstrate a prototype of backlog item reuse in agile methods for a restaurant chain application.

Reuse of Input Queue Item Towards Economical Agile Reuse (절약형 애자일 재사용을 향한 입력 대기열 항목의 재사용)

  • Kim, Ji-Hong
    • Journal of Digital Convergence
    • /
    • v.14 no.11
    • /
    • pp.297-304
    • /
    • 2016
  • The aim of the study is to combine software reuse with agile methods through reuse in the early stage of agile development. Although agile methods and software reuse have different practices and principles, these methods have common goals, such as reducing development time and costs and improving productivity. Both approaches are expected to serve as viable solutions to the demand for fast development or embracing requirement changes in the rapidly changing environments. In the present paper, we identify economical agile reuse and its type and study a reuse technique for input queue in Kanban board at the early stage of hybrid agile methods. Based on our results, we can integrate software reuse with agile methods by backlog factoring for input queue item in the hybrid Scrum and Kanban method. The proposed technique can be effectively applied to e-class applications and can reuse the input queue items, showing the combination of the two approaches. With this study, we intend to contribute to reuse in the early stage of agile development. In the future, we plan to develop a software tool for economical agile reuse.

Task Factoring to support reuse in Agile Methods (애자일 방법에서 재사용을 지원하는 태스크 팩토링)

  • Kim, Ji-Hong
    • Journal of the Korea Society of Computer and Information
    • /
    • v.16 no.11
    • /
    • pp.57-65
    • /
    • 2011
  • Since software reuse and agile development methods are seen as ways to shorten development time and accept frequent requirement changes, respectively, there has been growing interest and research on integrating these approaches. But despite the increasing number of software companies which have successfully adopted agile development methods, there has been little research on reuse in agile methods to further improve productivity. In this paper, we identify a new type of reuse asset and propose a task factoring technique by taking advantage of iteration characteristics to support reuse in agile software development methods. In addition, we can apply the proposed technique and show prototyping of task reuse in a video rental application.

Backlog Factoring : Extension of Task Factoring for Reuse in Scrum Method (백로그 팩토링 : 스크럼 방법에서 재사용을 위한 태스크 팩토링의 확장)

  • Kim, Ji-Hong
    • Journal of Digital Convergence
    • /
    • v.10 no.10
    • /
    • pp.339-345
    • /
    • 2012
  • Despite agile methods and software reuse being distinct approaches, there has been a growing amount of research on combining these approaches. Although Scrum is one of the most popular agile methods, reuse has not been actively supported. In this paper, we identify a new type of reusable Scrum assets, simplify the backlog process and propose a backlog factoring technique by extending task factoring to support reuse in the Scrum method. In addition, we can apply the proposed technique and show prototyping of backlog reuse in e-business applications.

Support of Reuse in Backlog Refinement with Backlog Factoring (백로그 팩토링을 이용한 백로그 상세화에서 재사용의 지원)

  • Kim, Ji-Hong
    • Journal of Digital Convergence
    • /
    • v.12 no.12
    • /
    • pp.337-343
    • /
    • 2014
  • There have been many efforts to find a new way to combine software reuse and agile software development methods. This paper studies the integration of software reuse techniques in agile methods, such as Scrum. Agile methods have the advantage of accepting frequent requirement changes, while software reuse reduces development time. Despite the rapid acceptance of the Scrum method in industry, not much emphasis has been placed on active reuse in the Scrum method, and most studies have focused on introducing agile practices into software product line engineering. However, the iterative development and backlog refinement activities of the Scrum method present the advantage of facilitating software reuse. In this paper, we identify sprint characteristics and components for reuse and suggest extended backlog refinement steps. Based on the results of this research, we integrate a backlog factoring technique into backlog refinement to support reuse in agile methods. In addition, we apply the proposed technique and demonstrate a prototype of product backlog reuse in backlog refinement for an Internet shopping mall application.

Support of Reuse in Scrum Method with Backlog Binder (스크럼 방법에서 백로그 바인더를 이용한 재사용 지원)

  • Kim, Ji-Hong
    • Journal of Digital Convergence
    • /
    • v.11 no.12
    • /
    • pp.439-445
    • /
    • 2013
  • There has been a growing amount of research on combining Agile methods and software reuse. Most of it introduces Agile into software product line rather than software reuse into Scrum method. Meanwhile, some assets such as backlogs and incremental artifacts in Scrum development are reusable. In this paper, we identify a backlog binder that aggregates reusable Scrum assets and proposes a backlog binder reuse technique. In addition, we can apply the proposed technique and show prototyping of backlog binder reuse in job matching applications.

Evaluation of an Abstract Component Model for Embedded Systems Development

  • Bunse, Christian;Choi, Yunja;Gross, Hans Gerhard
    • Journal of Information Processing Systems
    • /
    • v.8 no.4
    • /
    • pp.539-554
    • /
    • 2012
  • Model-driven and component-oriented development is increasingly being used in the development of embedded systems. When combined, both paradigms provide several advantages, such as higher reuse rates, and improved system quality. Performing model-driven and component-oriented development should be accompanied by a component model and a method that prescribes how the component model is used. This article provides an overview on the MARMOT method, which consists of an abstract component model and a methodology for the development of embedded systems. The paper describes a feasibility study that demonstrates MARMOT's capability to alleviate system design, verification, implementation, and reuse. Results indicate that model-driven and component-based development following the MARMOT method outperforms Agile development for embedded systems, leads to maintainable systems, and higher than normal reuse rates.

S-MADP : Service based Development Process for Mobile Applications of Medium-Large Scale Project (S-MADP : 중대형 프로젝트의 모바일 애플리케이션을 위한 서비스 기반 개발 프로세스)

  • Kang, Tae Deok;Kim, Kyung Baek;Cheng, Ki Ju
    • KIPS Transactions on Software and Data Engineering
    • /
    • v.2 no.8
    • /
    • pp.555-564
    • /
    • 2013
  • Innovative evolution in mobile devices along with recent spread of Tablet PCs and Smart Phones makes a new change not only in individual life but also in enterprise applications. Especially, in the case of medium-large mobile applications for large enterprises which generally takes more than 3 months of development periods, importance and complexity increase significantly. Generally Agile-methodology is used for a development process for the medium-large scale mobile applications, but some issues arise such as high dependency on skilled developers and lack of detail development directives. In this paper, S-MADP (Smart Mobile Application Development Process) is proposed to mitigate these issues. S-MADP is a service oriented development process extending a object-oriented development process, for medium-large scale mobile applications. S-MADP provides detail development directives for each activities during the entire process for defining services as server-based or client-based and providing the way of reuse of services. Also, in order to support various user interfaces, S-MADP provides detail UI development directives. To evaluate the performance of S-MADP, three mobile application development projects were conducted and the results were analyzed. The projects are 'TBS(TB Mobile Service) 3.0' in TB company, mobile app-store in TS company, and mobile groupware in TG group. As a result of the projects, S-MADP accounts for more detailed design information about 'Minimizing the use of resources', 'Service-based designing' and 'User interface optimized for mobile devices' which are needed to be largely considered for mobile application development environment when we compare with existing Agile-methodology. Therefore, it improves the usability, maintainability, efficiency of developed mobile applications. Through field tests, it is observed that S-MADP outperforms about 25% than a Agile-methodology in the aspect of the required man-month for developing a medium-large mobile application.

Using the METHONTOLOGY Approach to a Graduation Screen Ontology Development: An Experiential Investigation of the METHONTOLOGY Framework

  • Park, Jin-Soo;Sung, Ki-Moon;Moon, Se-Won
    • Asia pacific journal of information systems
    • /
    • v.20 no.2
    • /
    • pp.125-155
    • /
    • 2010
  • Ontologies have been adopted in various business and scientific communities as a key component of the Semantic Web. Despite the increasing importance of ontologies, ontology developers still perceive construction tasks as a challenge. A clearly defined and well-structured methodology can reduce the time required to develop an ontology and increase the probability of success of a project. However, no reliable knowledge-engineering methodology for ontology development currently exists; every methodology has been tailored toward the development of a particular ontology. In this study, we developed a Graduation Screen Ontology (GSO). The graduation screen domain was chosen for the several reasons. First, the graduation screen process is a complicated task requiring a complex reasoning process. Second, GSO may be reused for other universities because the graduation screen process is similar for most universities. Finally, GSO can be built within a given period because the size of the selected domain is reasonable. No standard ontology development methodology exists; thus, one of the existing ontology development methodologies had to be chosen. The most important considerations for selecting the ontology development methodology of GSO included whether it can be applied to a new domain; whether it covers a broader set of development tasks; and whether it gives sufficient explanation of each development task. We evaluated various ontology development methodologies based on the evaluation framework proposed by G$\acute{o}$mez-P$\acute{e}$rez et al. We concluded that METHONTOLOGY was the most applicable to the building of GSO for this study. METHONTOLOGY was derived from the experience of developing Chemical Ontology at the Polytechnic University of Madrid by Fern$\acute{a}$ndez-L$\acute{o}$pez et al. and is regarded as the most mature ontology development methodology. METHONTOLOGY describes a very detailed approach for building an ontology under a centralized development environment at the conceptual level. This methodology consists of three broad processes, with each process containing specific sub-processes: management (scheduling, control, and quality assurance); development (specification, conceptualization, formalization, implementation, and maintenance); and support process (knowledge acquisition, evaluation, documentation, configuration management, and integration). An ontology development language and ontology development tool for GSO construction also had to be selected. We adopted OWL-DL as the ontology development language. OWL was selected because of its computational quality of consistency in checking and classification, which is crucial in developing coherent and useful ontological models for very complex domains. In addition, Protege-OWL was chosen for an ontology development tool because it is supported by METHONTOLOGY and is widely used because of its platform-independent characteristics. Based on the GSO development experience of the researchers, some issues relating to the METHONTOLOGY, OWL-DL, and Prot$\acute{e}$g$\acute{e}$-OWL were identified. We focused on presenting drawbacks of METHONTOLOGY and discussing how each weakness could be addressed. First, METHONTOLOGY insists that domain experts who do not have ontology construction experience can easily build ontologies. However, it is still difficult for these domain experts to develop a sophisticated ontology, especially if they have insufficient background knowledge related to the ontology. Second, METHONTOLOGY does not include a development stage called the "feasibility study." This pre-development stage helps developers ensure not only that a planned ontology is necessary and sufficiently valuable to begin an ontology building project, but also to determine whether the project will be successful. Third, METHONTOLOGY excludes an explanation on the use and integration of existing ontologies. If an additional stage for considering reuse is introduced, developers might share benefits of reuse. Fourth, METHONTOLOGY fails to address the importance of collaboration. This methodology needs to explain the allocation of specific tasks to different developer groups, and how to combine these tasks once specific given jobs are completed. Fifth, METHONTOLOGY fails to suggest the methods and techniques applied in the conceptualization stage sufficiently. Introducing methods of concept extraction from multiple informal sources or methods of identifying relations may enhance the quality of ontologies. Sixth, METHONTOLOGY does not provide an evaluation process to confirm whether WebODE perfectly transforms a conceptual ontology into a formal ontology. It also does not guarantee whether the outcomes of the conceptualization stage are completely reflected in the implementation stage. Seventh, METHONTOLOGY needs to add criteria for user evaluation of the actual use of the constructed ontology under user environments. Eighth, although METHONTOLOGY allows continual knowledge acquisition while working on the ontology development process, consistent updates can be difficult for developers. Ninth, METHONTOLOGY demands that developers complete various documents during the conceptualization stage; thus, it can be considered a heavy methodology. Adopting an agile methodology will result in reinforcing active communication among developers and reducing the burden of documentation completion. Finally, this study concludes with contributions and practical implications. No previous research has addressed issues related to METHONTOLOGY from empirical experiences; this study is an initial attempt. In addition, several lessons learned from the development experience are discussed. This study also affords some insights for ontology methodology researchers who want to design a more advanced ontology development methodology.