Respect. Relationship. Trust. Integrity
We support every customer relationship with a governance practice. Our practice establishes accountability and assures ownership and clarity of responsibilities are firmly in place and monitored throughout the project lifecycle. If anything is not in compliance with our client’s expectation, immediate escalation, and rapid intervention is immediately executed through structured communications and mutually agreed on corrective action.
We integrate our governance practice into our relationship management, and it spans across five areas:
We appreciate what is unique about each and every client and recognize that different circumstances demand flexibility and quick response to change. We adapt our model to best suit the situation of our clients. For example, the needs of the pre-revenue Startup differ drastically from those of a well-established commercial enterprise. Our aim is to bring value to your business, eliminate uncertainty and reduce risks. An example of the type of work models we provide for different customers may include:
We recognize the single most costly budget item for a technology startup involves the cost to recruit engineering talent and associated payroll to fund early development before you acquire paying customers. GSPD can offer a highly flexible model which could involve a small equity stake to ensure initial capital is freed up to be allocated and optimized only for the activities necessary to prove your product has a market fit and further validate business model estimates in which your investors will believe.
Fixed price projects work best when you have a detailed business, functional, and technical specification. If you do, great, that will make things easier, but the reality is many clients don’t and it could take some work to get it all in place. If you don’t have a detailed specification in place, then we will help you complete the process. Our framework for building out a detailed specification will guide you through the process based on a holistic view of your expectations, the business value predicted, and outcomes you hope for.
You may have your in-house engineering, but you just closed a large scale project and needed to extend your team. Our teaming resource model is designed to fit into your engineering organization and is scalable based on the needs of your projects and business. When projects demand, resources can be located onsite where and when needed. Project Managers or technical leads from your side drive the planning and development for all engineers who are team members. We provide a single point of contact relationship manager who is accountable for all aspects of the relationship. Based on the nature of your projects and business requirements, we can provide flexible pricing models best aligned to support your financial goals and objectives.
We are cognizant of the fact that time is money, and our clients expect and deserve a highly efficient process to progress a project from inception to completion. Although not a complete explanation, our methodology, and process involve the following flow:
We start out with protecting your ideas and rights to your intellectual property through execution of a mutual Non-Disclosure Agreement (NDA). We do not outsource your work to subcontractors. All work is performed by our employees in our offices or on your site if necessary. Rest assured that all works are protected, and you can trust in our commitment to keep all information secure and confidential.
The next step is to begin every engagement with a quick start workshop that serves to align key client stakeholders with the GSPD executive team. We join with the customer in a structured discussion that begins with relationship building, establishing mutual trust, and rapidly covers information to attain a complete and comprehensive understanding of the client’s business and their objectives. Depending on whether a specification existed or not, we guide the client through our specification framework process to evaluate what is required to build and finalize a complete specification. We will use and share tools we have developed that utilize both charting and visuals to ensure we cover every aspect of the project for which we are responsible and also validate and verify we have collected every requirement peculiar to the software system and its lifecycle.
Another objective of the workshop is to get a good feel for the client’s style and preferences and to agree mutually on which member of our executive team will serve to provide complete oversight of the project and manage all aspects of project governance.
Most clients are eager to get a quote upfront without having provided all the information necessary. If possible, we will provide a non-binding budgetary estimation within range. We provide a binding quotation only after we complete the specification framework process, provisionally agree on architecture paradigms and the technology stack preferred. For large projects, depending on complexity and scale, we may need to charge for time and materials if the work involved to evaluate the project requires the assignment of resources dedicated full-time. Should this be the case, we will bring the matter to the client’s immediate attention.
Upon completion of the project specification, the customer is furnished with a complete quotation which includes mutually agreed milestones and a schedule. Upon client acceptance, additional activities get planned to assign roles and responsibilities as appropriate, and a mutually agreed meeting cadence to discuss project status, and manage any issues and actions. Our governance executive will also provide a written project status summary on a cadence to be mutually agreed.
At GSPD we use version control systems. We support a strict Git workflow and policies including right branching and tagging, so everything is presented clearly in the repository. As a consequence, the project is much more robust and can easily support a client’s future need to move the development in-house or switch from one developer to another. We make it easy and save the customer time by ensuring the learning curve is minimized for new team resources or new developers added to a project throughout the product lifecycle.
We use proven architecture paradigms like MVVM, VIPER, reactive and validated design patterns. We are fans of the “divide and conquer” design strategy, and each of our classes is dedicated to one purpose. We are careful with naming classes, methods, fields, parameters and variables, so the code we produce is declared as “self-documented.” As a consequence of our approach to a build, the quality is improved, and risks reduced. Changes to code will take less time, and even a newcomer can quickly navigate our code.
We document the project in a dedicated Confluence space which can be established by the client or GSPD. Everything is kept centralized and transparent. In conjunction with regular project status meetings, we use clear communications channels such as Slack to manage project information.
What makes your users love your product? Of course, the interface is critical, but to be more precise, isn’t it the quality of your interface? How do you measure the quality of your interface? Our answer – in units of time required by the user to accomplish their tasks. The less time it takes – users will be delighted with the experience. Intuitive and straightforward user interface designs are what we – earth people – want. At GSPD we believe that beauty should be everywhere - both inside the product, where the server and smart logic resides, and outside – where the user interacts and experiences the product.
We have been developing mobile applications long before GSPD established in 2014. We grew up with the emergence of Google Android material design and flying colors of Apple iOS 7. Mobile applications can be very aesthetic and engaging, or uninviting. We take pride in crafting captivating and appealing apps. We insist on designing robust internals built upon MVVM or VIPER and mechanized by Reactive. Our strengths include:
Need your app working in the field independent of network conditions? We have in-depth proficiency in:
Need your location capabilities deployed in the most excellent way, right?
Different application tasks require a different level of location precision and minimizing battery consumption is essential for keeping your users happy.
We specialize in well-stacked web applications!
The back-end engine is fundamental to every solution. We architect our engines like we are building a supercar. Reliability and performance are areas on which we love to concentrate through profiling and tuning the code. We use only genuine components from Microsoft, Oracle, PostgreSQL, Apache and Linux for back-end development.
Our strengths include:
At GSPD we speak REST fluently - the language of HTTP verbs and web resources. When we do not speak REST, we speak “Великий, могучий, правдивый и свободный” and the language of Shakespeare.
Microsoft Azure, Amazon AWS or going to the Private Cloud? We help our clients define the Cloud services they need. We build them and then fly you there.
GSPD love developing apps that involve handling geodata. Geodata is information that describes geographic locations stored in a particular format. Geodata has a vital context for projects where location services are required. There are various applications of geodata in the modern world. At GSPD we are experienced in applying geodata algorithms to objects tracking (including vehicles) and geospatial search (including the geospatial search in time).
Every system starts with data. At GSPD we always develop an ERD (Entity Relationship Diagram) first. Then we build the database schema or models depending on the approach selected – database first or code first. We love SQL although we also use NoSQL or Solr is appropriate.
At GSPD we do not rely on assumptions - we test them. The feature is either tested or not ready. For each project, we build a customized QA plan. We practice comprehensive issue tracking because “bugs” are not restricted to the software code alone. You can have flaws in the design, the requirements, the specification or even the business processes. So we use an issue tracking system to uncover and help prevent all types of bugs. Our goal is never to let an insect sneak into the release build, and we have an excellent record in managing this.