A Tool-Based Approach for Essentializing Software Engineering Practices

Author(s):  
Kai-Kristian Kemell ◽  
Arthur Evensen ◽  
Xiaofeng Wang ◽  
Juhani Risku ◽  
Anh Nguyen-Duc ◽  
...  
1998 ◽  
Vol 41 (1) ◽  
pp. 3-15 ◽  
Author(s):  
Danny C.C Poo ◽  
Mui Ken Chung

Author(s):  
Jorge Melegati ◽  
Rafael Chanin ◽  
Afonso Sales ◽  
Rafael Prikladnicki

Abstract In this position paper, our goal is to argue the need for specific software development practices to early-stage startups. In order to reach this goal, we discuss the consequences of innovative and market-driven contexts, which are two of the key elements when describing software startups. We also argue that these practices could be applied to innovative initiatives within established companies since they share similar characteristics and challenges as those from startups.


Author(s):  
Nuthan Munaiah ◽  
Steven Kroh ◽  
Craig Cabrey ◽  
Meiyappan Nagappan

Software forges like GitHub host millions of repositories. Software engineering researchers have been able to take advantage of such a large corpora of potential study subjects with the help of tools like GHTorrent and Boa. However, the simplicity in querying comes with a caveat: there are limited means of separating the signal (e.g. repositories containing engineered software projects) from the noise (e.g. repositories containing home work assignments). The proportion of noise in a random sample of repositories could skew the study and may lead to researchers reaching unrealistic, potentially inaccurate, conclusions. We argue that it is imperative to have the ability to sieve out the noise in such large repository forges. We propose a framework, and present a reference implementation of the framework as a tool called reaper, to enable researchers to select GitHub repositories that contain evidence of an engineered software project. We identify software engineering practices (called dimensions) and propose means for validating their existence in a GitHub repository. We used reaper to measure the dimensions of 1,994,977 GitHub repositories. We then used the data set train classifiers capable of predicting if a given GitHub repository contains an engineered software project. The performance of the classifiers was evaluated using a set of 200 repositories with known ground truth classification. We also compared the performance of the classifiers to other approaches to classification (e.g. number of GitHub Stargazers) and found our classifiers to outperform existing approaches. We found stargazers-based classifier to exhibit high precision (96%) but an inversely proportional recall (27%). On the other hand, our best classifier exhibited a high precision (82%) and a high recall (83%). The stargazer-based criteria offers precision but fails to recall a significant potion of the population.


Author(s):  
Ezequiel Scott ◽  
Guillermo Rodríguez ◽  
Álvaro Soria ◽  
Marcelo Campo

Software Engineering courses aim to train students to succeed in meeting the challenges within competitive and ever-changing professional contexts. Thus, undergraduate courses require continual revision and updating so as to cater for the demands of the software industry and guarantee academic quality. In this context, Scrum results in both a suitable and a flexible framework to train students in the implementation of professional software engineering practices. However, current approaches fail to provide guidance and assistance in applying Scrum, or a platform to address limitations in time, scope, and facilities within university premises. In this chapter, the authors present a software engineering training model based on the integration of the Agile Coach role and a virtual-reality platform called Virtual Scrum. The findings highlight the benefits of integrating this innovative model in a capstone course. Not only does this approach strengthen the acquisition of current software engineering practices but also opens new possibilities in the design of training courses.


2014 ◽  
pp. 1335-1361
Author(s):  
Claude Laporte ◽  
Edgardo Palza Vargas

Industry recognizes that Very Small Entities (VSEs) that develop software are very important to the economy. A Very Small Entity (VSE) is an entity (enterprise, organization, department or project) with up to 25 people..Failure to deliver a quality product on time and within budget threatens the competitiveness of VSEs and impacts their customers. One way to mitigate these risks is to put in place proven software engineering practices. Many international standards and models, like ISO/IEC 12207 or CMMI®1, have been developed to capture proven engineering practices. However, these documents were not designed for VSEs and are often difficult to apply in such settings. This chapter presents a description of the development of process improvement international standards (IS) targeting VSEs developing or maintaining software as a standalone product or software as a component of a system. The documents used by ISO/IEC JTC1/SC72 Working Group 24 (WG24), mandated to develop a set of standards and guides, and the approach that led to the development, balloting of the ISs, and TRs (Technical Reports) for VSEs are also presented. The chapter focuses on the ISO/IEC 29110 Standard3, the development of means to help VSEs improve their processes, and the description of a few pilot projects conducted to implement the processes of ISO/IEC 29110 standard.


Author(s):  
Saqib Saeed ◽  
Ashi Iram ◽  
Kiran Nazeer ◽  
Tayyaba Ayub

Requirement engineering is a main task in software process. In Software Engineering literature, many best practices and guidelines are present to construct quality software. However, adoption of such uniform guidelines is not in practice across the globe. In this chapter, the authors discuss requirement engineering practices followed in Pakistani small- and medium-scale enterprises. In order to understand work practices the authors conducted a survey and analyzed the responses. They found that cost and budgeting is one of the major issues of Pakistani industry: higher management is not willing to invest to adopt state-of-the-art standardized practices. This situation can be improved by enhancing public private partnerships to get desired quality software in the local IT industry.


Author(s):  
S. Kavitha ◽  
J. V. Anchitaalagammai ◽  
S. Nirmala ◽  
S. Murali

The chapter summarizes the concepts and challenges of DevOps in IoT, DevSecOps in IoT, integrating security into IoT, machine learning and AI in IoT of software engineering practices. DevOps is a software engineering culture and practice that aims at unifying software development (Dev) and software operation (Ops). The main characteristic of DevOps is the automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management. DevSecOps is a practice of integrating security into every aspect of an application lifecycle from design to development.


2000 ◽  
Vol 8 (4) ◽  
pp. 211-230 ◽  
Author(s):  
Philip W. Grant ◽  
Magne Haveraaen ◽  
Michael F. Webster

It has long been acknowledged that the development of scientific applications is in need of better software engineering practices. Here we contrast the difference between conventional software development of CFD codes with a method based on coordinate free mathematics. The former approach leads to programs where different aspects, such as the discretisation technique and the coordinate systems, can get entangled with the solver algorithm. The latter approach yields programs that segregate these concerns into fully independent software modules. Such considerations are important for the construction of numerical codes for practical problems. The two approaches are illustrated on the coating problem: the simulation of coating a wire with a polymer.


Sign in / Sign up

Export Citation Format

Share Document