University College of Applied Sciences, Palestine, Gaza
Received date: July 12, 2017; Accepted date: August 21, 2017; Published date: August 28, 2017
Citation: Almadhoun MD (2017) Investigating and Criticizing Software Engineering Practices in Palestine. J Inform Tech Softw Eng 7: 206. doi: 10.4172/2165-7866.1000206
Copyright: © 2017 Almadhoun MD. This is an open-access article distributed under the terms of the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original author and source are credited.
Visit for more related articles at Journal of Information Technology & Software Engineering
Considering good practices of software engineering in ICT sector associations can improve this sector, accelerate development, increase product qualities and enlarge economic investment in country. This research applied a survey to discover weakness and strengths of ICT sector in Palestine, survey consists of different six categories of questions: general information, production type, quality control and standardization, relationships between association and customers, production quality, and production size, every category discusses a dilemma. Results of survey are listed for each category with clarifying and comparing between current situation and the good practices that should be followed. Discussion and recommendations added SWOT analysis for results and changes that should be followed. Data mining techniques were used to try looking at the future and put rules deduced from data, clustering for grouping instances and studying each group properties, and rule induction to deduce the strongest relations between software engineering practices.
Software engineering; Investigation; Criticizing; Good practices; Survey; Data mining
Software engineering bridges the gap between technology needs of potential customer and delivery of system that satisfies needs. In software engineering formal methods and standard guidelines are used to improve system quality. Practices in Software engineering are those methods used throughout the lifecycle phases of product [1,2].
In Palestine Investment Conference 2010, Dr. Sabri Saidam added that we want to invest in Palestine because we want to change the views about Palestine. Mr. Jamal Yasin added that awareness with regard to IT culture must be spread. Also, the opportunities must be given to creative people and create mechanism to enable business people to control and manage their businesses . This means that increasing the size and quality of ICT products is a target future that should Palestine seeks to it in next economic plan. Good practices in software engineering will enable forcing this trend.
80% of projects are unsuccessful either because they are over budget, late, missing function, or a combination. Moreover, 30% of software projects are so poorly executed that they are canceled before completion. Best practices will help improve the success of a software development project and get better chance of completing project successfully . This confirms the effect of not following good practices in software engineering which will fatigue ICT sector and economy. This paper presents a study of software engineering practices in Palestine, detects weaknesses, and draws the right ways and recommendations of improving software engineering practices. Methodology used was publishing a survey of different classified questions; number of associations that filled the survey was 19. Section 4 will show methodology details, section 5 will show results and comparisons, section 6 will discuss results and gets out recommendation up to international good practices, section 7 will apply data mining techniques and show results for future considerations.
Groves et al.  reported on the software development techniques used in the New Zealand software industry, paying particular attention to requirements gathering. They surveyed a selection of software companies with a general questionnaire and then conducted in-depth interviews with four companies. Their results show a wide variety in the kinds of companies undertaking software development, employing a wide range of software development techniques. Although their data were not sufficiently detailed to draw statistically significant conclusions, it appears that larger software development groups typically have more well-defined software development processes, spend proportionally more time on requirements gathering, and follow more rigorous testing regimes.
Nikula et al.  presented a survey that gives a realistic view of how marginal technology transfer from the research community to the industry has been. It also reveals that the key development needs in industry are (1) development of own RE process adaptations, (2) RE process improvement, and (3) automation of RE practices. Directing efforts to these areas would substantially improve the chances of successful technology transfer and process improvement efforts in industry.
Claudio et al.  have designed and carried out a systematic survey based on an extensive WWW-based interactive questionnaire to assure quality, electronic patient record systems (EPRS) are developed using robust Software Engineering (SE) methodologies. Among other things, it asks the respondents (EPRS developers) about SE practices and tools which were used.
A survey was published to collect quantified data up to research objectives. Survey contained a set of questions included in six categories. Categories are: general information, production type, quality control and standardization, relationships between association and customers, production quality, production size.
First category (general information) collected information about association field, location, and type (governmental, educational, or private sector), then asked about management roles, experience years, scientific degree, age, sex.
Second category (production type) investigated percentage of using open source products, detected types of programs used during work, which programming languages and development enterprises are most used, software engineering process that person actually work on, trend of services types like customization or development from scratch.
Third category (quality control and standardization) asked about whether if standard forms or special tools or programs are used in requirements specifications step, in design, in planning and management, in testing, in maintenance, do they apply code review in their association, which CASE tools are most used, in which software engineering process uses CASE tools, is there a quality control team and what are practices do they act (like monitoring, assessment of workers’ performance), which cost estimation methods are most used, and which version control systems are most used.
Fourth category (relationships between association and customers) questions was interested in appreciating ease of communication between team members who work on the same product, ease of communication between association and customers, if there are support methods after product delivery (as training, and user manual), percentage of those product that are delivered late, and extent of customer satisfaction.
Fifth category (production quality) focused on detecting percentage of projects that exceeds their budget, percentage of products that can’t estimate resource for them, percentage of products that can’t estimate work progress, percentage of products that need a lot of maintenance, percentage of products that contains lots of errors or bugs that can’t be solved easily or cause new bugs when solve them, percentage of high performance working products at delivery, percentage of products that are usable and easy to use, and usability of products.
Sixth category (production size) will show the dominant range of budgets of products, and dominant projects durations.
Results of survey show that software engineering practices are employed in production processes of ICT companies in Palestine, some of these practices are good and some are not, but the majority are good.
Next points will show results of each category questions.
From this set of questions we can note that most workers are of bachelor degree. Workers with age range from 20 to 30 are more than 60%, but most of them are males. The weakness point in appeared in this category that most associations are small with workers less than 6. 70% of associations worked on outsourced projects or parts of projects. There are a big number of workers with good experience years.
Using open source programs or tools in production stages is considered little; about 50% of them do not use open source products. As for using different types of programs and tools there was 11% only uses activity management programs. As for programming and development languages, most used for web development is PHP, MYSQL is the most used between other databases, windows is most used between other operating systems; Android is most used for mobile applications development. As for tasks done by worker it’s notable that most workers do the three tasks analysis, programming, testing. As for types of association tasks the following Table 1 shows results.
|Maintenance of legacy systems||79%|
|Development from scratch||95%|
Table 1: Task association percentages.
Quality control and standardization
Table 2 shows results of surveying the percentage of using standard forms or special tools in software engineering processes.
|Planning and Management||53%|
Table 2: Using standard forms percentages.
53% are applying code review. The most used CASE tools are Microsoft Visio, Visual Studio, Rational Rose, Smart Draw, and Altova Respectively. CASE tools are most used for requirements engineering. 70% have a quality management team and the most used tasks in this operation are workers performance assessment and looking for improvement methods. As for cost estimation next table shows usage distribution (Table 3). 50% are using version control systems; most of them use CVS, SourceSafe, and Subversion respectively.
|Using similar projects||71%|
|Pricing to win||35%|
Table 3: Using cost estimation methods percentages.
Relationships between association and customers
For communications between team members inside association specially those who are working on the same project changes like 11% hard, 47% moderate, and 37% easy. But for communications with customers especially in requirements collection and review operations, 5% stated that it’s hard, 74% moderate, and 16% easy. As for support after project delivery, following Table 4 shows percentages of associations that provide support services.
Table 4: Percentages of associated tasks for providing support services.
For late submission of projects, following Table 5 shows projects percentages according to late submissions. For customer satisfaction most associations stated that this is not easy task and some of them described it’s very hard to satisfy customers.
|No late projects||5%|
|Little of projects were submitted late||42%|
|Moderate number of projects were submitted late||37%|
|Lots of projects were submitted late||5%|
Table 5: Percentages of late submission of projects.
Answers to question of percentage of projects that exceeds its budget show that 47% of associations suffer from little number of over budget projects and 37% have moderate number of over budget projects. 42% of associations stated that moderate number of projects suffer from hardness in estimating resources. 58% of associations agreed that a moderate number of projects need lot of maintenance and modifications after delivery. 58% of associations stated that little of projects have bugs after delivery, and 32% stated that number of bugs is not little. 47% stated that moderate number of delivered projects is of high performance and good quality, and 47% of associations stated that lots of projects are of a good quality and performance. For ease of use 47% stated that moderate number of projects have high usability, and 37% stated lots of projects have a high usability. Reusability was high in 32% of associations, moderate in 32%, and little in 26%.
47% of associations are working on projects of budget under $5000, and 53% of associations work on small projects that fall in periods less than 6 months, and 26% of them work on projects between 6 months and one year.
To study the last results shown in previous section we have to state SWOT analysis for that and deduce a set of recommendations. Next table lists SWOT points (Table 6).
Table 6: SWOT analysis.
From weaknesses we have to enforce mechanisms of facilitating communication between team members and between team members and customer. Also strong rule and contracts should prevent submitting late projects to overcome problems between customer and association and increase productivity. Testing should have a bigger chance of software processes to overcome problems of lots of maintenance after delivery. And a very big mistake occur because the same worker do analysis, programming and testing for some project, as this decrease big experience in one field and make testing rapid and weak, and make programming overlap with analysis so lots of conflicts are there in development.
From opportunities we have to exploit the energy of young workers by increasing investment in ICT sector, and support the culture and skills of outsourcing as it seems there is approach for outsourcing as local market is weak. Also good number of associations started in mobile applications development and this is a new trend we have to enforce it.
From threats they have to increase using open source programs as this has extra advantages and to exceed problems, activity management programs should be used for managing ticket issuing and following work progress. And using standard forms is not so wide, while it helps to overcome team changeability problems and have other advantages to make product well documented. Encouraging code review is important to decrease errors and bugs. Using control version systems makes no duplication or removal of work and helps decreasing bugs and contradictions and hence project can win profit. Over budget projects means lose and threat of danger on economy. Small projects don’t improve economy, so seeking to win of large projects should be the goal of ICT companies especially those who are working for more than 5 years.
Data mining can find unsuspected relationships and summarize the data in novel ways that are both understandable and useful to the data owner. A set of data mining models were applied on database using rapidminer software to discover rules and associations. A preprocessing step came in first to resolve data from redundant fields, and empty values.
First was clustering which was set to extract three clusters, the main distinguishing factors appeared to differentiate between clusters were using standard forms for requirements specification, design, and testing, and the experience. Following graph shows clusters distribution (Figure 1).
Second was rule induction, a set of rules were extract:
• When considering customer satisfaction as a target label, moderate customer satisfaction when number of late projects are moderate, or experience from one to three years of workers, and low satisfaction when percentage of over budget projects is high.
• When considering the percentage of late projects as target label, high percentage of late projects where most found in associations of workers number between one and five, and low percentage when using standard forms for testing.
• When considering over budget as target label, it will be moderate if late projects and needing for maintenance after delivery are moderate.
When considering well performed projects as a target label, it will be high if using standard forms in design was high.
This paper draw up the most software engineering practices used in ICT associations in Palestine, SWOT analysis show that a big set of weaknesses and threats are there. Some of good practices are used, most associations suffered from delivery problems. Most associations were small sized and the same thing for projects. Recommendations that can be added here, that government should encourage large projects, government shall outsource its projects to local companies to enforce private sector, very good profile and international relations are needed to bid for big projects outside Palestine because the local market projects are small and this will increase income to country.