Software development techniques in Albanian private software companies Arbora Dalaci, Esmeralda Kapcari 7 th Workshop “Software Engineering Education and Reverse Engineering” Risan, Montenegro, 9 – 14 September 2007.
Software market in Albania Actually in Albania there are 7 software development companies About all these companies are partners (have purchased the licences) with: Oracle, Microsoft, IBM... Mostly they deal with private market but recently they are dealing with the government market too.
Quality criteria of software products developed Correctness – not so much Reliability – not so much Robustness – missing Efficiency – not so much User friendliness – good Maintainability – ok; main profit for the company Scalability – missing Readability – poor Reusability – ok Modularity – ok Portability – missing Compatibility – ok Testing – ok Costs – main concern
Quality criteria of software products developed
The main phases from planning to the product The representatives of the software development firm make a meeting with clients Here are discussed the main requests about the product There are not so many suggestions from the clients
Analysis and definitions It is made an analysis in cooperation with the client Definitions keep on growing because it misses the methodology on the communication between the client and the solution provider. Some times the lack of experience from the solution providers.
The first meeting of the development group Here are discussed the hardware platform were the product will be installed The main technologies that will host and develop the software product. During this meeting many questions about the product are raised and pointed out At this point are defined the licenses needed to be purchased by the client
The second meeting with the clients Answers are given about the questions raised from the development group Clients agree about the licenses and other technical conditions that are needed Here it is agreed about the GUI; desktop or web application or both
The second meeting of the development group The project timeline (development, testing, implementation and maintenance) Here are spotted the development phases and assignments Here is done a cost estimation about the product
The main modelling plan Here mostly is used the spiral model as the development model for a software product. Many meetings with the client during the development Requests (by the client) may change during phases
The development begins During the development phases can be done several meeting with the representatives of the clients Can be added or reformulated different specifications or requirements The development is modular in most of the cases During the module development there are done several testings on the modules
Testing period Gather together all the modules A short period time of testing At this period there are not spotted the logic problems but the errors that concern in the communications between the modules After the testing period are revised the requirements for the product
Implementation period The installation of the software product The configurations The hardware installations Some cases we concern with the connections testing to verify and achieve the technical requirements
Product monitoring after implementation Monitoring the performance Monitoring of the reliability Monitoring of the user friendliness Monitoring of the security Gathering of users feedback If any of these its not as was expected, the revision of the module is done.
Maintanance Depending on the type of contract In-site or off-site maintenance Can be as cost per call or fixed fee. It is considered as the main source of profit for the software development company
Thank You