Management accounting for a small IT team

    1. Introductory


    The market of IT-services has many small independent teams (organized groups of developers, analysts, consultants, etc.) that are no longer individual freelancers, because they appear in front of their clients as a single team, but still (or generally) are not full-fledged companies, since they do not have the “auxiliary” processes typical of organizations in the following areas in the following areas: work with personnel, managerial and financial accounting, document management, etc.

    Despite this, small teams also have to one degree or another to develop all these processes, including Engage in their “internal automation.” At the same time, it is very important to find a reasonable compromise between the functionality and the cost of resources for creating such "internal" IT solutions. After all, no one wants, for example, to lose hours and money, manually conducting settlements between customers and team members. On the other hand, no one wants to spend their time and money on creating or implementing “sophisticated” systems instead of making money on commercial projects.

    Presenting one of these teams, I want to share my experience in creating a small system for managerial accounting within my team in the format of an “IT case”.

    2. Business goals, problems and limitations


    Basic goals:

    1. Ensure complete transparency of mutual settlements with customers
    2. Ensure complete transparency of mutual settlements within the team
    3. Understand at any given moment in time who, what tasks and for whom performs
    4. To ensure the fixation of internal and external formal and informal agreements regarding the timing and estimated (maximum) labor costs for tasks
    5. Reduce “unproductive” labor costs for preparing reporting documentation for clients (accounts, acts, time shields, etc.)
    6. Be able to analyze the financial results of the work performed

    Limitations:

    1. Temporary - ready for use in 1-2 weeks
    2. Financial - the cheaper the better
    3. Functional - the ability to "gradually" increase the functionality at the same time using the solution as the understanding of current and new business requirements for it with minimal "overhead" on the process of making changes (release of versions, testing, deployment, etc.) improves

    3. Ideas from IT


    Based on the goals and limitations, the following alternatives were considered:

    1. Use some ready-made solution from the field of "general" accounting (for example, based on 1C)
    2. Use some ready-made solution from the field of automation of development processes (for example, Redmine)
    3. Do something your own

    After considering the pros and cons of each of these three options, it was decided to dwell on option 3.

    Option “1” didn’t work because any such “ready-made” solution would have to be further developed according to the specifics of our tasks, and the labor required to finalize using an unfamiliar platform would hardly be less than creating such a solution “from scratch” based on proven technologies. Plus, I was confused by the need to change our calculation processes to the logic implemented in the solution.

    Option “2” was better suited from the point of view of reflecting the specifics of the IT team, but the financial and settlement part of the functionality was either absent there or was not sufficiently developed.

    Both in case of “1” and in case of “2”, I was also embarrassed by the need to pay the cost of licenses and the presence of “additional load” of additional functionality that was not required in the foreseeable future or was already implemented on the basis of other systems (for example, work with plans project schedules from Redmine functionality have already been implemented using MS Project, and work with project documents and an internal interaction portal using Alfresco ECM).

    In option "3" bribed the opportunity to do exactly what is needed now and gradually develop it as the requirements expand and change.

    As for the platform for creating an accounting system from scratch, at first I planned to do everything within the framework of the internal interaction portal based on Alfresco ECM, but then I decided to use MS Access. Access allowed you to do everything a little faster and, most importantly, make changes to the functionality as needed almost simultaneously with its use. This allows you to work out the information model and user interface in real life with low overhead costs. Then, if necessary, already proven technological solutions can be transferred to a more productive platform. On the other hand, given the small size of the team and, accordingly, the small amount of data being processed, Access is quite suitable for these purposes.

    4. Solution concept


    So, our IT-solution for management accounting in a small IT-team is a Microsoft Access 2013 file that includes a database, as well as a set of forms, queries and reports for working with it.

    The central and most difficult task in developing such solutions is the creation of an information model that reflects existing business objects and processes for working with them. However, there is no one right solution to this problem. However, the shortcomings of any proposed option, not visible to the naked eye during the design, will make themselves felt, both during the development and subsequent use of the system.

    A somewhat simplified information model of my option is shown in the diagram below.



    The central element of this model is the “Project”. Projects differ in type in terms of focus (internal, external and presales), as well as in terms of how they are settled (fixed payment for an agreed amount of work - fixed price, payment of hours spent - time & material, without payment - non-profit).

    Each Project is associated with a specific Client, while for one Client several Projects can be carried out.

    The model allows charging (billing) for Clients on Projects in two ways, depending on the type of Project agreement:

    • Based on the hours actually spent (for T&M projects) - instances of the entity Labor
    • Based on the invoices that reflect the stages and conditions of settlements from the contract (for FP projects) - instances of the entity

    To detail the groups of work within the framework of the Project, the essence Task is used. The task is related to the elementary or total work in the hierarchical structure of work (WBS) of the given project. In this way, docking with calendar-network and resource planning produced by Microsoft Project is provided. The Task also stores various planned estimates of labor costs (initial, agreed with the Client, etc.) and consolidates the actual labor costs from the associated entities of the Labor costs.

    Further, within the framework of a specific Task, Assignments to specific Resources are created. A resource is a person, a member of our team. In the future, it is also planned to implement support not only of labor, but also of material resources. Each Resource has a certain cost (hourly rate).

    An appointment is an agreement with a certain Resource to carry out a certain amount of work (an assessment of labor costs agreed with the Resource) in fulfillment of a specific Task. For example, in the “Prototype Creation” Task, three Assignments can be created:

    • Preparation of functional specifications - for analyst Ivanov
    • Prototype development - for the programmer Petrov
    • Testing - for the tester Sidorov

    In the process of completing the Assignment, the contractor or project manager daily records the number of hours spent on that day of the corresponding Resource by creating an instance of the essence of Labor.

    Upon the completion of the Assignment, the project manager evaluates their quality and fixes it in the form of an assessment of implementation. This assessment is subsequently used in the analysis of the effectiveness of the Resources.

    The final elements of the business processes and the proposed information model are payments from Clients and for Resources. As in real life, two types of payments are distinguished:

    • Incoming payment - any receipt of funds in the general budget of the team (settlement accounts, cash), in particular, receipt of a contract from the Client
    • Outgoing payment - any expenditure of funds from the general budget of the team, in particular, payment for the work of the Resource

    Payments are not limited to settlements between Clients and Resources, but reflect absolutely all financial calculations of a team (equipment costs, license fees, advertising, etc.). This allows you to fully control the finances of the team, including current cash balances. Also, for each payment, the corresponding expense or income item is indicated, which allows you to generate the appropriate management reports on income and expenses.

    Finally, by comparing the Charges, Labor, Incoming and Outgoing payments, the current balances for Clients and Resources (who, to whom and how much in total) are automatically calculated.

    5. Tasks for implementation


    To implement the concept described above, the following work was performed.
    The name of the taskLabor hours, h
    Creating an information model, designing the database structure and UI forms8
    Creation of tables in MS Access, filling of reference books and input of initial data4
    Creation of data macros in MS Access (implementation of business logic at the database level)4
    Creation of forms in MS Access (implementation of interface logic)8
    Creation of queries and reports in MS Access (implementation of analytics)8
    Testing, trial operation and improvements8
    Total: 40 man-hours .

    The result is the following:

    image

    6. Cost Estimation


    The costs of creating a solution in the context of cost items are shown in the table below.
    ArticleName costsnumberAmount
    Equipment--0 rub
    LicensesNo additional licenses are required besides existing MS Office-0 rub
    WorkOwn labor to create a solution
    at a rate of 1.200 rubles. in an hour
    40 hr48.000 rub.
    Total: 48,000 rubles .

    7. Assessment of benefits


    7.1. Direct economic effect
    NameThe algorithm for calculating the economic effectAmount
    Reduction of labor costs for management accountingBefore the solution was implemented, management accounting took me an average of about 1 hour per day, i.e. about 20 hours a month.
    This decision allowed to reduce labor costs for management accounting by 2 times, i.e. up to 10 hours a month.
    The economic effect in physical terms is 10 man-hours per month.
    At a rate of 1.200 rubles. per hour - this is 12.000 rubles. per month.
    12.000 rub. per month.
    Total: 12,000 rub. per month .

    7.2. Indirect benefits

    1. Improving the transparency of mutual settlements
    2. Reducing the number of errors in the calculations
    3. Improving the quality of decisions due to the appearance of additional analytical tools
    4. Improving customer relationships through clear and centralized fixing of agreements on planned dates and labor costs for tasks
    5. Improving relationships within the team due to a clear and centralized fixing of agreements on planned dates and labor costs for fulfilling assignments

    8. Performance analysis


    The above calculations indicate that the payback period for this decision is less than 4 months, even when considering only the direct economic effect.

    However, taking into account the fact that management accounting is a central strategically and tactically important function in principle, the influence of indirect benefits from creating a solution for its automation is more pronounced than the direct economic effect.

    Those. it is safe to say that the solution is highly cost-effective.

    Also popular now: