A software development methodology in software engineering refers to the framework that is used to structure, plan and control the process of developing an information system. Different methodologies and models have been developed in the past decades to optimize and improve the process of software development. The specific development approach that we choose for a
project has as much influence over a project's success as any other
major planning decision that we make. Selecting an appropriate model can largely increase the possibility for
the project to succeed. On the contrary, choosing an unsuitable
approach or - even worse - not using any methodology at all, could be a constant
source of problems and could eventually make the project fail. Therefore, it is of great importance
that we pick a befitting model for our development process and stay consistent with it.
None of the existing methodologies should be considered as a
panacea. Each one of them is suitable under different circumstances and
aims to solve different kinds of problems. Choosing the appropriate
one for each case depends on a large number of factors. Some of the factors that play a pivotal role in such a decision are the size of the development team, the scope of the project and the available resources. Risk involvement, technology used and staff experience are also important to consider. Other methodologies prioritize communication with the customer and revolve around the instability of the requirements. Consequentially, organizations dealing with software development constantly
face the problem of selecting an approach that best suits their demands and little academic support exists to aid in that matter.
The purpose of this study is to examine the degree of suitability
of the most popular software methodologies to fit the needs of Greek
software companies. For measuring suitability we use a large number of
different criteria including the factors mentioned in the
paragraph above. In order to achieve our goal, we are conducting an online
survey amongst several Greek companies, inquiring for key characteristics related to the process of software development.
This paper is organized in the following manner. We initially provide an overview
of the main software
development methodologies by summarizing their main points.
Subsequently, we present a synopsis of their strengths and
weaknesses and compare them to one another. After analyzing the survey's replies, we correlate the profile of the respondents to the methodologies introduced in the literature. Finally, we propose approaches that seem to be the most applicable for the average Greek software company.
The results of this research aim to aid software developers and project managers starting new projects in Greek software companies.
Keywords: Software Development Process, Software Development Methodologies, Software Engineering, Greek Software Companies
Άλλο: The results of this research could provide a starting point for
software developers and project managers working in Greek software
companies to engage in new projects.