Selecting Methods & technologies
Definition & use
Selecting methods and technologies for a software development project is a critical stage. The parties have to agree upon the optimal programming solutions since it will dictate the pace that the programming team will be engaged in. Methods and methodologies as waterfall model, extended to the V-model, Agile Software Development model or XP (Extreme Programming) model must be matched with the projects economical constraints: time, budget, acccess to resources. Nevertheless, selection of technologies in terms of programming language, programming tools and platforms are crucial and will influence the final system design. Sometimes technologies will be imposed by the customer, sometimes the software engineer team will decide best.
Codespring approach
Having a wide experience with various programming languages (C#, C++, Java …) applied within different platforms (Windows MacOS, Linux, Mobile…) Codespring software engineers team developed a specific approach towards selection of methods and technologies. We are proud to let you know that we are as versatile as ferm, if imposed by the project. We are glad to develop software development process according to the V-Model, yet we are ready to shift any time to the Agile methodology, or unleash our „cowboys” software engineers to the XP (Extreme Programming) methodology. Quality is being closely monitored in any of the previous mentioned conditions.
Examples:
1. Client: ABOLIV/ production control project
In order to meet our client’s requirement, we selected the Agile Scrum Programming method combined with the XP programming method. Since we were required to develop a working application in the shortest time without technical interference from the client’s part, our team decided to deepen requirements and develop the software simultaneously. One of the biggest challenges we had to face has been to define technical requirements for food industry, especially for meet production. Therefore we needed to implement and test in the same time.
2. Client: Transylvanian Museum Society / Dspace project
This project contains a set of versatile tools with the aim of managing the Transylvanian Museum Society’s digital assets. The selection of methods and technologies was Codspring’s responsibility. The open source software is written in Java and JSP, using the Java Servlet API. It supports a large variety of bitstream formats thus satisfying the client’s needs. The advantage of the selected technology is that it also supports the Open Archives Initiative Protocol for Metadata Harvesting and is capable of exporting METS packages. This modular system is also suitable for a complete authentication and authorization system. The system is capable to preserve digital assets in their entire lifecycle.
3. Client: various production units / PRODUCTIS project
Because Productis is an internal Codespring development, the requirements were dictated by the current needs of the clients and the desirability prioritization. The basics of the software are well defined but certain requirements don’t have a fixed order of development, this prioritization being influenced by the existing and new clients. The team always has to be prepared for change, and always has a ready to ship version of the product. For this aspect, the Agile development methodologies suited us well on this project.
The project is developed with Microsoft technologies, .Net framework offering a stable development environment and support on all areas. We are using SQL Server 2008 as a storing solution, .Net 3.5 for Desktop Clients and Server, and .Net Mobile for Client PDA applications. Because Productis is about control, well defined and restricted workflow type scenarios for the users are a must, functions that have been implemented with the help of Windows Workflow Foundation, part of the .Net 3.5 Framework.

