Business success from your technology at a distance of button press >

Check list⁢

Under the leadership of Andrey Tiroshkin, Binovite formulated about 40 recommendations for startup companies throughout their journey, established companies and investors. The recommendations are divided into six areas: operation, software development, information management, artificial intelligence, general management and investments and finances. Andrey Tirushkin accompanied over 100 different companies and carried out hundreds of projects in the last 15 years. Start-up companies can use recommendations to take themselves a step further, established companies can use recommendations to improve their processes and investors can use recommendations to understand how to evaluate startup companies for investment.

operation

  1. Planning the company as a complete business machine

    All company departments should be connected and the information should be cross-referenced, in order to drive processes from one end of the company to the other.

  2. Implementation of automatic processes in the organization

    Using software tools, artificial intelligence, personalization, etc. to automate repetitive processes, use employees’ time more efficiently and create a more pleasant customer experience.

  3. Automation of processes in the organization with the help of artificial intelligence

    Using tools such as language modeling, learning from past cases, personalization. “Service” operations can be produced automatically and faster. Service personnel enter a phase of control and situations that the system has not yet recognized from past cases.

Software Development

  1. Performing a cost comparison between internal development and buying an existing product

    Despite the tendency to develop, you will perform a characterization of the capabilities you are looking for, then perform a test to see if there are tools that meet the need in the market and finally perform a cost comparison taking into account long-term maintenance.

  2. Balance between in-house and outsourced developers

    Despite the tendency to employ salaried employees, it is better to employ individual core people within the organization and the rest is better to be outsourced.

  3. Locating and interviewing In House developers

    There is a tradeoff in the triangle: technological capabilities, price and interpersonal/organizational capabilities. Use connections and recommendations to find the right mix for you. Even after you have started the employment, check the candidate’s performance in the first two weeks.

  4. Wise use of freelancers

    When you want to hire: someone very high-quality part-time or working for a few hours a month. From my experience, contrary to popular opinion, in most cases freelancers are more loyal and efficient to the organization because of the flexibility in the employment model and the responsibility for their good name and contractual commitment.

  5. Invest in the needs of the paying customer – the “preparation for the air conditioner” method

    The wisdom in software development is to build something only when there is a real need for it (from a paying customer), without investing huge sums in infrastructure before there is a need for it. At the same time, leave room for future expansion.

  6. Adaptation to Scaling

    It is important to implement Design Patterns that do not delay the development at the beginning and allow the recipient the processes later on that will be necessary.

  7. Performance optimization

    In 99% of the time 1% of the code runs, using analysis tools and advanced software techniques makes it possible to improve those bottlenecks and improve the user experience of the entire system at little cost.

  8. Turning Monolith into a cloud system

    Many systems started out as “classic” software that ran on one server and did not allow true Scaling. In most cases, years of thinking and adjustments have also been invested in them, which does not allow leaving everything and redeveloping with an advanced method. Building a transition plan to the cloud will allow you to continue working with the old system so that with each new development the system will become a cloud system.

  9. To rotate one degree at a time – the one degree rotation method

    Large organizations do not allow changes (due to existing customers, outdated infrastructure, budget limitations), but even a large ship that turns one degree every day will eventually change course by 180 degrees.

  10. Choose an accurate and up-to-date set of tools

    Choosing as limited a set as possible of technological tools that are up-to-date enough to satisfy the full needs of the company.

  11. Product evolution planning

    Compare with similar successful companies in your sector to plan your product along the evolution they have gone through instead of just focusing on the immediate needs.

  12. Performing cloud provider evaluations

    Examination of the configuration of the cloud services and examination of cheaper/more efficient alternatives. For example: examining the feasibility between different cloud providers Azure/AWS/Google cloud and optimization of Scalling.

  13. Migration of SQL to Nosql service
  14. Total system engineering
  15. Comparing service providers against our database of tested providers (cloud services, designers, developers, devops, etc.)
  16. Perfection of the technological department so that it is one step ahead of the demands from sales

Information management

  1. Characterization of the company’s database

    Build a data model and specify in which system the records are kept. You can later analyze the information in a more convenient way.

  2. information gathering

    Be sure to collect information into the system that you characterized in as many business processes as possible: code development, customer service, sales, etc.

  3. Balance between the need for a SQL base and Big Data

    Saving information in SQL is easy and allows fast cross-references, but is limited in performance. The use of database management techniques makes it possible to keep as much core data as possible that is essential for the business function, and the output of the excess information to BigData so as not to overload the system.

  4. Improved database performance

    Using database management techniques makes it possible to improve the speed several times, sometimes by making only simple settings. Example techniques: indexes, stored information, preprocessing of information, analysis of locks, etc.

  5. Dashboards and data analysis – the CEO’s eyes

    Using advanced tools to display information relevant to each department or manager in real time. It is important to present to senior management the KPIs that reflect the general situation in the business without creating a data load.

artificial intelligence

  1. Application of artificial intelligence algorithms

    There are thousands of ready-made algorithms (most of them free) and every day something new is invented. AI capabilities can be added to the organization relatively easily, putting you on the same page as advanced artificial intelligence companies.

  2. information gathering

    Most of the time, the biggest obstacle is not knowledge of AI, but a database from which one can adequately learn. Data collection techniques from the first moment save every piece of information and every user interaction and prepare it for future cross-referencing and analysis.

  3. Using cheap models for initial processing

    Artificial intelligence systems consume a lot of computing resources and costs. Using models for initial processing of the information will save costs in using the advanced models.

  4. shortening the learning time

    The learning time is an important parameter. Using advanced tools for managing Pipeline and databases allows to shorten the learning time, which, in addition to lowering costs, accelerates the Data Scientist’s optimization cycles.

General management

  1. Lean organizational structure

    Aiming for a handful of skilled people who each know the full picture, and completing the permit with technological tools and outsourcing. Gives motivation to initiate without the breakdowns in bureaucracy or a broken phone between the departments of the organization.

  2. Responsibilities in every startup

    In most startups, all responsibility falls on one programmer. In practice, the following roles are different and their knowledge is necessary for the organization: CTO, R&D, team leader, product manager, software tester, back programmer, front programmer, application developer, DevOps person, system engineer, database person, WordPress website developer, DataScinece person, property , Solution engineer, integrator, IT and networks person.

  3. Distribution of responsibilities where the number of people is less than the number of responsibilities

    But what do you do when you only have a budget for 2 people? First of all, you need to make sure that they share these specialties among themselves, and implement work procedures in which they wear a different hat each time, and what not to export to Outsource.

  4. Operating procedures

    Most of the time there are no lazy programmers, but there are many programmers who do not understand what is expected of them. Building a stable work flow allows software professionals to increase their head and reduces misunderstandings and bugs.

  5. Balance between immediate requirements and long-term technological requirements

    The software and marketing department live in different time dimensions. Sales often think in terms of from today to tomorrow, on the other hand, the software people aim at infrastructures that will serve the company for years. Bridging the gap between the departments is a key to the company’s success.

  6. Training of software teams and managers

    The world of software and AI runs at a crazy pace, just keeping track of what’s new and training teams is a full-time job, this is knowledge that every company must maintain in order not to remain obsolete.

  7. Management of software crises

    Preparing the company for crises such as cyber, breakdowns and overloads, information leakage, departure of a key person, etc. And when, God forbid, it is important to have by your side a professional who is already experienced and knows how to conduct himself.

  8. Penetration test

Investments and finances

  1. Planning the development budget with a broad vision

    Most of the estimates of the software development budget are optimistic, in practice the cost of development is inflated by hundreds of percent for what was included. Risk Management? Creditors must be taken into account such as: changes in customer requirements, maintenance, security, technological obsolescence, maturation of the system, turnover of minds in the team, etc.

  2. Arriving at the first money

    Designing a minimal MVP version so that it can be expanded into a full product later. Insights are always with the customers, what we imagine as entrepreneurs will change as soon as the product meets the first customer. It is recommended to have conversations with potential customers.

  3. Supporting a portfolio of startups after the investment
  4. Link between entrepreneurs and investors
  5. Use of a professional in the relevant technologies

    Before investing, it is important that a professional who understands both technology and business do a close analysis of the project to make sure that the real technological capabilities match what the company is marketing in the presentation.