Want to start a project?
Our team is ready to implement your ideas. Contact us now to discuss your roadmap!
get in touch
Before proceeding with a project, the first and foremost thing we must do is clearly define ideas and product orientation. If the initial idea is poorly tested or the core values are not seen through, the project will inevitably have problems with the wrong values; From there, hinder the later stages and sometimes the final result. To avoid this situation, we should use the Proof of Concept (or POC) method for software development - a term that is familiar but not less important. Although Proof of Concept does not produce a product, it does provide certain visions and assessments of the project's advantages and disadvantages; thus, we can come up with clear solutions that the team can go in the right direction, with the right spirit and product style.
In the following topic on Proof of Concept, Saigon Technology will show you the importance of Proof of Concept and outline 5 critical factors to success.
A proof of concept in the context of custom software development comes to be the validation of a functional or non-functional aspect of an information system or part of it, either by the technical area or by the user area.
We could say, for example, that acceptance tests are a specific type of proof of concept.
During the establishment and implementation of the project, Proof of Concept was highly appreciated, playing an indispensable role. Thanks to the Proof of Concept Guideline, Project Managers can see suspicious factors and potential risks that can hinder the success of the project. Proof of Concept helps both the client and the developer team to agree on the value and general direction of the project; On the other hand, it also helps developers easily identify ways to carry out the project to achieve the highest efficiency.
At Saigon Technology, we will take an example of good Proof of Concept, with thorough steps we take to create a successful Proof of Concept for our software product:
The first and also the most important step, is clearly defining the requirements of the client. Determining the requirements of the client to help us understand the feasibility of the project, understand the nature, and at the same time understand the capabilities of our human resources, thereby identifying and selecting personnel suitability to join the project.
Next, the Developer team will analyze and consider the specific project requirements, thereby providing specific scenarios, timeline,s, and guidelines, as well as selecting the appropriate staff to pursue the project. Each stage of implementation, each step is streamlined with the client's time and the Developers's team.
Based on the established Action Plan, the project will be conducted in a 6-stage loop to ensure effectiveness.
The implementation will start a new process of analyzing customer requirements once more thoroughly to proceed to the Design step. Then, the product will be formed and developed with Development, preliminary completion and to the Testing step. In this step, Tester will carefully check and find out the wrong points of the product, so that the Developers can see and correct it more appropriately. By the fifth stage, the product is nearly completed and deployed soon, the Developers will conduct product testing operations with customers and move to the 6th stage - Review, listen to feedback from customers and edit to please customers, and make products more complete.
The product is now completely complete in accordance with the requirements and spirit of customers. We carry out the delivery of the product, and at the same time provide general information on how to use it, along with some necessary information to ensure smoothness during the operation of the product.
Review our PoC software product development via this link: http://www.bmcary.com/case-studies/survey
It can be considered as a useful tool in the development process. However, it is convenient to adequately manage your expectations and objectives in the current context of the project and the information system, that is, what is intended to validate? What are the minimum thresholds required? Does the validation meet qualitative, quantitative, or both criteria? What are the consequences of not exceeding them? Are the limits well-calibrated concerning the effects on the current status of the project and the current phase of its life cycle? Who will participate in the proofs of a concept know in advance what aspects are not going to have the expected behavior?
In a formal testing process, test levels are often very easily confused with test types, and although they are intimately related, they have different connotations in the process. To understand a little more, let’s start from the fact that the tests can be executed at any point of the software development process, and this is where the test levels allow us to understand the different aspects or stages where specific tests can be executed. Because of the above, it is common for some people to refer to the levels of evidence or try to classify them as developer tests, functional tests, and end-user tests.
Nevertheless, the appropriate terminology to apply to the different levels corresponds to the following four (4) classifications that are: unit tests, integration tests, system tests, and acceptance tests. In each of these test levels, different types of tests may be executed, such as functional, non-functional, architectural tests, and the change of the products associated.
On the other hand, the security of a system or application does not depend on the use of SSL protocols, firewalls or compliance with an ISO 27000 standard. The form of security tests (penetration testing) at the end of the software development cycle is not enough either. Security is a factor that must be taken into account in each phase of development since the production of software is a process in which it is necessary to identify and correct vulnerabilities continuously.
The key, therefore, is in the following question;
Are we building secure software?
At our site we propose the following tools that help develop secure software:
Checkmarx, which is a source code tool used for security analysis, can be integrated with the most common SW development environments (Eclipse, MS-Visual Studio, Jira, Jenkins …) that will alert programmers to the vulnerabilities they enter in their code.
BlackDuck, a tool for analyzing the security, licensing and operation of third-party open source libraries used in the developments themselves. Also integrable with the usual development environments.
In contrast, a security analysis tool for the running application based on IAST (Interactive Application Security Testing), or what are the same gray box tests.
We help our clients in the implementation of the Secure SW Life Cycle, an essential practice:
From a practical point of view, the number of possibilities to exhaustively test a system is merely unmanageable; it is then necessary to use adequate techniques to maximize the number of essential failures found with the allocated resources. Each method used to detect defects leaves a residue of more subtle abnormalities against which this technique is ineffective.
The software test implies, therefore, the application of appropriate techniques and tools in the framework of a well-defined process, determined by the type of software development projects that are addressed.
As a Leading Vietnam Software Development Outsourcing Company, we dedicate to your success by following our philosophy:
YOUR SUCCESS IS OUR MISSION.