Abstract:
A collection of concepts, principles, methods and tools which are used in
software engineering (SE) industry is known as the SE practices and they are important to
work with the software development life cycle (SDLC). Delivering high quality products within
budget limits and on time is a comprehensive problem and a very big challenge in the
information technology sector and also software engineers make failures while they try to
develop software. Drawbacks in existing software practices and not choosing appropriate
practices may cause above problems. The aim of this study is to analyses the characteristics
of SE practices exercised by the Sri Lankan software development industry, to identify the
interrelationship between those practices and describe the challenges of those SE practices.
Initially, a mapping study was performed on five electronic databases to find the past related
studies and the research gap. Then an empirical study was conducted as a survey study for
148 numbers of software engineers in randomly selected software companies in Sri Lanka
and collected data was analyzed using statistical software. According to the results, the most
popular target sector are information technology and telecommunication and most popular
software types are web application and mobile application. Agile software development
methodology is new and widely used in Sri Lankan software industries. Requirement
documentation is the main requirement engineering practice. Testing all features
independently by a testing team is used in testing related practices. Manual testing is used
more than automation testing. Insufficient documentation is challenge to the software
maintenance phases. Most organizations are using project planning, tracking, and risk
management tool and significant correlation was found between sub factors of factor
requirement, design, development, testing separately. The results of the study conclude that
strength and weakness of SE practices in Sri Lankan context.