Arbora Dalaci, Esmeralda Kapcari firstname.lastname@example.org, email@example.com 7th Workshop “Software Engineering Education and Reverse Engineering” Risan, Montenegro, 9 – 14 September 2007. Software development techniques in Albanian private software companies
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
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