Codespring follows two main criteria for classifying services that we can offer to specialized users –software companies and departments:
- the location where the worksite is placed;
- the phase for which our team is being contracted.
Therefore, you will be able to check our experience in delivering services categorized by location:
Outsourcing / Subcontracting
Outsourcing turned into one booming business model for the last years. Trans-locating day by day operations to other geographical regions or just to another legal entity, under the management and contract of a third company, as a Supplier, the Beneficiary succeeds in achieving important economies, higher productivity and very often 24/ 7 service to final customers. Software industry has been one of the opinion leaders for this approach, since it involved many advantages and benefits for its further development: cost savings, cost restructuring, focus on core business, better quality, com-modification, risk management, tax benefits, contract liabilities. On top of the widely known benefits of outsourcing contracts, Codespring understood that its competitive advantage will reside only in the added value that it will be able to provide to their customers. Therefore, Codespring team developed a specific delivery system, with tight quality control keys and a sum of services that come along with the core service.
If the outsourced process is being delivered in a different country, other than the mother’s company origin country, even while keeping the teams under the same company (!), we will speak about „offshoring”. Main advantage of offshoring system is tax benefit. In addition to this we can also count on reduced infrastructure costs, team flexibility, lean processes, quality insurance, contract liabilities. Some of the issues that might arise are less accessibility on site and, probably, different culture and time zone. Active player in the industry, Codespring has experienced different type of collaboration with its customers. Offshoring is a milestone for any outsourcing company willing to step in the mature phase. Codespring has its own way of dealing with cultural differences and potential communication gaps. We are intensely preparing teams and members for cultural sensitiveness and ways to cope with cultural shocks.
Instead of outsourcing or offshoring very far from the origin country, sometimes it is recommended to „nearshore” – that is , to subcontract activities in a neighboring country. Main reasons for which some will opt for this type of collaboration are deriving from proximity benefits: geographically close, similar time zone, similar language, similar culture, similar politic context or common historical background. All these allow to the Beneficiary high accessibility on site and easy control. Due to our exceptional location in Cluj Napoca, Romania – a powerful university center and a major service provider, yes, we are being involved in nearshoring for companies in Hungary. Our customers benefit of a very well prepared work force and what’s more many of them are native Hungarian language speakers.
When you exclusively need the know-how and the mind of a specific software engineer and require to board him/her in your team, then you will access the on site body lease system. You will benefit of the expertise of this person by generating cost savings and by having full control of any activity on site. However, some issues are to be taken into consideration: keeping a good level of motivation, induction and integration, supporting lumber costs and other problems emerging from prolongation of on site works. No matter how much we would like to avoid leasing out people, sometimes it is mandatory or optimum to proceed as such. Usually, Codespringers are flexible and willing to work abroad. We train each member of our team to flawlessly accomplish any given mission. Keeping permanent contact and supervising his pace at work are just some of the control keys in order to insure the quality of the persons’ journey in your company.
Please find below our experience in delivering services categorized by project phase:
First phase in any software development endeavor is requirement analysis. It is crucial for understanding what the imagined system will have to perform. It will not describe how the system will perform, but it will include users’ s needs in terms of functional, physical, interface, performance, data, security requirements. At this moment, an user requirements document will be created and re-analyzed by all parties. The document will guide the system designers in the system design phase. The users acceptance tests are to be designed during this phase. 360° analysis of users requirements is a solid stone for high quality software developments. Codespring has been refining its skills for the requirements analysis stage since we are dedicated to the success of our customers projects. There is no room for misunderstandings, incertitude and ambiguous requirements. Clearer the communication, faster and better the work we deliver.
Second phase in building software is architecture design also referred as „software architecture” . It actually consists in a high-level design and it is an abstract representation of the system. The architecture design is challenged by the need to make sure the software system being developed will meet requirements of the product, while ensuring that future requirements can be addressed. The architecture design has also to reveal list of modules, functionality of modules, interface relationship, dependencies, database tables, architecture diagrams, technology details and so on. Passionate about software development, the architecture design phase is the one we like most. Talented and extremely skilled technical engineers run into a race to deliver best software architecture designs. Not to mention that we will always guide you through the selection of different architecture designs by highlighting the pros and cons of each proposed architecture.
The third and the most time consuming phase, the Coding phase known also as „implementation” or„programming” stands for the effective writing of code of the future software. In this stage, allprogrammers or software engineers are aware of their individual and collective tasks and deliver actual work. More experienced they are, quicker they deliver and are able to foresee and prevent probable deviations. Following the established schedule for the programming activities, the quality may be monitored through own evaluation, team evaluation and client evaluation. In order to insure best conditions for implementing software development, Codespring’s approach is to permanently have in action a nest of highly skilled programmers and a system to alwaysimprove their technical and interpersonal skills. Challenge and fun are two keywords in delivering extremely qualitative codes. We love coding and that’s why implementing software at Codespring is basic training for higher and higher performances.
Fourth phase: unit testing. In order to check if source code is fit for use, testing will begin by individual parts of the total software. The smallest testable parts of a software are being called „units”. For optimal verification and validation, each test case will be independent from the others. The goal of software developers is to see whereas the code is according to featured design and if it behaves as it was ment to. Running this phase is of major importance due to its clear advantages to modern software development: allows later changes and modifications, makes unit and module integration easier, provides real-time documentation of the software and last, but not least, the unit testing can stand for a formal design. Unit testing is a certificate towards higher quality of a software. In the attempt to achieve highest quality standards, Codespring heavily recommends unit testing method. There is also to note that while dealing with extreme programming, unit testing is vital. However, discussions arise for „testing anything that can possibly break” strategy over the „testing every execution path” strategy.
As a fifth phase, integration testing combines individual software modules that have been unit tested, into larger aggregates that will be tested according to a test plan. The final outcome is anintegrated system ready for system testing. Goals of this stage is to see if performance, functional and reliability requirements are being met. Most common types of integration testing are: Big Bang testing, Top-down testing and Bottom-Up testing. Our team experienced in its 15 years of practice various types of integration testing. We are keen in delivering excellent software. That’s why some can always rely on us for detailed testing methods. Customer satisfaction occurs when requirements are being full filled.
Support & maintenance
Final phase: support and maintenance. Operations at this level consist in providing necessary technical help and maintaining the code so that it functions flawlessly. In order to achieve customer satisfaction, Codespring procedures and quality standards state the necessity of providing adequate technical support and maintenance. We can offer solutions on a constant contract basis, including a monthly fee or a system rewarding punctual technical interventions.