We can conduct or participate in the middle- and small-size software development projects.
The possible project types are:
Web-, desktop-, and mobile-applications, API and micro- services, plugins and add-ons done using different technologies and frameworks: ASP.NET, .NET Core, .NET MAUI, C#, VB.NET, PHP, WordPress, JavaScript, React, Lua, Node.js, Java, REST API, EF6, MS SQL, MySQL, PostgreSQL, Jira, Slack etc.
The software development project may include client-server solutions, working with databases, connecting to other possible data sources (clouds, spreadsheets, etc.), and making or integrating APIs and microservices.
New Software Product
For this service type, we can provide the development life cycle steps:
- Learn software requirements:
- What problem does it solve?
- Who are the users, and what is their access level?
- Data input/output specifications (data source, output devices, etc.).
- Should the software integrate with other tools or APIs?
- What are the security and privacy requirements?
- Planning
- Learn how this project relates to the customer’s larger mission and goals.
- Estimate the required resources (people, their roles, and tools).
- Estimate the project development duration and make a schedule.
- Cost estimation: How much is it going to cost?
- Designing and Prototyping
- Make the project’s business logic.
- Create wireframes to demonstrate the software’s projected interactions.
- Create a full-fledged prototype to test business logic and UI.
- Programming and Implementation
- Prepare the required tools and resources (installations, allocations).
- Implement business logic through programming.
- Make trials conducted by programmers to detect errors and fix them.
- Testing
- Unit tests: check if the code blocks work as they were planned.
- Integration tests: verify if different modules or services used by the application work well together.
- Functional tests: check if you get projected data from input and projected output on the projected output devices.
- System testing: inspect software components like performance, load, reliability, and security.
- Acceptance testing: validate the end-to-end business flow test for things like usability, cosmetic errors, and spelling mistakes.
- Deployment
- Make a deployment plan.
- Deploy the completed software to all the projected users according to their roles and access levels.
- Documentation and training
- Make documentation of the project (printed, pdf, or md files). In the case of a complex project, we can provide more sophisticated documentation and learning resources: wiki, slate static, and Honkit. Or we can arrange corporate learning systems like Forma.lms or Moodle.
- Provide users’ online training using online tools.
- Operation And Maintena
- Organize feedback from the users.
- Learn users’ requirements, check their complaints about bugs, and the requirements for the new features and functionality.
- Do periodic maintenance tasks on the software (depending on the project conditions).
Existing Software
In this case we can provide services:
- Adapt existing software to the customer’s ecosystem and maintain it one-time or periodically in order to ensure proper and smooth work of the software.
- Fix existing bugs if the software’s code is available.
- Integrate software into other systems.
- Learn the existing software, write documentation, and/or make learning resources for the customer’s company.
This type of the work contains the steps:
- Learn the customer’s requirements.
- Estimate the required resources (people, their roles, and tools).
- Estimate the project development duration and make a schedule.
- Cost estimation.
- Implementation of the planned activities
- Software testing.