Loading

JSM Computer Science and Engineering

How the Model DrivenDevelopment May Improve Organizational Learning

Short Communication | Open Access | Volume 1 | Issue 1

  • 1. Department of Computer Science, Universidade Estadual do Norte do Parana, Brazil
+ Show More - Show Less
Corresponding Authors
André Menolli, Computer Science Department, Universidade Estadual do Norte do Parana, Bandeirantes, Brazil Tel: 5543 354-280-14
Abstract

Organizational learning assists the companies to significantly improve their processes by means of experiences reuse, making knowledge accessible to the whole organization. In the software engineering area it is important that the knowledge is stored and systematically reused. Over the years, many researches have focused on improving organizational learning in software engineering area, addressing different techniques and topics. However, in software engineering always are being proposed new methods and techniques that can be applied to improve organizational learning. An instance is the Model-Driven Development, which allows the development of codes from high-level models. We think that Model-Driven Development may help improve some aspects of organizational learning, so we present a brief reflection about this issue.

Index Terms

Software engineering; Organizational learning; Model-driven development

Citation

Menoll A (2016) How the Model Driven-Development May Improve Organizational Learning. Comput Sci Eng 1(1): 1003.

ABBREVIATIONS

MDD: Model-Driven Development; OL: Organizational Learning

INTRODUCTION

The capacity to create, to acquire, to integrate, to implant and to distribute knowledge has appeared as a basic organizational capacity [1], and currently with the growing amount of information that companies deal, it is continually increasing importance of knowledge management. Hence, competitive companies should manage and explore the whole knowledge as strategic options for future decisions and competitive advantages [2].

Furthermore, the knowledge should be used not just to give competitive advantages, but also to improve performance based on the experience, refining the organizational processes and avoiding past errors, this set of procedures are defined by the concept of organizational learning [3]. Moreover, for some kinds of companies the organizational learning is essential, mainly for knowledge-intensive companies such as those involved with software-development. However, for this kind of companies, organizational learning is more difficult to apply, since is hard to acquire and organize past experiences, because most of the time the knowledge is internalized in the minds of employees, making difficult the knowledge sharing.

In software engineering area, many works proposes approaches, methods and tools to minimize the problems caused by the misapplication of organizational learning, as shown in the work [4], which exposed that in all software engineering knowledge areas there are initiatives to improve organizational learning. Nevertheless, despite the large numbers of works that focus in this direction, in software engineering always are being proposed new methods and techniques, and they can be applied to improve organizational learning.

A topic that is not very explored, and has great potential to assist organizational learning is the Model-Driven Development (MDD). The MDD allows the development of codes from high-level models and their function is essentially to turn a software model into executable code, be fully or partially varying according to the needs. Thus, we present a reflection about how MDD can support improve organizational learning.

BACKGROUND

In this section, we present a brief review of the main topics involved in this work: organizational learning, which specifically we focus on this topic applied to software engineering; and MDD, which is presented a brief introduction.

Organizational Learning and Software Engineering

Several companies around the world attempt to improve their processes based on previous experiences. These companies are looking for achieve some level of OL, even though they often are not aware of it. To reach OL, companies can use different knowledge management techniques, depending on the type of knowledge created and what company intends to do with it.

OL can be defined as the continuous testing of experience and its transformation into knowledge that is accessible to the whole organization and relevant to its basic purposes [5]. Thus, OL is an important factor in software development, especially because as mentioned previous, software projects are by nature knowledgeintensive [6].

Consequently, due to such particularity, there are some initiatives to improve organizational learning that are inherent in software engineering area. So, when the learning and management approach is used, the knowledge created during software processes can be captured, stored, spread and reused [7]. Thus, better quality and productivity can be achieved.

Among the main initiatives in software engineering area, we can highlight the study of Basili et al. [8], which focuses in to maintain an appropriate level of knowledge in the organization. The study of Basili et al. helped to promote research into knowledge management in software engineering and to create and popularize new terms and concepts such as ‘experience base’ and ‘experience management’. Over the years, new terms were defined and consolidated for managing experiences, such as ‘experience factory’ and ‘lessons learned’ (LL), which were subsequently extensively adopted in software-engineering knowledge management studies.

An area of software engineering that has been explored in recent years is agile development. As example, we may cite the work of Livari et al. [9] that analyzed the relationship between organizational culture and the post-adoption deployment of agile methods, and [10], in which the authors try to understand the challenges of shared decision-making in agile softwaredevelopment teams. Agile software development requires alignment of decisions at the strategic, tactical and operational levels to overcome these challenges as well as a transition from specialized skills to redundancy of functions and from rational to naturalistic decision-making.

Furthermore, a broad systematic review was undertaken to identify which software-engineering areas OL studies are concentrated in. Moreover, this study considered how and what OL concepts of the main theories, as Kolb’s model of experiential learning [11], the double-loop learning theory proposed by Argyris and Schön [12], Wenger’s communities of practice theory [13] and Nonaka and Takeuchi’s theory of knowledge creation [14], were applied in software engineering in recent years [4].

Summarizing, companies have ays used technologies to improve OL, nonetheless new technologies and methods always are being proposed in software engineering area, hence new possibilities to improve OL emerge with them.

Model-Driven Development

Since the last decade, Model Driven Development has evolved significantly due to its flexibility and applicability [15]. Model-driven development, also known as MDD, is a softwareengineering approach aiming to raise the level of abstraction of an application and, hence, simplify and formalize software life cycle stages and tasks by using models and model technologies [16]. MDD is primarily concerned with reducing the gap between problem and software implementation domains through the use of technologies that support systematic transformation of problem-level abstractions to software implementations [17].

MDD regards the use of models in the software development life cycle and states that MDD automates software development via model processing, model transformation, and code generation techniques. Conventionally, developers employ two different approaches for software development [15]:

• Design solutions visually; and

• Code solutions right straight based on functional requirements.

Despite both approaches may present advantages and disadvantages, MDD tends to bring simultaneously the better of each one of them. By the way, through MDD, developers are able to not only design their solutions, but also and build partial artifacts which will be part of the final product. Furthermore, the term “model driven” may be considered by some to be redundant in Model-Driven Engineering (MDE) given that engineering of software invariably involves modeling. While this may be true, it is currently the case that software developers seldom create and effectively utilize models other than code. The term “model driven” in MDE is used to emphasize a shift away from code level abstractions [17].

Likewise, Selic [18] states that the main focus of MDD regards models rather than computer programs. Furthermore, Selic [18] points out the expression of models using concepts that are not strictly associated with low level languages, although close to the real domain of the problem, as the main advantage of adoption MDD.

Using MDD to improve Organizational Learning

The MDD may be a good strategy to improve organizational learning, since it uses high-level models, called Meta Model, focuses on creating and exploiting domain models. These conceptual models describe all topics related to a specific problem, and generally is defined by an expert. All implementations of the problem are performed based on these conceptual models.

Currently, different model transformation tools for a variety of purposes have been explored in the literature, for instance, XSLT (Extensible Stylesheet Language Transformation), QVT (QueryView Transformation language), ATL (ATLAS transformation language) and Acceleo [19]. The Figure 1 presents a generic model, showing how a MDD implementation using Acceleo works. Acceleo is an implementation of the Object Management Group (OMG) Model to Text Language (MTL) standard. . The OMG, in its role as an industry-driven organization that develops and maintains standards for developing complex distributed software systems.

The main idea of MDD is that models are (semi)automatically transformed into executable code by model transformations. In a MDD solution, generally there are two roles:

• An Expert: responsible for creating the MetaModel and Model Transformations;

• A Developer: responsible for creating an application model based on the MetaModel

Analyzing the (Figure 1) it is noticed that developers create specific models for their context based on MetaModels. Moreover, the expert is responsible for defining, besides the MetaModel,the transformation model, which describes how source code is generated based on parameters set on MetaModel and the Application Model. Therefore, the code generator requires an Application Model and a Transformation as input for generating low-level source code as output.

An overview of the MDD approach.

Figure 1: An overview of the MDD approach.

Summarizing, the MDD approach is intended to increase productivity and may help to codify tacit knowledge in highlevel models; further assist developers use these models. The MDD assists the code reuse (via reuse of standardized models) and simplifying the process of design. Furthermore, MDD may promote a standardization of the terminology and the best practices used in the application domain. Hence, MDD is considered effective if its models make sense from the point of view of a user that is familiar with the domain, and if they can serve as a basis for implementing systems.

DISCUSSION

Many previous studies have focused on improving organizational learning through enhancing the documentation process or the software development process. The studies that focus on improve the development process, normally are concerned about the definition, implementation, assessment, measurement, management, change, and improvement of the software life cycle processes themselves, and it is common that they propose tools to help these tasks.

Furthermore, concepts as Postmortem Analysis and Experience Factor are frequently used in software engineering studies applied to organizational learning. These concepts are very important; however, they provide little benefit in order to codify tacit knowledge efficiently. On the other hand, MDD is able to assist codify tacit knowledge in high-level models, besides helping in the software development standardization. Therefore, MDD is a new option to improve organizational learning, and should be used together with other consolidated approaches to capture the knowledge.

• Additional analysis that can be done, it is understand how the MDD may be related with organizational learning theories. For this purpose, we use one of the most accept organizational learning theory, which is known as SECI [14], that describes a spiral model in which learning generates new knowledge within a company by means of the interaction between tacit and explicit knowledge. Nonaka and Konno [14] identified four forms of knowledge conversion: socialization, combination, internalization and externalization. Among the four forms of knowledge conversion presented by Nonaka and Konno, the use of MDD clearly may assist in three of them, but more strongly in twoExternalization is the process of converting tacit knowledge into explicit knowledge by means of metaphors, analogies, concepts, hypotheses or models. When MDD is used, externalization is exactly one of the results produced, since tacit knowledge is codified into models.

• Combination is the conversion of explicit knowledge generated by an individual to add it to the explicit knowledge of the organization, thereby generating a type of knowledge called ‘‘systemic knowledge’’. When an expert creates a metamodel, that represents a standard of some domain, this knowledge become part of organization. This new explicit knowledge is then disseminated among the members of the organization through the reuse model.

Although, MDD acts more strongly on externalization and combination, it may acts in internalization. Internalization is the conversion of explicit knowledge into tacit knowledge. The process is closely related to learning by practice and generates a type of knowledge called ‘‘operational knowledge’’. When a metamodel is created, this knowledge that is often inaccessible to some people, become accessible. Using a metamodel to develop an application, the developer increase their skill on the topic, because he needs understand the metamodel, this helps to improve his knowledge about the issue.

FINAL CONSIDERATIONS

Organizational Learning is an interest topic for software engineering, mainly considering the nature of knowledge generated during the software development process. Due to this, OL is a topic explored a long time ago in this area, however new possibilities to improve it are always emerging. One of these possibilities is the MDD; we consider it a promisor topic to help in the OL process. Although this work presents a preliminary reflection, it has shown that MDD may support concepts described in an important OL theory. To gain a better understanding of how the MDD is related to other theories, it is necessary to carry out a more in-depth study.

REFERENCES
  1. Teece DJ, Pisano G, Shuen A. A Dynamic Capabilities and Strategic Management. Strategic Management Journal. 1997; 18: 509-533.
  2. Sambumurth V, Bharadwj JA, Grover R. Shaping Agility through Digital Options: Reconceptualizing the role of information technology in contemporary. MIS Quarterly. 2003; 27: 237-263.
  3. Nevis EC, DI Bella A, Gould JM. Understanding organizations as learning systems. Sloan Management Review. 1995; 36: 73-85.
  4. Menolli A, Reinehr S, Malucelli A. Organizational Learning Applied to Software Engineering: A Systematic Review. International Journal of Software Engineering and Knowledge Engineering. 2013; 23: 1153-1175.
  5. Senge P, Kleiner A, Roberts C, Ross R, Smith BJ. The fifth discipline field book. 1994. New York, Doubleday.
  6. Rus I, Lindvall M. Knowledge management in software engineering. IEEE Software. 2002; 19: 26–38.
  7. Bellini E, Storto C. CMM Implementation and Organizational Learning: Findings from a Case Study Analysis. Proceedings of the Technology Management for the Global Future. 2006; 1256-1271.
  8. Basili V, Costa P, Lindvall M, Mendonca M, Seaman C, Resoriero R. An experience management system for a software engineering research organization. Proceedings of Software Engineering Workshop. 2001.
  9. Iivari J, Iivari N. The relationship between organizational culture and the deployment of agile methods. Information and Software Technology. 2011; 53: 509–520.
  10. Moe NB, Aurum A, Dybå T. Challenges of shared decision-making: A multiple case study of agile software development. Information and Software Technology. 2012; 54: 853–865.
  11. Kolb D. Experiential Learning: Experience as the Source of Learning and Development. Prentice Hall, Englewood Cliffs, NJ, USA. 1984.
  12. Argyris C, Schön DA. Organizational learning II: theory, method and practice. Organization Development Series, Addison Wesley, Reading, MA, USA. 1996.
  13. E Wenger. Communities of Practise: Learning, Meaning and Identity, Cambridge University Press, Cambridge, UK. 1998.
  14. Nonaka I, Konno N. The Concept of “Ba”: Building a Foundation for Knowledge Creation. California Management Review. 1998; 40: 40-54.
  15. Vidyapeetham AV. An Eclipse-based tool for modeling service-based systems. Bachelor Project Report. Department of Information Technology, Amrita School of Engineering, Amrita School of Engineering, Coimbatore. 2009.
  16. Hailpern B. Tarr P. Model-driven development: The good, the bad, and the ugly. IBM Systems Journal. 2006; 45: 451-461.
  17. France R, Rumpe B. Model-driven Development of Complex Software: A Research Roadmap. Future of Software Engineering, IEEE, 2007.
  18. Selic B. The pragmatics of model-driven development. IBM Rational Software. 2008. 20; 19-25.
  19. Koch N. Classification of model transformation techniques used in UML based Web engineering. Software, IET. 2007; 1: 98-111.

Menoll A (2016) How the Model Driven-Development May Improve Organizational Learning. Comput Sci Eng 1(1): 1003.

Received : 31 Mar 2016
Accepted : 26 Apr 2016
Published : 28 Apr 2016
Journals
Annals of Otolaryngology and Rhinology
ISSN : 2379-948X
Launched : 2014
JSM Schizophrenia
Launched : 2016
Journal of Nausea
Launched : 2020
JSM Internal Medicine
Launched : 2016
JSM Hepatitis
Launched : 2016
JSM Oro Facial Surgeries
ISSN : 2578-3211
Launched : 2016
Journal of Human Nutrition and Food Science
ISSN : 2333-6706
Launched : 2013
JSM Regenerative Medicine and Bioengineering
ISSN : 2379-0490
Launched : 2013
JSM Spine
ISSN : 2578-3181
Launched : 2016
Archives of Palliative Care
ISSN : 2573-1165
Launched : 2016
JSM Nutritional Disorders
ISSN : 2578-3203
Launched : 2017
Annals of Neurodegenerative Disorders
ISSN : 2476-2032
Launched : 2016
Journal of Fever
ISSN : 2641-7782
Launched : 2017
JSM Bone Marrow Research
ISSN : 2578-3351
Launched : 2016
JSM Mathematics and Statistics
ISSN : 2578-3173
Launched : 2014
Journal of Autoimmunity and Research
ISSN : 2573-1173
Launched : 2014
JSM Arthritis
ISSN : 2475-9155
Launched : 2016
JSM Head and Neck Cancer-Cases and Reviews
ISSN : 2573-1610
Launched : 2016
JSM General Surgery Cases and Images
ISSN : 2573-1564
Launched : 2016
JSM Anatomy and Physiology
ISSN : 2573-1262
Launched : 2016
JSM Dental Surgery
ISSN : 2573-1548
Launched : 2016
Annals of Emergency Surgery
ISSN : 2573-1017
Launched : 2016
Annals of Mens Health and Wellness
ISSN : 2641-7707
Launched : 2017
Journal of Preventive Medicine and Health Care
ISSN : 2576-0084
Launched : 2018
Journal of Chronic Diseases and Management
ISSN : 2573-1300
Launched : 2016
Annals of Vaccines and Immunization
ISSN : 2378-9379
Launched : 2014
JSM Heart Surgery Cases and Images
ISSN : 2578-3157
Launched : 2016
Annals of Reproductive Medicine and Treatment
ISSN : 2573-1092
Launched : 2016
JSM Brain Science
ISSN : 2573-1289
Launched : 2016
JSM Biomarkers
ISSN : 2578-3815
Launched : 2014
JSM Biology
ISSN : 2475-9392
Launched : 2016
Archives of Stem Cell and Research
ISSN : 2578-3580
Launched : 2014
Annals of Clinical and Medical Microbiology
ISSN : 2578-3629
Launched : 2014
JSM Pediatric Surgery
ISSN : 2578-3149
Launched : 2017
Journal of Memory Disorder and Rehabilitation
ISSN : 2578-319X
Launched : 2016
JSM Tropical Medicine and Research
ISSN : 2578-3165
Launched : 2016
JSM Head and Face Medicine
ISSN : 2578-3793
Launched : 2016
JSM Cardiothoracic Surgery
ISSN : 2573-1297
Launched : 2016
JSM Bone and Joint Diseases
ISSN : 2578-3351
Launched : 2017
JSM Bioavailability and Bioequivalence
ISSN : 2641-7812
Launched : 2017
JSM Atherosclerosis
ISSN : 2573-1270
Launched : 2016
Journal of Genitourinary Disorders
ISSN : 2641-7790
Launched : 2017
Journal of Fractures and Sprains
ISSN : 2578-3831
Launched : 2016
Journal of Autism and Epilepsy
ISSN : 2641-7774
Launched : 2016
Annals of Marine Biology and Research
ISSN : 2573-105X
Launched : 2014
JSM Health Education & Primary Health Care
ISSN : 2578-3777
Launched : 2016
JSM Communication Disorders
ISSN : 2578-3807
Launched : 2016
Annals of Musculoskeletal Disorders
ISSN : 2578-3599
Launched : 2016
Annals of Virology and Research
ISSN : 2573-1122
Launched : 2014
JSM Renal Medicine
ISSN : 2573-1637
Launched : 2016
Journal of Muscle Health
ISSN : 2578-3823
Launched : 2016
JSM Genetics and Genomics
ISSN : 2334-1823
Launched : 2013
JSM Anxiety and Depression
ISSN : 2475-9139
Launched : 2016
Clinical Journal of Heart Diseases
ISSN : 2641-7766
Launched : 2016
Annals of Medicinal Chemistry and Research
ISSN : 2378-9336
Launched : 2014
JSM Pain and Management
ISSN : 2578-3378
Launched : 2016
JSM Women's Health
ISSN : 2578-3696
Launched : 2016
Clinical Research in HIV or AIDS
ISSN : 2374-0094
Launched : 2013
Journal of Endocrinology, Diabetes and Obesity
ISSN : 2333-6692
Launched : 2013
Journal of Substance Abuse and Alcoholism
ISSN : 2373-9363
Launched : 2013
JSM Neurosurgery and Spine
ISSN : 2373-9479
Launched : 2013
Journal of Liver and Clinical Research
ISSN : 2379-0830
Launched : 2014
Journal of Drug Design and Research
ISSN : 2379-089X
Launched : 2014
JSM Clinical Oncology and Research
ISSN : 2373-938X
Launched : 2013
JSM Bioinformatics, Genomics and Proteomics
ISSN : 2576-1102
Launched : 2014
JSM Chemistry
ISSN : 2334-1831
Launched : 2013
Journal of Trauma and Care
ISSN : 2573-1246
Launched : 2014
JSM Surgical Oncology and Research
ISSN : 2578-3688
Launched : 2016
Annals of Food Processing and Preservation
ISSN : 2573-1033
Launched : 2016
Journal of Radiology and Radiation Therapy
ISSN : 2333-7095
Launched : 2013
JSM Physical Medicine and Rehabilitation
ISSN : 2578-3572
Launched : 2016
Annals of Clinical Pathology
ISSN : 2373-9282
Launched : 2013
Annals of Cardiovascular Diseases
ISSN : 2641-7731
Launched : 2016
Journal of Behavior
ISSN : 2576-0076
Launched : 2016
Annals of Clinical and Experimental Metabolism
ISSN : 2572-2492
Launched : 2016
Clinical Research in Infectious Diseases
ISSN : 2379-0636
Launched : 2013
JSM Microbiology
ISSN : 2333-6455
Launched : 2013
Journal of Urology and Research
ISSN : 2379-951X
Launched : 2014
Journal of Family Medicine and Community Health
ISSN : 2379-0547
Launched : 2013
Annals of Pregnancy and Care
ISSN : 2578-336X
Launched : 2017
JSM Cell and Developmental Biology
ISSN : 2379-061X
Launched : 2013
Annals of Aquaculture and Research
ISSN : 2379-0881
Launched : 2014
Clinical Research in Pulmonology
ISSN : 2333-6625
Launched : 2013
Journal of Immunology and Clinical Research
ISSN : 2333-6714
Launched : 2013
Annals of Forensic Research and Analysis
ISSN : 2378-9476
Launched : 2014
JSM Biochemistry and Molecular Biology
ISSN : 2333-7109
Launched : 2013
Annals of Breast Cancer Research
ISSN : 2641-7685
Launched : 2016
Annals of Gerontology and Geriatric Research
ISSN : 2378-9409
Launched : 2014
Journal of Sleep Medicine and Disorders
ISSN : 2379-0822
Launched : 2014
JSM Burns and Trauma
ISSN : 2475-9406
Launched : 2016
Chemical Engineering and Process Techniques
ISSN : 2333-6633
Launched : 2013
Annals of Clinical Cytology and Pathology
ISSN : 2475-9430
Launched : 2014
JSM Allergy and Asthma
ISSN : 2573-1254
Launched : 2016
Journal of Neurological Disorders and Stroke
ISSN : 2334-2307
Launched : 2013
Annals of Sports Medicine and Research
ISSN : 2379-0571
Launched : 2014
JSM Sexual Medicine
ISSN : 2578-3718
Launched : 2016
Annals of Vascular Medicine and Research
ISSN : 2378-9344
Launched : 2014
JSM Biotechnology and Biomedical Engineering
ISSN : 2333-7117
Launched : 2013
Journal of Hematology and Transfusion
ISSN : 2333-6684
Launched : 2013
JSM Environmental Science and Ecology
ISSN : 2333-7141
Launched : 2013
Journal of Cardiology and Clinical Research
ISSN : 2333-6676
Launched : 2013
JSM Nanotechnology and Nanomedicine
ISSN : 2334-1815
Launched : 2013
Journal of Ear, Nose and Throat Disorders
ISSN : 2475-9473
Launched : 2016
JSM Ophthalmology
ISSN : 2333-6447
Launched : 2013
Journal of Pharmacology and Clinical Toxicology
ISSN : 2333-7079
Launched : 2013
Annals of Psychiatry and Mental Health
ISSN : 2374-0124
Launched : 2013
Medical Journal of Obstetrics and Gynecology
ISSN : 2333-6439
Launched : 2013
Annals of Pediatrics and Child Health
ISSN : 2373-9312
Launched : 2013
JSM Clinical Pharmaceutics
ISSN : 2379-9498
Launched : 2014
JSM Foot and Ankle
ISSN : 2475-9112
Launched : 2016
JSM Alzheimer's Disease and Related Dementia
ISSN : 2378-9565
Launched : 2014
Journal of Addiction Medicine and Therapy
ISSN : 2333-665X
Launched : 2013
Journal of Veterinary Medicine and Research
ISSN : 2378-931X
Launched : 2013
Annals of Public Health and Research
ISSN : 2378-9328
Launched : 2014
Annals of Orthopedics and Rheumatology
ISSN : 2373-9290
Launched : 2013
Journal of Clinical Nephrology and Research
ISSN : 2379-0652
Launched : 2014
Annals of Community Medicine and Practice
ISSN : 2475-9465
Launched : 2014
Annals of Biometrics and Biostatistics
ISSN : 2374-0116
Launched : 2013
JSM Clinical Case Reports
ISSN : 2373-9819
Launched : 2013
Journal of Cancer Biology and Research
ISSN : 2373-9436
Launched : 2013
Journal of Surgery and Transplantation Science
ISSN : 2379-0911
Launched : 2013
Journal of Dermatology and Clinical Research
ISSN : 2373-9371
Launched : 2013
JSM Gastroenterology and Hepatology
ISSN : 2373-9487
Launched : 2013
Annals of Nursing and Practice
ISSN : 2379-9501
Launched : 2014
JSM Dentistry
ISSN : 2333-7133
Launched : 2013
Author Information X