R&D and innovation-oriented software development company
arrow Request For Proposal Case Studies

Process

Software development is a complex process consisting of distinct stages. The clear delineation of stages helps to better manage, develop and maintain an application. The exact stages may vary depending on a given project's requirements, duration, team size, etc.

Below is a broad outline of our software development process.

Research – We study your requirements and conduct specific, tailored research regarding your proposed project.
Development – Once we have clearly established the project requirements and prepared the SRS, we will begin to implement the project and carry out
the accompanying tests.
Delivery – We will deliver the project directly after the code is tested and approved for release. After software is delivered, we provide ongoing support and on-demand refactoring.

Full Software Development Life Cycle

In order to deliver a bug-free software solution that meets all the business requirements of a client, our team clarifies all business-related and technical issues and works on the project in close collaboration with client the throughout the whole project development cycle.

1Project definition. The first stage of any project is to define client's unique needs and requirements. During pre-production, our company discusses the initial project requirements, business vision, project budget, copyright concerns, etc. with the potential client.

2Analysis. The purpose of this stage is to make a Project Specification based on the Vision Document and software requirements specification (SRS).

3Proposal. The Project Proposal is prepared in order to clarify all business-related and technical issues.

4Architecting. This is the first stage of development.

5Development. Our Offshore Model provides the framework for the perfect remote execution of any project.

6Tuning. After showing the Beta Version and before the final QA, our customers have the opportunity to make modifications to the software requirements. We call it Tuning.

7Quality Assurance. Quality Assurance tasks are conducted throughout the development process to ensure that the final product is of the highest quality.

8Delivery. In most cases delivery is made in accordance with FTP protocol.

9Warranty. Our standard warranty includes a 1-month guarantee period.

 

Project Definition

The first stage of any project is to define the customer's unique needs and requirements. During pre-production, our company discusses the initial project requirements, business vision, project budget, copyright concerns, etc. with the potential client.

After the potential client forwards the Request for Proposal (RFP) to us, we automatically store it in the company’s database. Then the client is assigned a dedicated Sales Manager (SM), who is responsible for handling communication between the client and our development team, as well as resolving any issues that arise during the project.

Pre-Production also includes the following steps:

Business Ethics. At this stage client can sign a Non-Disclosure Agreement and should complete all other preliminary paperwork.

Pre-Project Consulting. The SM supplies the client with all the necessary information about our company, expertise, team, etc. and answers all of the initial questions.

Business Requirements Definition. Business terms and restrictions are the key elements to any project.

  • Timeframe Definition
  • Budget Definition
  • Warranty Period Requirements Definition
  • Additional Conditions

Business Model Definition. At this stage we complete the Vision document which describes the purpose, objectives and logic of the proposed software. This stage is not required if client already has a Vision document or a completed Project Specification.

Outline Estimation (optional). This stage may be performed before the project has been started for small projects (under 300 man-hours).

Contract for Development. After the Vision document has been completed, we clarify any remaining general issues and sign the contract for development.

Software Requirements Definition. Effective analysis of customer requirements is a critical factor in any successful software development process. Therefore, we pay a lot of attention to this stage.

Full list of software requirements:

  • Functional Requirements Definition
  • Documentation Requirements Definition
  • Performance Requirements Definition
  • Security Requirements Definition
  • Interface Requirements Definition
  • Portability Requirements Definition
  • Operational Requirements Definition
  • Quality Requirements Definition
  • Resource Requirements Definition
  • Reliability Requirements Definition
  • Verification Requirements Definition
  • Maintainability Requirements Definition
  • Acceptance
  • Testing Requirements Definition
  • Safety Requirements Definition
  •  

The principal deliverable for this phase is Software Requirements Specification Draft (SRS Draft). When we have finalized your budget and other requirements, we can go on to analyse the project and propose a suitable solution.

Note: We can proceed with your SRS if you are a professional software development company or if you have already completed this phase.

Top ↑

Analysis

The purpose of this stage is to make a Project Specification based on the Vision Document and SRS Document. There can be two possible situations:

  1. The client has an exact Project Specification. In this case we will analyse the Specification and make suggestions for improvements as necessary.
  2. Client does not have an exact Project Specification (for example, the client has only provided a preliminary Specification or a description of their requirements). In this case we will discuss all the requirements with the customer and then develop the Project Specification.

In either cases, this stage involves the following:

  • Choise of Platforms and Technologies
  • Third-Party Service Integration Analysis
  • Third-Party Solutions Integration Analysis
  • System Architecture
  • Technical Proposal Draft development

Once we have the client’s budget, Business Requirements, SRS draft, and Project Specification draft, we will compose a suitable Technical Proposal Draft.

Once the customer approves the Technical Proposal Draft - as well as our time and cost estimates, the draft is upgraded to a final Project Specification.

Top ↑

Proposal

The Project Proposal is prepared in order to clarify all business-related and technical issues.

A Project Proposal covers the following points:

1) Terms of Service. We offer very attractive conditions for our customers such as: payment by milestones; product support; customer support; end-user product support; monitoring; etc.

In the Project Proposal we state:

  • Conditions and payment plan
  • Length of our free support period
  • Warranty period (free bug fixing)
  • Post-project AceSupportTM services

We are ready to consider any of client’s additional requirements concerning conditions of the service.

2) Development, Project Management and Testing Team planning. Careful team planning is the most efficient way to optimize the result of a project. Depending on the project's size, length, complexity, and our previous experience, a certain team of developers is chosen. Typically it consists of:

Project Manager
Team leader – the most experienced developer in the team
Developer(s)
Designer(s)
Tester(s)

3) Time and Cost Estimation. The cost of our services is calculated using our time costs and hourly rate. Based on the composition of our team and the software requirements, we estimate the total sum of man-hours necessary to complete the project. The total cost of development can also include other charges such as unique hardware, third-party services, etc. At this stage, we provide only a draft cost-estimate. Some changes are possible when we begin to develop the complete project documentation during the Architecture Stage. In most cases, our Time and Cost Estimations drafts are highly accurate and do not vary more than 10-15% from the final cost.

4) Timetable Design. We develop a timetable for each team member as well as a general timetable for the entire project, which is based on the total man-hours of work. The timetable is a list of all necessary work, beginning with project documentation and ending with functional implementation and testing. This level of detail helps both sides see how the project will progress. Additionally, upon the client’s request, any of the steps can be designated as a "checkpoint".

5) Define Milestones, Checkpoints and Deadlines. In order to meet deadlines and control intermediate results, we divide the Timetable into separate milestones:

  • Prototype
  • Alpha Version
  • Beta Version
  • Final Version
  • Delivery and designation of specific calendar dates for the demonstration of results.

As previously stated, upon the client’s request, checkpoints (demonstration of certain results on a certain date) can be attached to any phase (upon the customer's request).

Top ↑

Architecting

This is the first stage of development. During this stage we complete the documentation necessary for the rest of the development process, including:

  • Develop and approve a final Software Requirements Specification (SRS)
  • Software Architecture
  • Object Model, Data Structures
  • Communication and Interface Protocols (if required)
  • UML Design
  • ER Database modelling

Top ↑

Development

Our Offshore Model provides the perfect framework for the execution of any out-sourced project.

Usually during the Development Stage, the active participation of the customer is not required. Using the exact specification approved by customer, we work independently and accurately to carry out every phase of development.

If necessary, our team can work closely with the client’s managers. This is typically required for large projects or partial outsourcing. In such a case, our AceRemoteProject™ system coordinates all necessary interactions between the client and our development team. If it is a situation in which our team is working as part of the client’s team, then we are more than comfortable using the customer's preferred project management software.

The Tuning Stage, which is optional per the request of the client, and the QA stage typically require more active participation from the client.

Top ↑

Tuning

Most development companies do not allow clients to change the software requirements until the project is completed in accordance with the original specifications.

Our clients, however, have the opportunity to make modifications to the software requirements after the release of the Beta Version and before the final QA. We call this "Tuning".

During this stage we request daily active participation, daily contact and the immediate notice of desired changes from the client. This, in turn, allows us to produce a better product in a short space of time.

Top ↑

Quality Assurance

Quality Assurance tasks are usually spread throughout the development process to ensure that the final product is of the highest quality.

Standard Quality Assurance measures include:

  • Objectives and Acceptance Criteria Definition
  • Test Plan Development
  • Usability Testing
  • Functional Testing & Debugging
  • Third-Party Services Integration Testing
  • Security Testing and Hacker Attempts
  • Performance & Stress Testing
  • "Human-factor" Suggestions

We develop a custom, comprehensive strategy to test each application. You'll also be provided with a definition of these tests, the data requirements and the actual and expected test results. In addition, you will receive exact documentation of our usage of time, your budget and resources.

Top ↑

Delivery

In most cases delivery is made in accordance with FTP protocol. Delivery includes:

  • Application Delivery
  • User Documentation Delivery

Deployment. For web-based projects (Internet, Intranet, Web), the delivery also includes deployment onto a server for the customer:

  • Network configuration
  • Server(s) configuration
  • Product Installation
  • Product adjustment
  • Testing

For web-based projects, Deployment is done during the QA stage in order to test software in real conditions.

Knowledge Transfer

  • Technical Documentation Delivery (project documentation)
  • Software Source Code Delivery
  • Graphics Source Files Delivery

User Training. Besides usual training, this phase also includes support for non-standard problem solving, adjustment of system parameters, and client support for any stage of product development.

Project Acceptance. The client’s confirmation of a successful delivery and their 100% satisfaction.

Top ↑

Warranty

Our standard warranty includes 1-month warranty period with.

If a considerable amount of post-production support is necessary, you can use our AceSupport™ services.

  • FREE bug fixing
  • FREE customer support

Top ↑

Request For Proposal
  
Find us on Facebook
About Program-Ace

Learn more about who we are and what we do.  More »

Program-Ace software solutions are recognized by authoritative organizations and confirmed by international certificates and awards.  More »

Cooperation models that suit any business and project type More »

Make Program-Ace your technology partner or join our Ace Affiliate program to easily earn commissions through advanced referral scheme.  More »

ISO 9001:2000 certification brings many advantages to our company like the overall improvement of our performance, efficient management and corporate image. More »
Our highly skilled employees are the driving force behind our success. We welcome you to join our growing team of professionals. More »

Interested or have questions?
LET’S START A DISCUSSION!

arrow
arrow
     
Testimonials

GSN Games is completely satisfied with Program-Ace's technical expertise and the quality of services they provide. We look forward to collaborating with Program-Ace again...

Stuart Lewis-Smith, Senior VP and General Manager, GSN Games

Program-Ace has completely dispelled my concerns. The online project management system is one of the best I have seen...

– Scott Zerby, Vice President at ValuSoft

If you're looking for a professional, dedicated, digital development partner, I highly recommend Program-Ace...

– Tim Ransom, President at Visual Thunder Media
Our Clients
Electronic Arts logo
Valusoft logo
Wargaming logo
Namco logo
Kuju logo
DTP Entertainment AG logo
About Program-Ace
Contact Us

Phones:
USA +1 347 53 53 543
Ukraine +38 067 578 40 46

Email: rfp@program-ace.com

Skype: program.ace

Address

56, Poltavsky Shlyah,
Kharkiv, Ukraine

Stay Connected