Tuesday, March 31, 2015

Software quality: an analysis of application development in Italy – Ict4Executive


  zoom The diversification of market needs and a growing demand for solutions that are customized according to the habits and the devices used (smartphones and tablets in the head), goes hand in hand with complete engineering systems that people getting used to the philosophies more practical software, As a service and on demand, with a growing appetite for the world of app.

 All this has had a major impact on the development application, because it has led to an acceleration almost incremental production time and release, with a proliferation of new solutions for diversified target and functionality.

 Meanwhile, software developers have embraced new languages ​​and new methods of development, learning to make use of auxiliary tools and machines of various types, capable of action at the level syntactic or semantic level of what is considered in all respects the grammar of programming.

 With these tools, in fact, you can check at various levels the quality of the software developed and solve, where possible, errors occurred in the writing of the various programming codes, thus ensuring the quality of the software released.

  Check the quality of the software, between necessity and virtue

 Whether it’s companies operating in the engineering, chemical, financial, construction, banking, retail distribution and retail, transportation and logistics, in Italy more than 60% of companies has within it a figure even a team in charge of quality control software. The reasons are different, even if the main driver for more than half of the companies are certainly certifications (ISO in particular) , which contribute not only to introduce appropriate metric control but also to validate the result of the production in the eyes of the end users.

 To reveal these and other data to a recent survey, conducted by ICT4Executive in collaboration with the specialist of static analysis software Julia (spin off of the University of Verona), on a panel of quality than two hundred companies. 120 users and 80 companies operating in the ICT consultancy, including system integrators and VARs with their swift response helped analysts to photograph the state of the art and the approach to software quality in our country.

  zoom

 As can be seen from the graph, the end user companies is 58% to have a figure or even a department to control software quality while channel partners come to 65%.

  What are the key areas of quality control

 For all organizations, regardless of the industry in which they operate, the controls are divided on the three key areas of development: vulnerability, performance and debugging activities, or to the whole series of activities related to the interception and resolution of bugs detected during compilation sequences of the various command codes.

 With a 23%, tied between end user and channel , quality control is an important asset for the development. A perceptible difference, however, is quality control on the performance, where the end user companies demonstrate a higher sensitivity than that of channel partners, as indicated in the summary table below.

   zoom

 The data can be interpreted as a sign of how the commitment will affect the quality control when using the solution are internal users or direct collaborators. The same seems to apply to the activities of debugging where attention to quality control of end user companies stood at 27%, compared with 13% of the channel.

 More detailed analysis of the responses, however, it turns out that 16% versus 33% of the responses included in the table FOREGOING as more tell a perceived and therefore a different approach to control activities of the software released . While end users perform their verifications primarily in support of the tests in the test area, the channel, on the contrary, carries out each type of control , from the regression testing to test the functionality and prestazionalità. In this sense, the control activities are not interpreted according to the main categories above (vulnerability, debugging and performance) but as an integral part of a design process that should be checked on different levels and at different stages of development, according to the projects.

  The advantages in the use of auxiliary tools and automated analysis and verification

 Until some time ago the macrocapitoli programming were analysis, development, testing, fine tuning and release. Rhythm and methods, especially in recent years, have profoundly changed approaches and programming strategies. On the one hand the continuous evolution of operating systems, network protocols and hardware devices, and, secondly, the sophistication of the threats of cybercrime increasingly adept at sneak through the cracks weaker software, introduced as a standard mode type developing sustained release, associated with the patch management and updates .

 This fluidity operational use of auxiliary tools and machines to support the development team becomes much essential. All companies agree that, thanks to the quality control and the use of auxiliary tools to support the analysis and verification of software, have achieved a high improvement in the quality of the software developed.

   zoom

 Among the tools for static analysis used end users Coverty, Sonrarqube, Findbugs, Klockwork, PDM, Checkstyle by the end user while Fortify, Findbugs, Sonarqube, Cast and Julia are the most used by the channel.

 Based on the responses of the panel, can be seen as tools that are all the rage are even those oriented in a pattern matching syntax more than those of last generation focused on a semantic analysis, able to make a debugging active. The developmental level of analysis to support software quality, therefore, does not get to take advantage of that intelligence artificial that, through a series of mathematical algorithms and scientific approaches definitely more solid today allows to reason on the order of execution of the instructions of the code compiled by focusing more at the source code level.

  Android and Java programming languages ​​that are all the rage

 A view of use of the oldest languages ​​related to the activities of support and maintenance of legacy systems such as RPG or C ++, to dominate the development are Java and Android, with a small part linked to variants PHP, Abat, Sap, to .Net.

 The choice of Java is due to the fact that it is a language natively designed to support the development of applications of any type, including portable systems and mobile, thus ensuring high performance for the widest range of possible computing platforms ensuring functionality and performance in heterogeneous environments. Android as well as a language is a phenomenon linked to the strategies of Google which has created an operating system shared with a community of brand and with characteristics suitable to equip the smartizzazione prevailing associated with the development of the Internet of Things. No coincidence that over three quarters of the companies surveyed developed in Java and Android.

   zoom

 Also interesting to note that 70% of companies end user has a team of internal developers. confirming that programming tasks have become part of interante attivitù ICT.

  Investing in software as an enabler of business

 Rhythm and mode of programming, especially in recent years, have profoundly changed the approaches and strategies of developers. On the one hand the continuous evolution of operating systems, network protocols and hardware devices, and, secondly, the sophistication of the threats of cybercrime increasingly adept at sneak through the cracks weaker software, introduced as a standard mode type developing a continuous release.

 In the development of software, use static analysis tools to speed diagnosis and intercept at various level programming errors syntactic and, when the instruments used are advanced type, even at the semantic level. The use of this type of solutions in the process of coding and testing as well as in the later stages related to the patch management and updates , guarantees the quality and the value of the development of SW and increases’ efficiency of the development process and the protection of their image.

 

LikeTweet

No comments:

Post a Comment