WO2021206236A1 - 프로젝트 중개 시스템, 서버 및 그 동작방법 - Google Patents
프로젝트 중개 시스템, 서버 및 그 동작방법 Download PDFInfo
- Publication number
- WO2021206236A1 WO2021206236A1 PCT/KR2020/012528 KR2020012528W WO2021206236A1 WO 2021206236 A1 WO2021206236 A1 WO 2021206236A1 KR 2020012528 W KR2020012528 W KR 2020012528W WO 2021206236 A1 WO2021206236 A1 WO 2021206236A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- project
- delegation
- delegated
- server
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/08—Auctions
Definitions
- the present invention relates to a project mediation system, a server, and an operating method thereof, and more particularly, calculates an estimate of a project to be delegated according to a predetermined standard, matches an optimal person for the project, and the task of the matched person Based on the processing status, it relates to a project brokerage system that can determine whether to replace the person in charge, a server, and an operating method thereof.
- a project means a group of tasks, that is, a group of tasks performed to achieve a certain purpose within a certain period of time, and one or more people complete the project by performing the task. For example, the development, maintenance and upgrade of software such as IT systems or applications is being treated as a project.
- outsourcing refers to entrusting some or all of a company's project to a third party in consideration of maximization of management effectiveness and efficiency.
- the delegator directly inquires about the professional manpower for carrying out the project and contacts them face-to-face or by wire.
- online for outsourcing it is possible to minimize time and economic waste consumed in checking information on professional personnel or processing documents for outsourcing, compared to offline.
- Such a conventional mediation system for example, as in Prior Art 1 (Korea Patent Publication No. 10-2015-0123986 No.), delivers the information of the project to be delegated to the professional personnel, and the professional personnel as the person responsible for the project If they apply, they provide the applicant's information to the delegator to select the person in charge, and when the project is normally completed, it only plays the role of delivering the payment to the person in charge.
- the present invention aims to solve the above and other problems.
- An object of the present invention is to provide a project brokerage system capable of calculating an estimate of a project to be delegated based on a predetermined standard and accumulated data, a server, and an operating method thereof.
- the present invention based on the ability of the developers and the progress of other projects, to provide a project brokerage system, a server, and an operating method thereof that can match the optimal developer to the project as the mandator.
- the present invention is to provide a project brokerage system, a server, and an operating method thereof that can determine whether to replace the person by determining the task processing status of the developer matched to the project as the person in charge.
- the project brokerage system includes a delegator terminal used by a delegator, a delegator terminal and a server used by the delegator, and the server is a delegation project that is a delegation target from the delegator terminal
- the server is a delegation project that is a delegation target from the delegator terminal
- the operating method of the server included in the project brokerage system when data on the delegation project, which is the delegation target, is received from the delegator terminal used by the delegator, based on the database included in the server , calculating an estimate for the commissioned project;
- the approval of the calculated estimate and the completion time of the delegation project are transmitted from the delegator terminal, based on the database, generating a list of developers corresponding to the delegation project; when a specific developer among developers included in the generated developer list is determined as the mandate, checking the status of the specific developer based on data received from a delegate terminal used by the delegate; Based on the status of the specific developer, the operation of determining whether to replace the person in charge; when the delegation project is completed, requesting the delegator terminal to evaluate the results according to the completion of the delegation project; and updating the database based on the received evaluation when an evaluation of a result according to the completion of the delegation project is received from the delegator terminal, wherein the database is delegated before
- the delegator can accurately identify and anticipate the progress of the project and respond to it, and the delegator can continuously revise and supplement the plan to achieve the goal, thereby preventing the occurrence of delays or interruptions in project processing in advance. can do.
- FIGS. 1A and 1B are schematic diagrams of a project brokerage system, according to an embodiment of the present invention.
- FIG. 2 is an example of a block diagram of the server of FIG. 1 .
- 3 to 7 are, according to an embodiment of the present invention, a flowchart illustrating a method of operating a project brokerage system.
- each component is exaggerated, omitted, or schematically illustrated for convenience and clarity of description.
- the size and area of each component do not fully reflect the actual size or area.
- each block of the flowchart diagrams and combinations of the flowchart diagrams may be performed by computer program instructions.
- These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, such that the instructions performed by the processor of the computer or other programmable data processing equipment are not described in the flowchart block(s). It creates a means to perform functions.
- These computer program instructions may also be stored in a computer-usable or computer-readable memory that may direct a computer or other programmable data processing equipment to implement a function in a particular manner, and thus the computer-usable or computer-readable memory.
- the instructions stored in the flow chart block(s) produce an article of manufacture containing instruction means for performing the function described in the flowchart block(s).
- the computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to create a computer or other programmable data processing equipment. It is also possible that instructions for performing the processing equipment provide steps for performing the functions described in the flowchart block(s).
- each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is also possible for the functions recited in blocks to occur out of order. For example, two blocks shown one after another may in fact be performed substantially simultaneously, or it is possible that the blocks are sometimes performed in the reverse order according to the corresponding function.
- FIGS. 1A and 1B are schematic diagrams of a project brokerage system, according to an embodiment of the present invention.
- the project mediation system 10 the server 100, the delegator terminal 200 used by the delegator delegating the project, and / or the developer terminal 300 used by a plurality of developers. can
- the server 100 may be connected to a network through wireless communication or wired communication, and may communicate with the delegator terminal 200 and/or the developer terminal 300 through the network.
- the network may use Ethernet (Ethernet) communication, Wi-Fi communication, CDMA (Code Division Multiple Access) communication, and LTE (Long Term Evolution) communication, and a separate wireless access point (AP). Can be used.
- the delegate terminal 200 and the developer terminal 300 may be connected to a network, respectively, and may communicate with the server 100 through the network.
- the delegate terminal 200 and/or the developer terminal 300 may include a smart phone, a tablet PC, a desktop PC, a laptop PC, a netbook computer, a workstation, a portable multimedia player (PMP), and a wearable device (wearable device).
- PMP portable multimedia player
- wearable device wearable device
- the server 100 may transmit/receive data to and from the delegator terminal 200 and/or the developer terminal 300, and may process data in relation to project mediation.
- the delegate terminal 200 and/or the developer terminal 300 accesses the server 100 through the network, uploading, downloading, modifying, deleting data, etc. It can include actions.
- the delegator terminal 200 may transmit data on a delegation target project (hereinafter referred to as delegation project) to the server 100 , and the server 100 may transmit data on the delegation project received from the delegator terminal 200 .
- the server 100 may transmit data on the delegation project received from the delegator terminal 200 .
- the estimate may mean a time or cost required for processing the commissioned project.
- the server 100 based on the data for the delegation project received from the delegator terminal 200 and the database stored in the server 100, is responsible for processing the delegation project among a plurality of developers You can decide who will be in charge.
- the server 100 based on the data received from the developer's terminal (hereinafter, the mandated terminal) (eg, 300b in FIG. 1 ) of the developer determined as the delegate, the processing status of the delegated project or the status of the delegate can judge whether the developer's terminal (hereinafter, the mandated terminal) (eg, 300b in FIG. 1 ) of the developer determined as the delegate.
- the processing status of the delegated project or the status of the delegate can judge the processing status of the delegated project or the status of the delegate.
- the server 100 may include a request management server 101 that communicates with the delegate terminal 200 and a developer management server 102 that communicates with the delegate terminal 300 . have.
- the server 100 may include various databases 103 .
- the request management server 101 and the developer management server 102 may be located in the same or similar area, or located in a separate area, depending on the embodiment.
- the request management server 101 may be included in the first server
- the developer management server 102 may be included in the second server
- the request management server 101 and the developer management server 102 are divided into one server. and may be implemented.
- the request management server 101 may transmit/receive data to and from the delegator terminal 200 through a network.
- the request management server 101 may receive data about the delegator, data about the delegation project, etc. from the delegator terminal 100 , and store the received data in various databases 103 .
- the request management server 101 may calculate an estimate for the delegation project based on data on the delegator, data on the delegation project, and the like.
- the request management server 101 may perform an operation for cost processing related to the processing of the delegated project. For example, the request management server 101 checks whether a fee according to the processing of the delegation project has been received from the delegator, and when the processing of the delegation project is completed and the confirmation of the delegator is completed, the deposited cost is transferred to the account of the delegator and so on.
- Developer management server 102 may determine a person responsible for processing the delegated project from among a plurality of developers.
- the developer management server 102 may determine the processing status of the delegated project or the status of the delegate.
- the server 100 may further include a task manager 104 .
- the task manager 104 may assist an operation performed in the server 100 . For example, when the task constituting the delegated project is completed, the task manager 104 may check whether there is an error in the processed task, and when there is an error in the processed task, the task with an error Modifications and supplements may be requested by the person in charge of the terminal 300 .
- FIG. 2 is an example of a block diagram of the server of FIG. 1A .
- the server 100 may include a communication unit 110 , a storage unit 120 , and/or a control unit 130 .
- the communication unit 110 may include at least one communication module for wired/wireless communication connection.
- long-term evolution LTE
- LTE-A LTE Advance
- CDMA code division multiple access
- WCDMA wideband CDMA
- UMTS universal mobile telecommunications system
- WiBro Wireless Broadband
- GSM Global System for Mobile Communications
- the communication unit 110 may transmit/receive data to and from the delegator terminal 200 and/or the developer terminal 300 through a network.
- the storage unit 120 stores application programs designed for the purpose of performing various tasks that can be processed by the control unit 130, and upon request of the control unit 130, some of the stored application programs can be selectively provided. have.
- the program stored in the storage unit 120 is not particularly limited as long as it can be executed by the control unit 130 .
- the storage unit 120 may include a volatile memory (eg, DRAM, SRAM, SDRAM, etc.), a non-volatile memory (eg, a flash memory), a hard disk drive (HDD), or a solid state drive (Solid). -state drive (SSD), etc.) may be included.
- a volatile memory eg, DRAM, SRAM, SDRAM, etc.
- a non-volatile memory eg, a flash memory
- HDD hard disk drive
- Solid solid state drive
- SSD solid state drive
- the storage unit 120 may store pre-learned data, models, algorithms, etc. through machine learning such as deep learning.
- the storage unit 120 may store various databases related to project mediation.
- the database stored in the storage unit 120 of the server 100 may include a developer database 121 , a client database 122 , a development tool database 123 , and/or a project database 124 .
- the developer database 121 may include data for each of a plurality of developers.
- data about a plurality of developers may include names, addresses, contact information, ratings in the project brokerage system 10, types of projects that can be processed, types of projects actually processed, programming languages available, and actual development.
- the programming language used the usable operating system (Operating system, OS), the operating system used for actual development, the total cumulative execution time, the number of other projects entrusted in succession, the accumulated execution time according to the processing of other projects entrusted in succession, the current number The number of other projects in progress, the completion time of other projects currently in charge, the number and/or processing time for each task type, the average number of rework and/or processing delays for individual tasks, the history of replacement of personnel, fatigue, aggressiveness, and other evaluations indexes, and the like.
- the type of project may mean a service required by the delegator for the project brokerage system 10, and may include new development of the project, modification to the previously processed project, and addition to the previously processed project. have.
- the client database 122 may include data for each of a plurality of delegators having a history of delegating a project through the project brokerage system 10 .
- the data for a plurality of delegators includes the delegator's name, address, contact information, grade in the project mediation system 10, whether there is a developer, whether there is a planner, whether there is a designer, the type of other previously delegated projects, difficulty, calculation It may include whether the approved quotation is approved, the approved quotation, the final estimate according to the actual processing period after approval, other evaluation indices, and the object to be avoided.
- the development tool database 123 may include various data related to a programming tool used for project processing.
- the development tool database 123 is a programming tool for version management such as Concurrent Versions System (CVS), Git, Polytron Version Control System (PVCS), SubVersion (SVN), Freedcamp. , data on programming tools for planning, organization and management of resource tools such as Redmine, and the like.
- CVS Concurrent Versions System
- Git Polytron Version Control System
- SVN SubVersion
- Freedcamp Freedcamp.
- the project database 124 may include data accumulated in relation to the delegation project and data accumulated in relation to a plurality of other projects that have been delegated prior to the delegation project and are being completed or being processed.
- the project database 124 may include, for each project, the delegator and assignee of each project, the type of each project, the programming language used in the development and processing of each project, the operating system, the number of pages, the functions applied, the difficulty level, and each project. It may include the calculated estimate, whether the estimate is approved or not, the approved estimate, the processing period for each task, the final estimate according to the processing period, and the like.
- the control unit 130 may be connected to each component provided in the server 100 and may control the overall operation of each component.
- the control unit 130 may transmit/receive data to and from each configuration provided in the server 100 .
- the controller 130 may include at least one processor.
- the processor may be a general processor such as a central processing unit (CPU).
- the processor may be a dedicated device such as an ASIC or other hardware-based processor.
- the control unit 130 may receive data about the delegation project from the delegator terminal 200 through the communication unit 110 .
- the data on the delegated project may include the type of the delegated project, at least one programming language, an operating system, the number of pages for each task, specific content for each task, applied functions, and the like.
- the control unit 130 may include an estimate calculation unit 131 , a developer matching unit 132 , a project management unit 133 , and/or a project evaluation unit 134 according to each function.
- the estimate calculation unit 131 may calculate an estimate for the delegation project based on the data for the delegation project received from the delegation terminal 200 and the database included in the storage unit 120 .
- the estimate calculation unit 131 may calculate an estimate for the delegation project based on the data on the delegation project received from the delegation terminal 200 and the data accumulated in relation to other projects included in the database.
- the estimate calculation unit 131 searches for other projects corresponding to the type of the delegated project among other projects included in the project database 124, and among the searched other projects, the number of pages for each task, each task You can finally search for other projects similar to the delegated project that correspond to specific details and applied functions. At this time, the estimate calculation unit 131 considers the final estimate according to the estimate initially calculated for the other finally searched projects, whether the estimate is approved, the final approved estimate and/or the processing period, and the estimate for the delegated project can be calculated.
- the estimate calculation unit 131 when data on the delegator exists in the database, may calculate an estimate for the delegation project based on data on other projects previously entrusted by the delegator. For example, the estimate calculation unit 131, based on the type, difficulty, approval of the calculated estimate, the final estimate according to the actual processing period after approval, etc. You can get a quote for the commissioned project.
- the estimate calculation unit 131 may transmit the calculated estimate to the delegation terminal 200 through the communication unit 110 when the estimate for the entrusted project is calculated, and may request approval for the calculated estimate. In this case, the estimate calculation unit 131 may request designation of the completion time of the commissioned project, along with approval of the calculated estimate. On the other hand, the designation of the completion time of the delegation project may be included in the data about the delegation project received from the delegator terminal (200).
- the developer matching unit 132 may generate a list of developers corresponding to the delegated project based on the data on the delegated project received from the delegate terminal 200 and the data on the plurality of developers included in the database. For example, the developer matching unit 132, based on the data on the plurality of developers included in the database, to check the programming languages available for the development of the projects of the plurality of developers, the completion time of other projects currently being processed, etc. And, based on the confirmation result, it is possible to generate a list of developers corresponding to the delegated project.
- the developer matching unit 132 may determine the ranking of the developer corresponding to the delegated project, may generate a list of developers according to the determined ranking.
- the developer matching unit 132 when a developer list corresponding to the delegation project is generated, through the communication unit 110, the generated developer list may be transmitted to the delegation terminal 200, any one of the developers included in the developer list You may request a decision on the assignee for On the other hand, the server 100, according to the ranking of the developer corresponding to the delegation project, may determine any one of the developers included in the developer list as the mandate.
- the developer matching unit 132 may register a new developer.
- the developer matching unit 132 when a registration request is received from a developer terminal (hereinafter, a new developer terminal) used by a new developer (eg, 300a in FIG. 1 ), the new developer terminal in response to the registration request Data for developer evaluation may be transmitted to (300a).
- evaluation target data data on the result of processing data for developer evaluation
- the developer matching unit 132 based on the evaluation target data, the new developer It is possible to conduct an evaluation of the capabilities of the developer and add data on new developers based on the evaluation results to the database.
- the project management unit 133 may transmit data on the delegated project to the delegated terminal (eg, 300b in FIG. 1 ) through the communication unit 110 .
- the project management unit 133 the type of the delegated project, programming language, operating system, number of pages for each task, specific contents for each task, applied functions, completion time of the delegated project, an estimate approved for the delegated project Data for the delegation project, including the like, may be transmitted to the delegated terminal 300b.
- the project management unit 133 may process data received from the delegate terminal 300b.
- the project management unit 133 may store, in the project database 124 , a log file related to the delegated project, based on data received from the delegated terminal 300b.
- the project management unit 133 may determine the processing status of the delegated project based on the data received from the delegated terminal 300b. For example, the project management unit 133, based on the log file about the delegated project, the start time of processing of the delegated project, total processing time for the delegated project, daily processing time, actual processing time and expected for the entire delegated project It is possible to determine the ratio between processing times, the ratio between the actual processing time for each task and the expected processing time, the feedback index for requests, the number of reworks and/or processing delays for each task, the fatigue level of the person in charge, the aggressiveness of the person in charge, etc.; The results may be stored in the project database 124 .
- the feedback index may be a value determined according to the time it takes for the delegate to respond to the request of the delegate or the server 100 , the content of the response, and the like.
- the degree of fatigue is the total accumulated execution time of the developer, the number of consecutively entrusted other projects, the accumulated execution time according to the processing of the continuously entrusted other projects, the number of other projects currently in charge, the number of rework per task, tasks It may be a value determined according to the number of delay times for each processing.
- the project management unit 133 simple regression analysis, multiple regression analysis, using an equation using a method such as ARIMA, which is a time series prediction method, may calculate the degree of fatigue.
- the project management unit 133 the cumulative execution time according to the processing of other projects that have been continuously entrusted, the cumulative execution time according to the processing of the delegated project, the number of rework by task of the delegated project, and the number of delays in processing for each task
- By using multiple regression analysis with as an independent variable and fatigue as a dependent variable, it is possible to calculate the current and/or future fatigue of the incumbent.
- the aggressiveness may be a value indicating how actively the delegated project is handled, and as the processing start time increases, the daily processing time, the feedback index, etc. increase, the ratio between the actual processing time and the expected processing time for the entire delegated project , the ratio between the actual processing time per task and the expected processing time, the number of other projects currently in charge, the number of rework per task, and the number of delays per task can increase as the ratio decreases.
- the project management unit 133 may check the progress rate of the delegated project. For example, the project management unit 133 may check the overall progress of the delegated project based on the ratio of the completed tasks to the total tasks constituting the delegated project. For example, the project management unit 133 may check the progress rate for each task based on a ratio of the number of completed pages to the number of pages for each task.
- the project management unit 133 may calculate a degree of risk related to the processing of the delegated project based on the determination result of the processing status of the delegated project.
- the degree of risk may refer to an index indicating whether the delegated project can be completed by the designated completion time, in consideration of both the problems that occurred while the delegated project was being processed and the subsequent risks.
- the project management unit 133 the daily processing time, the ratio between the actual processing time and the expected processing time for the entire delegated project, the ratio between the actual processing time for each task and the expected processing time, the feedback index for each request, each task
- the degree of risk may be calculated based on at least one of the number of rework times, the number of processing delays for each task, the degree of fatigue of the delegate, and the aggressiveness of the delegate.
- the project management unit 133 may calculate the degree of risk using an equation using methods such as simple regression analysis, multiple regression analysis, and ARIMA, which is a time series prediction method.
- the project management unit 133 may transmit data on the degree of risk to the delegated terminal 200 and/or the delegated terminal 300 .
- the project management unit 133 may transmit warning data on the processing status of the delegation project to the delegating terminal 200 and/or the delegating terminal 300 based on the degree of risk. For example, when the calculated level of risk exceeds a preset first criterion, warning data may be transmitted to the delegate terminal 200 and/or the delegate terminal 300 .
- the project management unit 133 may determine whether to replace the person in charge, based on the degree of risk. For example, the project management unit 133, when the calculated risk exceeds a preset second criterion, may determine to replace the mandate, and the delegated terminal 200 and / or data on the replacement decision of the delegate It can be transmitted to the recipient terminal (300).
- the project management unit 133 when it is determined to replace the person in charge, based on data about a plurality of developers included in the database, except for the current person, may re-create a list of developers corresponding to the delegated project. For example, the project management unit 133 may check the completion time of other projects that are currently being processed by a plurality of developers except for the current person in charge, the remaining tasks of the delegated project, and the like, and the developer corresponding to the delegated project based on the confirmation result. You can re-create the list.
- the project management unit 133 may determine any one of a plurality of developers included in the re-created developer list as a mandate. At this time, the project management unit 133, through the communication unit 110, may transmit the re-created developer list to the delegation terminal 200, and request the determination of a delegate for any one of the developers included in the re-created developer list may be
- the project management unit 133 may determine a processing ratio between the pre-replacement delegate and the post-replacement delegate in relation to the processing of the remaining tasks of the delegated project when the assignee is replaced.
- the project evaluation unit 134 may transmit a result according to the completion of the delegation project to the delegator terminal 200 through the communication unit 110 .
- the project evaluation unit 134 through the communication unit 110, the overall target achievement rate according to the ratio of the actual processing time and the expected processing time for the entire delegated project, the ratio between the actual processing time for each task and the expected processing time Data on the target achievement rate for each task, the number of rework and/or processing delays for each task, the feedback index for the request, the activeness of the delegate, etc. can be transmitted to the delegator terminal 200 as a result of the completion of the delegation project. .
- the project evaluation unit 134 may request, through the communication unit 110 , an evaluation of a result according to the completion of the delegation project to the delegator terminal 200 .
- the project evaluation unit 134 evaluates the satisfaction with each item included in the data transmitted as a result of the completion of the delegation project through the communication unit 110, and the result according to the completion of the delegation project As such, it can be received from the delegator terminal 200 .
- the project evaluation unit 134 may calculate a final estimate for the commissioned project based on the result of the completion of the commissioned project. For example, the project evaluation unit 134 calculates a final estimate for the delegated project based on the actual processing time for the entire delegated project, the actual processing time for each task, the request of the delegator, whether the processing contents for each task have been changed, etc. can do.
- the project evaluation unit 134 when an evaluation of the result according to the completion of the delegation project is received from the delegator terminal 200, the databases 121 to 124 included in the storage unit 120 based on the received evaluation can be updated.
- the project evaluation unit 134 the result according to the completion of the delegation project, and based on the evaluation of the result, among the data of the trustee included in the developer database 121, the grade in the project mediation system 10 , the programming language used for the actual development, the operating system used for the actual development, the total cumulative execution time, the number of other projects entrusted in succession, the accumulated execution time according to the processing of other projects entrusted in succession, the number of other projects currently in charge, It is possible to update the number and/or processing time of each task type, the average number of reworks and/or processing delays for each individual task, the history of replacement of workers, fatigue, aggressiveness and other evaluation indices.
- the project evaluation unit 134 the result of the completion of the delegation project, and based on the evaluation of the result, among the data of the delegator included in the client database 122, the grade in the project mediation system 10 , the type, difficulty, approval of the calculated estimate, the final estimate according to the actual processing period after approval, and other evaluation indices, etc. can be updated.
- the project management unit 133 or the project evaluation unit 134 when a delegate is replaced while the delegation project is being processed, the replaced previous person may be added to the avoidance target of the data about the delegate.
- updates to the databases 121 to 124 included in the storage 120 may be continuously performed while the delegation project is being processed.
- 3 to 7 are, according to an embodiment of the present invention, a flowchart illustrating a method of operating a project brokerage system.
- an operating method of the project mediation system 10 is described based on the operation performed in the server 100 of the project mediation system 10, but the delegate terminal 100 and/or the delegate terminal of the project mediation system 10 ( 300 may also be understood as performing an operation corresponding to an operation performed by the server 100 .
- the server 100 may receive data about the delegation project from the delegator terminal 100 in operation S310 .
- the server 100 is a delegation project including the type of the delegation project from the delegator terminal 100, at least one programming language, an operating system, the number of pages for each task, specific contents for each task, applied functions, etc. data can be received.
- the server 100 in operation S320, may calculate an estimate for the commissioned project. In this regard, it will be described with reference to FIG.
- the server 100 may determine whether the commissioned project is a project for which estimate calculation is possible in operation S410 .
- the server 100 based on at least one of the type and the number of pages of the delegation project, may determine whether the delegation project is a project capable of calculating an estimate.
- the server 100 is a project that can estimate the delegation project. can be judged as
- the server 100 may determine that the delegation project is a project that cannot be quoted.
- the server 100 in operation S420, when it is determined that the entrusted project is a project that cannot be quoted, may perform an operation for consulting. For example, the server 100 may transmit a message notifying that consulting on estimate calculation is required to the delegating terminal 100 for consulting progress, and transmit/receive data about a schedule for consulting process with each other.
- the server 100 is.
- the server 100 searches for other projects corresponding to the type of the delegated project among other projects included in the project database 124, and among the searched other projects, the number of pages for each task, for each task Other projects similar to the delegated project that correspond to specific contents and applied functions can be finally searched as a reference project.
- Server 100 In operation S440, if at least one reference project exists, based on the quotation approved for each reference project, it is possible to calculate an estimate for the commissioned project. For example, the server 100 .
- An estimate for the commissioned project may be calculated by considering the estimate initially calculated for the reference projects, whether the estimate is approved, the final approved estimate, and/or the final estimate according to the processing period.
- the server 100 is.
- operation S450 if the reference project does not exist, based on the weights for each factor of the delegated project, it is possible to calculate an estimate for the delegated project.
- the server 100 calculates a weight for each task by summing the weight for each of the type of delegation project, the programming language, the operating system, the specific content of each task, and the applied function, and the weight for each task and the task You can calculate the estimate for each task by multiplying the number of pages for each task, and calculate the estimate for the delegated project by adding up the estimates for each task.
- the weight for each factor of the delegation project may be updated.
- a weight for each factor of the delegation project may be updated based on the developer database 121 . For example, based on the developer database 121, as the number of developers who can use the programming language of the delegated project increases, the weight of the corresponding programming language may decrease.
- the weights for each factor of the delegation project may be updated based on the project database 124 . For example, based on the project database 124 , in relation to a plurality of other projects, as the frequency of using the corresponding programming language increases, the weight of the corresponding programming language may decrease, and as the frequency of using the operating system increases, the corresponding The weight of the operating system may be reduced, and as the frequency of application of the corresponding function increases, the weight of the corresponding applied function may decrease.
- the server 100 may check whether data on the delegator exists in the client database 122 .
- the server 100 may calculate an estimate for the delegation project based on data on other projects previously entrusted by the delegator. .
- the server 100 based on the type, difficulty, approval of the calculated estimate, the final estimate according to the approved estimate, the actual processing period after approval, etc. of the other project delegated by the delegator, can calculate an estimate for
- the server 100 may check whether a request for consulting progress is transmitted from the delegator terminal 200 .
- the server 100 may mutually transmit and receive data on a schedule for consulting progress, data on consulting content, and the like, and consulting can proceed.
- the server 100 in operation S350, may check whether the estimate calculated for the delegation project is approved by the delegator. For example, the server 100 may transmit the calculated estimate to the delegate terminal 200 and may request approval for the calculated estimate.
- the server 100 in operation S360, when the calculated estimate for the delegated project is approved, based on the data for the delegated project and the data for a plurality of developers included in the developer database 121, to the delegated project You can search for and match corresponding developers, and create a list of developers. In this regard, it will be described with reference to FIG.
- the server 100 in operation S510, based on the data on the delegated project and the data on the plurality of developers included in the developer database 121, whether a developer corresponding to the delegated project exists can be checked.
- the server 100 based on the data for a plurality of developers included in the database, by checking the programming languages available for the development of the projects of the plurality of developers, the completion time of other projects currently being processed, etc., You can check whether there is a developer corresponding to the delegated project.
- the server 100 in operation S520, when at least one developer corresponding to the delegation project exists, may create a developer group including the developer corresponding to the delegation project.
- the server 100 in operation S530, based on the data on the delegator of the client database 122, may check whether there is a developer designated to be avoided in the developer group.
- the server 100 in operation S540, when the developer designated as the avoidable target exists in the developer group, the developer designated as the avoidable target may be excluded from the developer group.
- the server 100 in operation S550, based on the data on the plurality of developers, may determine the ranking of the developers included in the developer group. For example, the server 100, the rating of the developer included in the developer group, the programming language used for actual development, the history of replacement of the person in charge, the current state, the future state, the average number of rework and the number of processing delays for each task at least Based on one, the ranking of the developers may be determined.
- the server 100 in operation S560, may generate a developer list according to the ranking of the developers included in the developer group.
- the server 100 in operation S570, when the developer corresponding to the delegated project does not exist, it can register a new developer. For example, the server 100 may transmit a message about recruiting new developers to the new developer terminal (eg, 300a in FIG. 1 ), and when a registration request is received from the new developer terminal, the developer responds to the registration request Data for evaluation can be transmitted to the new developer terminal.
- the new developer terminal eg, 300a in FIG. 1
- the server 100 in operation S580, when the evaluation target data is received from the new developer terminal, based on the evaluation target data, may perform an evaluation of the capabilities of the new developer, data on the new developer based on the evaluation result can be added to the developer database 121 .
- the server 100 may check whether any one of the developers included in the developer list created for the delegated project is determined as the mandate. For example, the server 100 may transmit the developer list to the delegator terminal 200 , and may request the determination of a mandate for any one of the developers included in the developer list.
- the server 100 if any one of the developers included in the developer list is not determined to be a mandate, branch to operation S360 to re-create the developer list.
- the server 100 in operation S380 , when the person responsible for the delegated project is determined, may proceed with managing the status of the delegated project in relation to the processing of the delegated project. In this regard, it will be described with reference to FIG.
- the server 100 may, in operation S610 , when the person in charge of the delegated project is determined, transmit data about the delegated project to the terminal of the person in charge of the developer selected as the person in charge.
- the server 100 the type of delegation project, programming language, operating system, the number of pages for each task, specific contents for each task, applied functions, completion time of the delegation project, an estimate approved for the delegation project, etc.
- Data for the delegation project including
- the server 100 may receive data regarding the processing of the delegation project from the delegate terminal.
- the server 100 may receive the source code related to the processing of the task constituting the delegation project from the delegate terminal.
- the server 100 may process the data received from the assignee terminal and check the status of the mandator based on the processing result of the data.
- the server 1000 may process the data received from the delegate terminal and store it as a log file related to the delegated project in the project database 124.
- the server 1000 may Based on the start time of processing of the delegated project, total processing time for the delegated project, daily processing time, the ratio between the actual and expected processing time for the entire delegated project, the ratio between the actual processing time for each task and the expected processing time, the request feedback index, the number of rework and/or processing delays for each task, the degree of fatigue of the person in charge, the aggressiveness of the person in charge, etc. can be determined.
- the server 100 may calculate a degree of risk related to the processing of the delegated project.
- the server 100 is, the daily processing time, the ratio between the actual processing time and the expected processing time for the entire delegated project, the ratio between the actual processing time and the expected processing time for each task, the feedback index for each request, Based on at least one of the number of tasks, the number of processing delays for each task, the fatigue level of the delegate, and the aggressiveness of the delegate, the risk level regarding the processing of the delegated project may be calculated.
- the server 100 may calculate the risk by using an equation using methods such as simple regression analysis, multiple regression analysis, and ARIMA, which is a time series prediction method.
- the server 100 in operation S650, based on the calculated degree of risk, may determine whether replacement of the person in charge is necessary. For example, the server 100 may transmit warning data to the delegated terminal 200 and/or the delegated terminal 300 when the degree of risk related to the processing of the delegated project exceeds the first criterion.
- the server 100 after transmitting the warning data, when the degree of risk exceeds the second criterion higher than the first criterion, it may be determined to replace the person in charge.
- the server 100 may determine to replace the mandator.
- the server 100 in operation S660, when the replacement of the mandator is not required, it may check whether the delegation project is completed.
- the server 100 may branch to operation S620, continue to receive and process data related to the processing of the delegation project from the consignee terminal, and monitor the state and risk of the delegation.
- the server 100 in operation S670, when it is determined to replace the delegate, based on the data for a plurality of developers included in the database, except for the current delegate, to regenerate the developer list corresponding to the delegated project.
- the server 100 may determine any one of a plurality of developers included in the re-created developer list as a new trustee, and replace the trustee. In this case, in relation to the processing of the remaining tasks of the delegation project, the server 100 may determine a processing ratio between the pre-replacement delegate and the post-replacement delegate.
- the server 100 may evaluate the delegation project. In this regard, it will be described with reference to FIG. 7 .
- the server 100 may transmit result data according to the completion of the delegation project to the delegator terminal 200 in operation S710 .
- the server 100 the overall target achievement rate according to the ratio of the actual processing time and the expected processing time for the entire delegated project, the target achievement rate for each task according to the ratio between the actual processing time for each task and the expected processing time, for each task
- Data on the number of times of rework and/or number of delays in processing, a feedback index for a request, activeness of the delegate, etc. may be transmitted to the delegate terminal 200 as result data according to the completion of the commissioning project.
- the server 100 may receive, in operation S720 , an evaluation of the result according to the completion of the delegation project from the delegator terminal 200 .
- the server 100 may request the delegator terminal 200 to evaluate the results according to the completion of the delegation project, and satisfaction with each item included in the data transmitted as a result of the completion of the delegation project , may be received from the delegator terminal 200 as an evaluation of the results according to the completion of the delegation project.
- the server 100 may calculate a final estimate for the delegation project. For example, the server 100 may calculate the final estimate for the delegated project based on the actual processing time for the entire delegated project, the actual processing time for each task, the request of the delegator, whether the processing contents for each task have been changed, etc. have. At this time,
- the server 100 may update the databases 121 to 124 based on the evaluation of the results according to the completion of the delegation project received from the delegator terminal 200 and the final estimate for the delegation project. have.
- the present invention based on various information related to the developer, such as usable programming languages, the number of previously processed projects, daily average available time, grade, career, and completion time of other projects currently being processed, By matching the best developer to the delegate for the delegated project, not only trust in outsourcing brokerage but also the efficiency of project processing can be improved.
- the current status and future status of the delegates are determined, and the possibility of achieving the goals and the degree of risk according to the judgment results are determined by the delegates and the delegates.
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Theoretical Computer Science (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
본 발명은, 프로젝트 중개 시스템, 서버 및 그 동작방법에 관한 것이다. 본 발명의 실시예에 따른 프로젝트 중개 시스템은, 위임자가 사용하는 위임자 단말기, 수임자가 사용하는 수임자 단말기 및 서버를 포함하고, 상기 서버는, 상기 위임자 단말기로부터 위임 대상인 위임 프로젝트에 대한 데이터가 수신되는 경우, 상기 서버에 포함된 데이터베이스에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하고, 상기 위임자 단말기로부터 상기 산출된 견적에 대한 승인과 상기 위임 프로젝트의 완료 시점이 전달되는 경우, 상기 데이터베이스에 기초하여 상기 위임 프로젝트에 대응하는 개발자 리스트를 생성하고, 상기 생성된 개발자 리스트에 포함된 개발자 중 특정 개발자가 상기 수임자로 결정되는 경우, 상기 수임자 단말기로부터 수신되는 데이터에 기초하여, 상기 특정 개발자의 상태를 확인하고, 상기 특정 개발자의 상태에 기초하여, 수임자의 교체 여부를 결정하고, 상기 위임 프로젝트가 완료되는 경우, 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가를 상기 위임자 단말기에 요청하고, 상기 위임자 단말기로부터 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가가 수신되는 경우, 상기 수신된 평가에 기초하여 상기 데이터베이스를 업데이트할 수 있고, 상기 데이터베이스는, 상기 위임 프로젝트보다 먼저 위임되어 완료되거나 처리 중인 복수의 타 프로젝트와 관련하여 누적된 데이터, 복수의 개발자에 대한 데이터 및 복수의 클라이언트에 대한 데이터를 포함할 수 있다. 그 외에 다양한 실시예들이 가능하다.
Description
본 발명은, 프로젝트 중개 시스템, 서버 및 그 동작방법에 관한 것으로, 보다 상세하게는, 소정 기준에 따라 위임 대상인 프로젝트의 견적을 산출하고, 프로젝트에 대하여 최적의 수임자를 매칭하고, 매칭된 수임자의 업무 처리 상황에 기초하여, 수임자에 대한 교체 여부를 결정할 수 있는 프로젝트 중개 시스템, 서버 및 그 동작방법에 관한 것이다.
프로젝트(project)는, 일정한 기간 안에 일정한 목적을 달성하기 위해 수행하는 업무, 즉, 태스크(task)의 묶음을 의미하며, 한 명 또는 두 명 이상의 인원이 업무를 수행하여 프로젝트를 완성한다. 예를 들면, IT 시스템이나 어플리케이션과 같은 소프트웨어의 개발, 유지 및 업그레이드가 프로젝트로 처리되고 있다.
이러한 프로젝트는, 일반적으로 아웃소싱(outsourcing)을 통해 제3자에게 위탁되어 처리되는 경우가 많다. 여기서, 아웃소싱은, 경영 효과 및 효율의 극대화를 고려하여, 기업의 프로젝트의 일부 또는 전부를 제3자에게 위탁하여 처리하는 것을 의미한다.
종래에는 프로젝트를 수행하기 위한 전문 인력을 위임자가 직접 수소문하여 대면 또는 유선으로 접촉하는 경우가 대부분이었으나, 인터넷 등의 통신기술 분야의 발달로 인해, 오프라인으로 수행되던 아웃소싱이 온라인에서 활발히 이루어지고 있다. 아웃소싱을 위해 온라인을 이용하는 경우, 오프라인에 비하여, 전문 인력에 대한 정보 확인이나, 아웃소싱을 위한 문서 처리 등에 소모되는 시간적, 경제적 낭비를 최소화할 수 있다.
한편, 온라인으로 프로젝트를 위탁하는 경우에도, 전문 인력을 확보하거나, 전문 인력의 능력을 확인함에 있어서 여전히 어려운 면이 있어, 전문 인력을 확보하여 전문적으로 관리하고, 프로젝트에 맞는 전문 인력을 선별하여, 프로젝트의 아웃소싱을 중개하는 사업 분야도 생겨나고 있다.
이러한 종래의 중개 시스템은, 예를 들면, 선행기술 1(한국 공개특허 제10-2015-0123986호)와 같이, 위임 대상인 프로젝트의 정보를 전문 인력들에게 전달하고, 전문 인력이 해당 프로젝트의 수임자로서 지원하면, 지원자의 정보를 위임자에게 제공하여 수임자를 선정하도록 하고, 프로젝트가 정상적으로 완성되면 수임자에게 대금을 전달하는 역할만 수행할 뿐이어서, 온라인 상에서 위임자와 수임자를 단순 중개하는 초기단계에 머무르고 있다.
그러나 프로젝트가 진행되는 동안, 위임자와 수임자 간에 분쟁이 발생하거나, 다양한 이유로 인해 수임자의 업무 능률이 떨어지는 등의 예기치 못한 문제가 발생할 수 있는데, 종래의 중개 시스템에서는 이러한 문제점을 해결하기 위한 프로세스가 없어, 프로젝트가 장기간 중단되거나, 목표를 달성하지 못한 상태에서 프로젝트가 종료되는 등의 문제점이 있다.
또한, 프로젝트의 견적을 산정함에 있어서, 종래에는 프로젝트의 정보가 전문 인력들에게 전달되면, 전문 인력들이 견적을 임의로 결정하여 위임자에게 제시할 뿐이어서, 견적에 대한 합의가 이루어지기 전까지 오랜 시간이 소요될 수 있고, 중개 시스템에 대한 위임자의 신뢰도 및 만족도가 떨어지는 문제점도 있다.
본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다.
본 발명은, 기 설정된 소정 기준 및 누적된 데이터에 기초하여, 위임 대상인 프로젝트의 견적을 산출할 수 있는 프로젝트 중개 시스템, 서버 및 그 동작방법을 제공함에 있다.
또한, 본 발명은, 개발자들의 능력 및 타 프로젝트의 진행 상황에 기초하여, 최적의 개발자를 수임자로서 프로젝트에 매칭할 수 있는 프로젝트 중개 시스템, 서버 및 그 동작방법을 제공함에 있다.
또한, 본 발명은, 수임자로서 프로젝트에 매칭된 개발자의 업무 처리 상황을 판단하여, 수임자에 대한 교체 여부를 결정할 수 있는 프로젝트 중개 시스템, 서버 및 그 동작방법을 제공함에 있다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 과제를 달성하기 위한, 본 발명의 실시예에 따른 프로젝트 중개 시스템은, 위임자가 사용하는 위임자 단말기, 수임자가 사용하는 수임자 단말기 및 서버를 포함하고, 상기 서버는, 상기 위임자 단말기로부터 위임 대상인 위임 프로젝트에 대한 데이터가 수신되는 경우, 상기 서버에 포함된 데이터베이스에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하고, 상기 위임자 단말기로부터 상기 산출된 견적에 대한 승인과 상기 위임 프로젝트의 완료 시점이 전달되는 경우, 상기 데이터베이스에 기초하여 상기 위임 프로젝트에 대응하는 개발자 리스트를 생성하고, 상기 생성된 개발자 리스트에 포함된 개발자 중 특정 개발자가 상기 수임자로 결정되는 경우, 상기 수임자 단말기로부터 수신되는 데이터에 기초하여, 상기 특정 개발자의 상태를 확인하고, 상기 특정 개발자의 상태에 기초하여, 수임자의 교체 여부를 결정하고, 상기 위임 프로젝트가 완료되는 경우, 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가를 상기 위임자 단말기에 요청하고, 상기 위임자 단말기로부터 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가가 수신되는 경우, 상기 수신된 평가에 기초하여 상기 데이터베이스를 업데이트할 수 있고, 상기 데이터베이스는, 상기 위임 프로젝트보다 먼저 위임되어 완료되거나 처리 중인 복수의 타 프로젝트와 관련하여 누적된 데이터, 복수의 개발자에 대한 데이터 및 복수의 클라이언트에 대한 데이터를 포함할 수 있다.
한편, 본 발명의 다양한 실시예에 따른 프로젝트 중개 시스템에 포함되는 서버의 동작방법은, 위임자가 사용하는 위임자 단말기로부터 위임 대상인 위임 프로젝트에 대한 데이터가 수신되는 경우, 상기 서버에 포함된 데이터베이스에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하는 동작; 상기 위임자 단말기로부터 상기 산출된 견적에 대한 승인과, 상기 위임 프로젝트의 완료 시점이 전달되는 경우, 상기 데이터베이스에 기초하여, 상기 위임 프로젝트에 대응하는 개발자 리스트를 생성하는 동작; 상기 생성된 개발자 리스트에 포함된 개발자 중 특정 개발자가 상기 수임자로 결정되는 경우, 상기 수임자가 사용하는 수임자 단말기로부터 수신되는 데이터에 기초하여, 상기 특정 개발자의 상태를 확인하는 동작; 상기 특정 개발자의 상태에 기초하여, 수임자의 교체 여부를 결정하는 동작; 상기 위임 프로젝트가 완료되는 경우, 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가를 상기 위임자 단말기에 요청하는 동작; 및 상기 위임자 단말기로부터 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가가 수신되는 경우, 상기 수신된 평가에 기초하여 상기 데이터베이스를 업데이트하는 동작을 포함하고, 상기 데이터베이스는, 상기 위임 프로젝트보다 먼저 위임되어 완료되거나 처리 중인 복수의 타 프로젝트와 관련하여 누적된 데이터, 복수의 개발자에 대한 데이터 및 복수의 클라이언트에 대한 데이터를 포함하는 것을 특징으로 할 수 있다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 다양한 실시예에 따르면, 기 설정된 소정 기준 및 이전에 처리된 프로젝트와 관련하여 누적된 데이터에 기초하여, 위임 대상인 프로젝트의 견적을 정확하고 합리적으로 산출할 수 있어, 견적에 대한 합의가 도출되기까지 소요되는 시간을 줄일 수 있고, 위임자 및 수임자 모두의 만족도를 향상시킬 수 있다.
또한, 본 발명의 다양한 실시예에 따르면, 가용 프로그래밍 언어, 기 처리한 프로젝트 수, 1일 평균 가용 시간, 등급, 경력, 현재 처리 중인 타 프로젝트의 완료 시점 등 개발자와 관련된 다양한 정보에 기초하여, 위임 대상인 프로젝트에 대하여 최적의 개발자를 수임자로 매칭함으로써, 아웃소싱 중개에 대한 신뢰뿐만 아니라, 프로젝트 처리의 효율성도 향상시킬 수 있다.
또한, 본 발명의 다양한 실시예에 따르면, 프로젝트가 처리되는 동안 누적된 수임자에 대한 데이터에 기초하여, 수임자의 현재 상태 및 미래 상태를 판단하고, 판단 결과에 따른 목표 달성 가능성을 위임자 및 수임자에게 제공함으로써, 위임자는 프로젝트의 처리 경과를 정확히 파악 및 예상하여 대처할 수 있고, 수임자는 목표 달성을 위한 계획을 지속적으로 수정 및 보완할 수 있어, 프로젝트의 처리가 지연되거나 중단되는 문제의 발생을 사전에 방지할 수 있다.
또한, 본 발명의 다양한 실시예에 따르면, 수임자가 교체되는 경우, 프로젝트가 목표 기간 내에 완성되도록, 교체 전 수임자와 교체 후 수임자 간에 업무를 적절히 배분함으로써, 예상치 못한 문제 발생에 대처할 수 있어, 프로젝트의 완성 가능성을 향상시킬 수 있다.
본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 청구범위의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
도 1a 및 1b는, 본 발명의 일 실시예에 따른, 프로젝트 중개 시스템에 대한 개략도이다.
도 2는, 도 1의 서버의 블록도의 일 예이다.
도 3 내지 7은, 본 발명의 일 실시예에 따른, 프로젝트 중개 시스템의 동작방법을 도시한 흐름도이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은, 도면에 도시되어 있는 바와 같이 하나의 구성 요소와 다른 구성 요소 간의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작 시 구성요소의 서로 다른 방향을 포함하는 용어로 이해되어야 한다. 예를 들면, 도면에 도시되어 있는 구성요소를 뒤집을 경우, 다른 구성요소의 "아래(below)"또는 "아래(beneath)"로 기술된 구성요소는 다른 구성요소의 "위(above)"에 놓일 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성요소는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.
본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 및/또는 "포함하는(comprising)"은 언급된 구성요소, 단계 및/또는 동작은 하나 이상의 다른 구성요소, 단계 및/또는 동작의 존재 또는 추가를 배제하지 않는다.
다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않은 한 이상적으로 또는 과도하게 해석되지 않는다.
도면에서 각 구성요소의 두께나 크기는 설명의 편의 및 명확성을 위하여 과장되거나 생략되거나 또는 개략적으로 도시되었다. 또한 각 구성요소의 크기와 면적은 실제크기나 면적을 전적으로 반영하는 것은 아니다.
이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "~부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
또한, 본 명세서에서, 다양한 요소들을 설명하기 위해 제1, 제2 등의 용어가 이용될 수 있으나, 이러한 요소들은 이러한 용어들에 의해 제한되지 아니한다. 이러한 용어들은 한 요소를 다른 요소로부터 구별하기 위해서만 이용된다.
도 1a 및 1b는, 본 발명의 일 실시예에 따른, 프로젝트 중개 시스템에 대한 개략도이다.
도 1a를 참조하면, 프로젝트 중개 시스템(10)은, 서버(100), 프로젝트를 위임하는 위임자가 사용하는 위임자 단말기(200), 및/또는 복수의 개발자가 사용하는 개발자 단말기(300)를 포함할 수 있다.
서버(100)는, 무선 통신 또는 유선 통신을 통해서 네트워크에 연결될 수 있고, 네트워크를 통해 위임자 단말기(200) 및/또는 개발자 단말기(300)와 통신을 수행할 수 있다. 여기서, 네트워크는, 이더넷(Ethernet) 통신, 와이파이(Wi-Fi) 통신, CDMA(Code Division Multiple Access) 통신 및 LTE(Long Term Evolution) 통신 등을 이용할 수 있고, 별도의 무선 AP(Access Point)를 사용할 수 있다.
위임자 단말기(200) 및 개발자 단말기(300)는, 각각 네트워크에 연결될 수 있고, 네트워크를 통해 서버(100)와 통신을 수행할 수 있다. 예를 들면, 위임자 단말기(200) 및/또는 개발자 단말기(300)는, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 워크스테이션, PMP(portable multimedia player), 및 웨어러블 디바이스(wearable device) 중 어느 하나일 수 있다.
서버(100)는, 위임자 단말기(200) 및/또는 개발자 단말기(300)와 상호 간에 데이터를 송수신할 수 있고, 프로젝트 중개와 관련하여 데이터를 처리할 수 있다. 여기서, 데이터의 송수신은, 위임자 단말기(200) 및/또는 개발자 단말기(300)가 네트워크를 통해 서버(100)로 접근하여, 데이터를 업로드(upload), 다운로드(download), 수정, 삭제하는 등의 동작을 포함할 수 있다.
예를 들면, 위임자 단말기(200)는 위임 대상인 프로젝트(이하, 위임 프로젝트)에 대한 데이터를 서버(100)로 전송할 수 있고, 서버(100)는 위임자 단말기(200)로부터 수신된 위임 프로젝트에 대한 데이터에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다. 여기서, 견적은, 위임 프로젝트의 처리에 소요되는 시간이나 비용을 의미할 수 있다.
예를 들면, 서버(100)는, 위임자 단말기(200)로부터 수신된 위임 프로젝트에 대한 데이터와, 서버(100)에 저장된 데이터베이스(database)에 기초하여, 복수의 개발자 중 위임 프로젝트의 처리를 담당하는 수임자를 결정할 수 있다.
예를 들면, 서버(100)는, 수임자로 결정된 개발자의 개발자 단말기(이하, 수임자 단말기)(예: 도 1의 300b)로부터 수신되는 데이터에 기초하여, 위임 프로젝트의 처리 상황이나 수임자의 상태 등을 판단할 수 있다.
도 1b를 참조하면, 서버(100)는, 위임자 단말기(200)와 통신을 수행하는 요청관리 서버(101)와, 수임자 단말기(300)와 통신을 수행하는 개발자 관리 서버(102)를 포함할 수 있다. 또한, 서버(100)는, 다양한 데이터베이스(103)를 포함할 수 있다.
여기서, 요청관리 서버(101)와 개발자 관리 서버(102)는, 실시예에 따라서, 동일 또는 유사한 영역에 위치하거나 서로 분리된 영역에 위치할 수 있다. 예를 들면, 요청관리 서버(101)는 제1 서버에, 개발자 관리 서버(102)는 제2 서버에 포함될 수도 있고, 요청관리 서버(101)와 개발자 관리 서버(102)가 하나의 서버에 구분되어 구현될 수도 있다.
요청관리 서버(101)는, 네트워크를 통해 위임자 단말기(200)와 상호 간에 데이터를 송수신할 수 있다. 예를 들면, 요청관리 서버(101)는, 위임자 단말기(100)로부터 위임자에 대한 데이터, 위임 프로젝트에 대한 데이터 등을 수신할 수 있고, 수신된 데이터를 다양한 데이터베이스(103)에 저장할 수 있다.
요청관리 서버(101)는, 위임자에 대한 데이터, 위임 프로젝트에 대한 데이터 등에 기초하여 위임 프로젝트에 대한 견적을 산출할 수 있다.
요청관리 서버(101)는, 위임 프로젝트의 처리와 관련된 비용 처리에 대한 동작을 수행할 수 있다. 예를 들면, 요청관리 서버(101)는, 위임자로부터 위임 프로젝트의 처리에 따른 비용이 입금되었는지 여부를 확인하고, 위임 프로젝트의 처리 완료 및 위임자의 확인 완료 시, 입금된 비용을 수임자의 계좌로 송금하는 등의 동작을 수행할 수 있다.
개발자 관리 서버(102)는, 위임 프로젝트에 대한 데이터와, 데이터베이스(103)에 기초하여, 복수의 개발자 중 위임 프로젝트의 처리를 담당하는 수임자를 결정할 수 있다.
개발자 관리 서버(102)는, 수임자 단말기(300)로부터 수신되는 데이터에 기초하여, 위임 프로젝트의 처리 상황이나 수임자의 상태 등을 판단할 수 있다.
서버(100)는, 태스크 매니저(104)를 더 포함할 수도 있다. 태스크 매니저(104)는, 서버(100)에서 수행되는 동작을 보조할 수 있다. 예를 들면, 태스크 매니저(104)는, 위임 프로젝트를 구성하는 태스크가 완료되는 경우, 처리 완료된 태스크에 오류가 있는지 여부를 확인할 수 있고, 처리 완료된 태스크에 오류가 있는 경우, 오류가 있는 태스크에 대하여 수임자 단말기(300)로 수정 및 보완을 요청할 수 있다.
도 2는, 도 1a의 서버의 블록도의 일 예이다.
도 2를 참조하면, 서버(100)는, 통신부(110), 저장부(120) 및/또는 제어부(130)를 포함할 수 있다.
통신부(110)는, 유/무선 통신 연결을 위한 적어도 하나의 통신 모듈을 포함할 수 있다. 예를 들면, LTE(long-term evolution), LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 통신을 포함할 수 있다.
통신부(110)는, 네트워크를 통해 위임자 단말기(200) 및/또는 개발자 단말기(300)와 상호 간에 데이터를 송수신할 수 있다.
저장부(120)는, 제어부(130)에 의해 처리 가능한 다양한 작업들을 수행하기 위한 목적으로 설계된 응용 프로그램들을 저장하고, 제어부(130)의 요청 시, 저장된 응용 프로그램들 중 일부를 선택적으로 제공할 수 있다. 저장부(120)에 저장되는 프로그램 등은, 제어부(130)에 의해 실행될 수 있는 것이라면 특별히 한정하지 않는다.
저장부(120)는, 휘발성 메모리(예: DRAM, SRAM, SDRAM 등)나, 비휘발성 메모리(예: 플래시 메모리(Flash memory), 하드 디스크 드라이브(Hard disk drive; HDD), 솔리드 스테이트 드라이브(Solid-state drive; SSD) 등) 중 적어도 하나를 포함할 수 있다.
저장부(120)는, 딥 러닝(deep learning) 등 머신 러닝(machine learning)을 통해 기 학습된 데이터, 모델, 알고리즘 등을 저장할 수 있다.
저장부(120)는, 프로젝트 중개와 관련된 다양한 데이터베이스를 저장할 수 있다. 여기서, 서버(100)의 저장부(120)에 저장된 데이터베이스는, 개발자 데이터베이스(121), 클라이언트 데이터베이스(122), 개발 툴 데이터베이스(123), 및/또는 프로젝트 데이터베이스(124)를 포함할 수 있다.
개발자 데이터베이스(121)는, 복수의 개발자 각각에 대한 데이터를 포함할 수 있다. 예를 들면, 복수의 개발자에 대한 데이터는, 개발자의 이름, 주소, 연락처, 프로젝트 중개 시스템(10) 내 등급, 처리 가능한 프로젝트의 유형, 실제 처리한 프로젝트의 유형, 활용 가능한 프로그래밍 언어, 실제 개발에 사용한 프로그래밍 언어, 활용 가능한 운영체제(Operating system, OS), 실제 개발에 사용한 운영체제, 전체 누적 수행 시간, 연속하여 수임한 타 프로젝트의 개수, 연속하여 수임한 타 프로젝트의 처리에 따른 누적 수행 시간, 현재 수임 중인 타 프로젝트의 개수, 현재 수임 중인 타 프로젝트의 완료 시점, 태스크 종류별 처리 횟수 및/또는 처리 시간, 개별 태스크에 대한 평균 재작업 횟수 및/또는 처리 지연 횟수, 수임자 교체 이력, 피로도, 적극성, 기타 평가 지수 등을 포함할 수 있다. 여기서, 프로젝트의 유형은, 프로젝트 중개 시스템(10)에 대하여 위임자가 요구하는 서비스를 의미할 수 있고, 프로젝트의 신규 개발, 기 처리된 프로젝트에 대한 수정 및 기 처리된 프로젝트에 대한 추가를 포함할 수 있다.
클라이언트 데이터베이스(122)는, 프로젝트 중개 시스템(10)을 통해 프로젝트를 위임한 이력이 있는 복수의 위임자 각각에 대한 데이터를 포함할 수 있다. 예를 들면, 복수의 위임자에 대한 데이터는, 위임자의 이름, 주소, 연락처, 프로젝트 중개 시스템(10) 내 등급, 개발자 유무, 기획자 유무, 디자이너 유무, 이전에 위임한 타 프로젝트의 유형, 난이도, 산출된 견적에 대한 승인 여부, 승인된 견적, 승인 후 실제 처리 기간에 따른 최종 견적, 기타 평가 지수, 기피 대상 등을 포함할 수 있다.
개발 툴 데이터베이스(123)는, 프로젝트 처리에 사용되는 프로그래밍 도구(programming tool)에 관한 다양한 데이터를 포함할 수 있다. 예를 들면, 개발 툴 데이터베이스(123)는, CVS(Concurrent Versions System), 깃(Git), PVCS(Polytron Version Control System), SVN(SubVersion) 등의 버전 관리를 위한 프로그래밍 도구, 프리드캠프(Freedcamp), 레드마인(Redmine) 등의 리소스 도구의 계획, 조직 및 관리를 위한 프로그래밍 도구 등에 관한 데이터를 포함할 수 있다.
프로젝트 데이터베이스(124)는, 위임 프로젝트와 관련하여 누적된 데이터와, 위임 프로젝트보다 먼저 위임되어 완료되거나 처리 중인 복수의 타 프로젝트와 관련하여 누적된 데이터를 포함할 수 있다. 예를 들면, 프로젝트 데이터베이스(124)는, 각 프로젝트의 위임자 및 수임자, 각 프로젝트의 유형, 각 프로젝트의 개발 및 처리에 사용된 프로그래밍 언어, 운영체제, 페이지 수, 적용되는 기능, 난이도, 각 프로젝트에 대하여 산출된 견적, 견적에 대한 승인 여부, 승인된 견적, 태스크별 처리 기간, 처리 기간에 따른 최종 견적 등을 포함할 수 있다.
제어부(130)는, 서버(100)에 구비된 각 구성과 연결될 수 있고, 각 구성의 전반적인 동작을 제어할 수 있다. 제어부(130)는, 서버(100)에 구비된 각 구성과 상호 간에 데이터를 송수신할 수 있다.
제어부(130)는, 적어도 하나의 프로세서를 포함할 수 있다. 여기서, 프로세서는 CPU(central processing unit)과 같은 일반적인 프로세서일 수 있다. 물론, 프로세서는 ASIC과 같은 전용 장치(dedicated device)이거나 다른 하드웨어 기반의 프로세서일 수 있다.
제어부(130)는, 통신부(110)를 통해, 위임자 단말기(200)로부터 위임 프로젝트에 대한 데이터를 수신할 수 있다. 예를 들면, 위임 프로젝트에 대한 데이터는, 위임 프로젝트의 유형, 적어도 하나의 프로그래밍 언어, 운영체제, 태스크별 페이지 수, 각 태스크에 대한 구체적인 내용, 적용되는 기능 등을 포함할 수 있다.
제어부(130)는, 각 기능에 따라, 견적산출부(131), 개발자 매칭부(132), 프로젝트 관리부(133) 및/또는 프로젝트 평가부(134)를 포함할 수 있다.
견적산출부(131)는, 위임자 단말기(200)로부터 수신된 위임 프로젝트에 대한 데이터와, 저장부(120)에 포함된 데이터베이스에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다.
견적산출부(131)는, 위임자 단말기(200)로부터 수신된 위임 프로젝트에 대한 데이터와, 데이터베이스에 포함된 타 프로젝트와 관련하여 누적된 데이터에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다.
예를 들면, 견적산출부(131)는, 프로젝트 데이터베이스(124)에 포함된 타 프로젝트 중, 위임 프로젝트의 유형에 대응하는 타 프로젝트들을 검색하고, 검색된 타 프로젝트들 중, 태스크별 페이지 수, 각 태스크에 대한 구체적인 내용, 적용되는 기능 등이 대응하는, 위임 프로젝트와 유사한 타 프로젝트들을 최종 검색할 수 있다. 이때, 견적산출부(131)는, 최종 검색된 타 프로젝트들에 대하여 최초 산출된 견적, 견적에 대한 승인 여부, 최종 승인된 견적 및/또는 처리 기간에 따른 최종 견적을 고려하여, 위임 프로젝트에 대한 견적을 산출할 수 있다.
이때, 견적산출부(131)는, 위임자에 관한 데이터가 데이터베이스에 존재하는 경우, 위임자가 이전에 위임한 타 프로젝트에 대한 데이터에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수도 있다. 예를 들면, 견적산출부(131)는, 위임자가 이전에 위임한 타 프로젝트의 유형, 난이도, 산출된 견적에 대한 승인 여부, 승인된 견적, 승인 후 실제 처리 기간에 따른 최종 견적 등에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다.
견적산출부(131)는, 위임 프로젝트에 대한 견적이 산출되면, 통신부(110)를 통해, 산출된 견적을 위임자 단말기(200)로 전송할 수 있고, 산출된 견적에 대한 승인을 요청할 수 있다. 이때, 견적산출부(131)는, 산출된 견적에 대한 승인과 함께, 위임 프로젝트의 완료 시점의 지정을 요청할 수도 있다. 한편, 위임 프로젝트의 완료 시점의 지정은, 위임자 단말기(200)로부터 수신된 위임 프로젝트에 대한 데이터에 포함될 수도 있다.
개발자 매칭부(132)는, 위임자 단말기(200)로부터 수신된 위임 프로젝트에 대한 데이터와, 데이터베이스에 포함된 복수의 개발자에 대한 데이터에 기초하여, 위임 프로젝트에 대응하는 개발자 리스트를 생성할 수 있다. 예를 들면, 개발자 매칭부(132)는, 데이터베이스에 포함된 복수의 개발자에 대한 데이터에 기초하여, 복수의 개발자의 프로젝트의 개발에 사용 가능한 프로그래밍 언어, 현재 처리 중인 타 프로젝트의 완료 시점 등을 확인할 수 있고, 확인 결과에 기초하여 위임 프로젝트에 대응하는 개발자 리스트를 생성할 수 있다.
이때, 개발자 매칭부(132)는, 복수의 개발자에 대한 데이터에 기초하여, 위임 프로젝트에 대응하는 개발자의 순위를 결정할 수 있고, 결정된 순위에 따라 개발자 리스트를 생성할 수도 있다.
개발자 매칭부(132)는, 위임 프로젝트에 대응하는 개발자 리스트가 생성되면, 통신부(110)를 통해, 생성된 개발자 리스트를 위임자 단말기(200)로 전송할 수 있고, 개발자 리스트에 포함된 개발자 중 어느 하나에 대한 수임자 결정을 요청할 수 있다. 한편, 서버(100)는, 위임 프로젝트에 대응하는 개발자의 순위에 따라, 개발자 리스트에 포함된 개발자 중 어느 하나를 수임자로 결정할 수도 있다.
개발자 매칭부(132)는, 신규 개발자를 등록할 수도 있다. 예를 들면, 개발자 매칭부(132)는, 신규 개발자가 사용하는 개발자 단말기(이하, 신규 개발자 단말기)(예: 도 1의 300a)로부터 등록 요청이 수신되는 경우, 등록 요청에 대응하여 신규 개발자 단말기(300a)로 개발자 평가를 위한 데이터를 전송할 수 있다. 이때, 신규 개발자 단말기(300a)로부터 개발자 평가를 위한 데이터를 처리한 결과에 대한 데이터(이하, 평가 대상 데이터)가 수신되는 경우, 개발자 매칭부(132)는, 평가 대상 데이터에 기초하여, 신규 개발자의 역량에 대한 평가를 수행할 수 있고, 평가 결과에 기초한 신규 개발자에 대한 데이터를 데이터베이스에 추가할 수 있다.
프로젝트 관리부(133)는, 위임 프로젝트의 수임자가 결정된 경우, 통신부(110)를 통해, 위임 프로젝트에 대한 데이터를 수임자 단말기(예: 도 1의 300b)로 전달할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 위임 프로젝트의 유형, 프로그래밍 언어, 운영체제, 태스크별 페이지 수, 각 태스크에 대한 구체적인 내용, 적용되는 기능, 위임 프로젝트의 완료 시점, 위임 프로젝트에 대하여 승인된 견적 등을 포함하는 위임 프로젝트에 대한 데이터를 수임자 단말기(300b)로 전달할 수 있다.
프로젝트 관리부(133)는, 수임자 단말기(300b)로부터 수신되는 데이터를 처리할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 수임자 단말기(300b)로부터 수신되는 데이터에 기초하여, 위임 프로젝트에 관한 로그 파일을 프로젝트 데이터베이스(124)에 저장할 수 있다.
프로젝트 관리부(133)는, 수임자 단말기(300b)로부터 수신되는 데이터에 기초하여, 위임 프로젝트의 처리 상황을 판단할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 위임 프로젝트에 관한 로그 파일에 기초하여, 위임 프로젝트의 처리 개시 시점, 위임 프로젝트에 대한 전체 처리 시간, 일일 처리 시간, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간 간의 비율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율, 요청에 대한 피드백 지수, 태스크별 재작업 횟수 및/또는 처리 지연 횟수, 수임자의 피로도, 수임자의 적극성 등을 판단할 수 있고, 판단 결과를 프로젝트 데이터베이스(124)에 저장할 수 있다.
여기서, 피드백 지수는, 위임자나 서버(100)의 요청에 대하여 수임자가 응답하기까지 소요되는 시간, 응답 내용 등에 따라 결정되는 값일 수 있다.
여기서, 피로도는, 개발자의 전체 누적 수행 시간, 연속하여 수임한 타 프로젝트의 개수, 연속하여 수임한 타 프로젝트의 처리에 따른 누적 수행 시간, 현재 수임 중인 타 프로젝트의 개수, 태스크별 재작업 횟수, 태스크별 처리 지연 횟수 등에 따라 결정되는 값일 수 있다.
한편, 프로젝트 관리부(133)는, 단순 회귀분석, 다중 회귀분석, 시계열 예측 방법인 ARIMA 등의 방법을 이용한 식을 이용하여, 피로도를 산출할 수도 있다. 예를 들면, 프로젝트 관리부(133)는, 연속하여 수임한 타 프로젝트의 처리에 따른 누적 수행 시간, 위임 프로젝트의 처리에 따른 누적 수행 시간, 위임 프로젝트의 태스크별 재작업 횟수, 및 태스크별 처리 지연 횟수를 독립변수, 피로도를 종속변수로 하는 다중 회귀분석을 이용하여, 수임자의 현재 및/또는 미래의 피로도를 산출할 수 있다.
여기서, 적극성은, 위임 프로젝트를 얼마나 적극적으로 처리하는지를 나타내는 값일 수 있고, 처리 개시 시점이 빠를수록, 일일 처리 시간, 피드백 지수 등이 증가할수록, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간 간의 비율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율, 현재 수임 중인 타 프로젝트의 개수, 태스크별 재작업 횟수, 태스크별 처리 지연 횟수 등이 감소할수록 증가될 수 있다.
프로젝트 관리부(133)는, 위임 프로젝트의 진행률을 확인할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 위임 프로젝트를 구성하는 전체 태스크 대비 완료된 태스크의 비율에 기초하여, 위임 프로젝트의 전체 진행률을 확인할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 태스크별 페이지 수 대비 완료된 페이지 수의 비율에 기초하여, 태스크별 진행률을 확인할 수 있다.
프로젝트 관리부(133)는, 위임 프로젝트의 처리 상황에 대한 판단 결과에 기초하여, 위임 프로젝트의 처리에 관한 위험도를 산출할 수 있다. 여기서, 위험도는, 수임자가 위임 프로젝트를 처리하는 동안 발생한 문제와, 이후의 리스크를 모두 고려하여, 위임 프로젝트가 지정된 완료 시점까지 완료 가능한지 여부를 나타내는 지표를 의미할 수 있다.
예를 들면, 프로젝트 관리부(133)는, 일일 처리 시간, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간 간의 비율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율, 요청에 대한 피드백 지수, 태스크별 재작업 횟수, 태스크별 처리 지연 횟수, 수임자의 피로도, 및 수임자의 적극성 중 적어도 하나에 기초하여, 위험도를 산출할 수 있다. 이때, 프로젝트 관리부(133)는, 단순 회귀분석, 다중 회귀분석, 시계열 예측 방법인 ARIMA 등의 방법을 이용한 식을 이용하여 위험도를 산출할 수도 있다.
프로젝트 관리부(133)는, 위험도에 대한 데이터를 위임자 단말기(200) 및/또는 수임자 단말기(300)로 전송할 수 있다.
프로젝트 관리부(133)는, 위험도에 기초하여, 위임자 단말기(200) 및/또는 수임자 단말기(300)에 위임 프로젝트의 처리 상황에 대한 경고 데이터를 전송할 수 있다. 예를 들면, 산출된 위험도가 기 설정된 제1 기준을 초과하는 경우, 위임자 단말기(200) 및/또는 수임자 단말기(300)에 경고 데이터를 전송할 수 있다.
프로젝트 관리부(133)는, 위험도에 기초하여, 수임자의 교체 여부를 결정할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 산출된 위험도가 기 설정된 제2 기준을 초과하는 경우, 수임자를 교체하는 것으로 결정할 수 있고, 수임자의 교체 결정에 대한 데이터를 위임자 단말기(200) 및/또는 수임자 단말기(300)로 전송할 수 있다.
프로젝트 관리부(133)는, 수임자를 교체하는 것으로 결정된 경우, 현재 수임자를 제외한, 데이터베이스에 포함된 복수의 개발자에 대한 데이터에 기초하여, 위임 프로젝트에 대응하는 개발자 리스트를 다시 생성할 수 있다. 예를 들면, 프로젝트 관리부(133)는, 현재 수임자를 제외한 복수의 개발자가 현재 처리 중인 타 프로젝트의 완료 시점, 위임 프로젝트의 잔여 태스크 등을 확인할 수 있고, 확인 결과에 기초하여 위임 프로젝트에 대응하는 개발자 리스트를 다시 생성할 수 있다.
프로젝트 관리부(133)는, 다시 생성된 개발자 리스트에 포함된 복수의 개발자 중에서 어느 하나를 수임자로 결정할 수 있다. 이때, 프로젝트 관리부(133)는, 통신부(110)를 통해, 다시 생성된 개발자 리스트를 위임자 단말기(200)로 전송할 수 있고, 다시 생성된 개발자 리스트에 포함된 개발자 중 어느 하나에 대한 수임자 결정을 요청할 수도 있다.
프로젝트 관리부(133)는, 수임자가 교체되는 경우, 위임 프로젝트의 잔여 태스크의 처리와 관련하여, 교체 전 수임자와 교체 후 수임자 간의 처리 비율을 결정할 수 있다.
프로젝트 평가부(134)는, 위임 프로젝트가 완료되는 경우, 통신부(110)를 통해, 위임 프로젝트의 완료에 따른 결과를 위임자 단말기(200)로 전송할 수 있다. 예를 들면, 프로젝트 평가부(134)는, 통신부(110)를 통해, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간의 비율에 따른 전체 목표 달성율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율에 따른 태스크별 목표 달성율, 태스크별 재작업 횟수 및/또는 처리 지연 횟수, 요청에 대한 피드백 지수, 수임자의 적극성 등에 대한 데이터를, 위임 프로젝트의 완료에 따른 결과로서 위임자 단말기(200)로 전송할 수 있다.
프로젝트 평가부(134)는, 위임 프로젝트의 완료에 따른 결과에 대한 평가를, 통신부(110)를 통해, 위임자 단말기(200)로 요청할 수 있다. 예를 들면, 프로젝트 평가부(134)는, 통신부(110)를 통해, 위임 프로젝트의 완료에 따른 결과로서 전송된 데이터에 포함된 각 항목에 대한 만족도를, 위임 프로젝트의 완료에 따른 결과에 대한 평가로서 위임자 단말기(200)로부터 수신할 수 있다.
프로젝트 평가부(134)는, 위임 프로젝트의 완료에 따른 결과에 기초하여, 위임 프로젝트에 대한 최종 견적을 산출할 수 있다. 예를 들면, 프로젝트 평가부(134)는, 위임 프로젝트 전체에 대한 실제 처리 시간, 태스크별 실제 처리 시간, 위임자의 요청사항, 태스크별 처리내용 변경 여부 등에 기초하여, 위임 프로젝트에 대한 최종 견적을 산출할 수 있다.
프로젝트 평가부(134)는, 위임자 단말기(200)로부터 위임 프로젝트의 완료에 따른 결과에 대한 평가가 수신되는 경우, 수신된 평가에 기초하여 저장부(120)에 포함된 데이터베이스(121 내지 124)를 업데이트할 수 있다.
예를 들면, 프로젝트 평가부(134)는, 위임 프로젝트의 완료에 따른 결과와, 결과에 대한 평가에 기초하여, 개발자 데이터베이스(121)에 포함된 수임자의 데이터 중, 프로젝트 중개 시스템(10) 내 등급, 실제 개발에 사용한 프로그래밍 언어, 실제 개발에 사용한 운영체제, 전체 누적 수행 시간, 연속하여 수임한 타 프로젝트의 개수, 연속하여 수임한 타 프로젝트의 처리에 따른 누적 수행 시간, 현재 수임 중인 타 프로젝트의 개수, 태스크 종류별 처리 횟수 및/또는 처리 시간, 개별 태스크에 대한 평균 재작업 횟수 및/또는 처리 지연 횟수, 수임자 교체 이력, 피로도, 적극성 및 기타 평가 지수를 업데이트할 수 있다.
예를 들면, 프로젝트 평가부(134)는, 위임 프로젝트의 완료에 따른 결과와, 결과에 대한 평가에 기초하여, 클라이언트 데이터베이스(122)에 포함된 위임자의 데이터 중, 프로젝트 중개 시스템(10) 내 등급, 이전에 위임한 타 프로젝트의 유형, 난이도, 산출된 견적에 대한 승인 여부, 승인된 견적, 승인 후 실제 처리 기간에 따른 최종 견적, 기타 평가 지수 등을 업데이트할 수 있다.
한편, 프로젝트 관리부(133) 또는 프로젝트 평가부(134)는, 위임 프로젝트가 처리되는 동안 수임자가 교체된 경우, 교체된 이전 수임자를 위임자에 대한 데이터의 기피 대상에 추가할 수 있다.
한편, 저장부(120)에 포함된 데이터베이스(121 내지 124)에 대한 업데이트는, 위임 프로젝트가 처리되는 동안 지속적으로 수행될 수도 있다.
도 3 내지 7은, 본 발명의 일 실시예에 따른, 프로젝트 중개 시스템의 동작방법을 도시한 흐름도이다. 본 도면에서는, 프로젝트 중개 시스템(10)의 서버(100)에서 수행되는 동작에 기초하여 프로젝트 중개 시스템(10)의 동작방법을 설명하나, 프로젝트 중개 시스템의 위임자 단말기(100) 및/또는 수임자 단말기(300)도 서버(100)에서 수행되는 동작에 대응하는 동작을 수행하는 것으로 이해될 수 있다.
도 3을 참조하면, 서버(100)는, S310 동작에서, 위임자 단말기(100)로부터 위임 프로젝트에 대한 데이터를 수신할 수 있다. 예를 들면, 서버(100)는, 위임자 단말기(100)로부터 위임 프로젝트의 유형, 적어도 하나의 프로그래밍 언어, 운영체제, 태스크별 페이지 수, 각 태스크에 대한 구체적인 내용, 적용되는 기능 등을 포함하는 위임 프로젝트에 대한 데이터를 수신할 수 있다.
서버(100)는, S320 동작에서, 위임 프로젝트에 대한 견적을 산출할 수 있다. 이와 관련하여, 도 4를 참조하여 설명하도록 한다.
도 4를 참조하면, 서버(100)는, S410 동작에서, 위임 프로젝트가 견적 산출이 가능한 프로젝트인지 여부를 판단할 수 있다. 서버(100)는, 위임 프로젝트의 유형 및 페이지 수 중 적어도 하나에 기초하여, 위임 프로젝트가 견적 산출이 가능한 프로젝트인지 여부를 판단할 수 있다.
예를 들면, 위임 프로젝트의 유형이 기 처리된 프로젝트에 대한 수정이나 기 처리된 프로젝트에 대한 추가인 경우, 또는 개발 페이지 수가 10 페이지 미만인 경우, 서버(100)는 위임 프로젝트를 견적 산출이 가능한 프로젝트인 것으로 판단할 수 있다.
예를 들면, 위임 프로젝트의 유형이 프로젝트의 신규 개발이고, 개발 페이지 수가 10 페이지 이상인 경우, 서버(100)는 위임 프로젝트를 견적 산출이 불가능한 프로젝트인 것으로 판단할 수 있다.
서버(100)는, S420 동작에서, 위임 프로젝트가 견적 산출이 불가능한 프로젝트인 것으로 판단된 경우, 컨설팅 진행을 위한 동작을 수행할 수 있다. 예를 들면, 서버(100)는, 컨설팅 진행을 위해, 위임자 단말기(100)로 견적 산출에 관한 컨설팅 진행이 필요함을 알리는 메시지를 전송할 수 있고, 컨설팅 진행을 위한 일정에 대한 데이터를 상호 간에 송수신할 수 있다.
한편, 서버(100)는. S430 동작에서, 위임 프로젝트가 견적 산출이 가능한 프로젝트인 것으로 판단된 경우, 프로젝트 데이터베이스(124)에 포함된 타 프로젝트 중, 위임 프로젝트에 대응하는 적어도 하나의 참조 프로젝트가 존재하는지 여부를 판단할 수 있다. 예를 들면, 서버(100)는, 프로젝트 데이터베이스(124)에 포함된 타 프로젝트 중, 위임 프로젝트의 유형에 대응하는 타 프로젝트들을 검색하고, 검색된 타 프로젝트들 중, 태스크별 페이지 수, 각 태스크에 대한 구체적인 내용, 적용되는 기능 등이 대응하는, 위임 프로젝트와 유사한 타 프로젝트들을 참조 프로젝트로 최종 검색할 수 있다.
서버(100)는. S440 동작에서, 참조 프로젝트가 적어도 하나 존재하는 경우, 참조 프로젝트 각각에 대하여 승인된 견적에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다. 예를 들면, 서버(100)는. 참조 프로젝트들에 대하여 최초 산출된 견적, 견적에 대한 승인 여부, 최종 승인된 견적 및/또는 처리 기간에 따른 최종 견적을 고려하여, 위임 프로젝트에 대한 견적을 산출할 수 있다.
한편, 서버(100)는. S450 동작에서, 참조 프로젝트가 존재하지 않는 경우, 위임 프로젝트의 각 인자에 대한 가중치에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트의 유형, 프로그래밍 언어, 운영체제, 각 태스크에 대한 구체적인 내용, 및 적용되는 기능 각각에 대한 가중치를 합산하여 태스크별 가중치를 산출하고, 태스크별 가중치와 태스크별 페이지 수를 곱하여 태스크별 견적을 산출하고, 태스크별 견적을 합산하여 위임 프로젝트의 견적을 산출할 수 있다.
이때, 위임 프로젝트의 각 인자에 대한 가중치는, 업데이트될 수 있다.
위임 프로젝트의 각 인자에 대한 가중치는, 개발자 데이터베이스(121)에 기초하여 업데이트될 수 있다. 예를 들면, 개발자 데이터베이스(121)에 기초하여, 위임 프로젝트의 프로그래밍 언어를 사용할 수 있는 개발자의 수가 증가할수록, 해당 프로그래밍 언어의 가중치는 감소할 수 있다.
위임 프로젝트의 각 인자에 대한 가중치는, 프로젝트 데이터베이스(124)에 기초하여 업데이트될 수 있다. 예를 들면, 프로젝트 데이터베이스(124)에 기초하여, 복수의 타 프로젝트와 관련하여, 해당 프로그래밍 언어가 사용된 빈도가 증가할수록 해당 프로그래밍 언어의 가중치는 감소할 수 있고, 운영체제를 사용한 빈도가 증가할수록 해당 운영체제의 가중치는 감소할 수 있고, 해당 기능의 적용 빈도가 증가할수록 해당 적용 기능의 가중치는 감소할 수 있다.
서버(100)는, S460 동작에서, 위임 프로젝트의 견적이 산출된 경우, 클라이언트 데이터베이스(122)에 위임자에 대한 데이터가 존재하는지 여부를 확인할 수 있다.
서버(100)는, S470 동작에서, 클라이언트 데이터베이스(122)에 위임자에 대한 데이터가 존재하는 경우, 위임자가 이전에 위임한 타 프로젝트에 대한 데이터에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다. 예를 들면, 서버(100)는, 위임자가 이전에 위임한 타 프로젝트의 유형, 난이도, 산출된 견적에 대한 승인 여부, 승인된 견적, 승인 후 실제 처리 기간에 따른 최종 견적 등에 기초하여, 위임 프로젝트에 대한 견적을 산출할 수 있다.
다시 도 3을 참조하면, 서버(100)는, S330 동작에서, 위임자 단말기(200)로부터 컨설팅 진행에 관한 요청이 전달되는지 여부를 확인할 수 있다.
서버(100)는, S340 동작에서, 위임자 단말기(200)로부터 컨설팅 진행에 관한 요청이 전달된 경우, 컨설팅 진행을 위한 일정에 대한 데이터, 컨설팅 내용에 대한 데이터 등을 상호 간에 송수신할 수 있고, 컨설팅을 진행할 수 있다.
서버(100)는, S350 동작에서, 위임 프로젝트에 대하여 산출된 견적이 위임자로부터 승인되는지 여부를 확인할 수 있다. 예를 들면, 서버(100)는, 산출된 견적을 위임자 단말기(200)로 전송할 수 있고, 산출된 견적에 대한 승인을 요청할 수 있다.
서버(100)는, S360 동작에서, 위임 프로젝트에 대하여 산출된 견적이 승인된 경우, 위임 프로젝트에 대한 데이터와, 개발자 데이터베이스(121)에 포함된 복수의 개발자에 대한 데이터에 기초하여, 위임 프로젝트에 대응하는 개발자를 검색하여 매칭할 수 있고, 개발자 리스트를 생성할 수 있다. 이와 관련하여, 도 5를 참조하여 설명하도록 한다.
도 5를 참조하면, 서버(100)는, S510 동작에서, 위임 프로젝트에 대한 데이터와 개발자 데이터베이스(121)에 포함된 복수의 개발자에 대한 데이터에 기초하여, 위임 프로젝트에 대응하는 개발자가 존재하는지 여부를 확인할 수 있다. 예를 들면, 서버(100)는, 데이터베이스에 포함된 복수의 개발자에 대한 데이터에 기초하여, 복수의 개발자의 프로젝트의 개발에 사용 가능한 프로그래밍 언어, 현재 처리 중인 타 프로젝트의 완료 시점 등을 확인하여, 위임 프로젝트에 대응하는 개발자가 존재하는지 여부를 확인할 수 있다.
서버(100)는, S520 동작에서, 위임 프로젝트에 대응하는 개발자가 적어도 하나 존재하는 경우, 위임 프로젝트에 대응하는 개발자를 포함하는 개발자 그룹을 생성할 수 있다.
서버(100)는, S530 동작에서, 클라이언트 데이터베이스(122)의 위임자에 대한 데이터에 기초하여, 개발자 그룹 내에 기피 대상으로 지정된 개발자가 존재하는지 여부를 확인할 수 있다.
서버(100)는, S540 동작에서, 개발자 그룹 내에 기피 대상으로 지정된 개발자가 존재하는 경우, 기피 대상으로 지정된 개발자를 개발자 그룹에서 제외할 수 있다.
서버(100)는, S550 동작에서, 복수의 개발자에 대한 데이터에 기초하여, 개발자 그룹에 포함된 개발자의 순위를 결정할 수 있다. 예를 들면, 서버(100)는, 개발자 그룹에 포함된 개발자의 등급, 실제 개발에 사용한 프로그래밍 언어, 수임자 교체 이력, 현재 상태, 미래 상태, 개별 태스크에 대한 평균 재작업 횟수 및 처리 지연 횟수 중 적어도 하나에 기초하여, 개발자의 순위를 결정할 수 있다.
서버(100)는, S560 동작에서, 개발자 그룹에 포함된 개발자의 순위에 따라, 개발자 리스트를 생성할 수 있다.
한편, 서버(100)는, S570 동작에서, 위임 프로젝트에 대응하는 개발자가 존재하지 않는 경우, 신규 개발자를 등록할 수 있다. 예를 들면, 서버(100)는, 신규 개발자 모집에 대한 메시지를 신규 개발자 단말기(예: 도 1의 300a)로 전송할 수 있고, 신규 개발자 단말기로부터 등록 요청이 수신되는 경우, 등록 요청에 대응하여 개발자 평가를 위한 데이터를 신규 개발자 단말기로 전송할 수 있다.
서버(100)는, S580 동작에서, 신규 개발자 단말기로부터 평가 대상 데이터가 수신되면, 평가 대상 데이터에 기초하여, 신규 개발자의 역량에 대한 평가를 수행할 수 있고, 평가 결과에 기초한 신규 개발자에 대한 데이터를 개발자 데이터베이스(121)에 추가할 수 있다.
다시 도 3을 참조하면, 서버(100)는, S370 동작에서, 위임 프로젝트에 대하여 생성된 개발자 리스트에 포함된 개발자 중에서 어느 하나가 수임자로 결정되는지 여부를 확인할 수 있다. 예를 들면, 서버(100)는, 개발자 리스트를 위임자 단말기(200)로 전송할 수 있고, 개발자 리스트에 포함된 개발자 중 어느 하나에 대한 수임자 결정을 요청할 수 있다.
서버(100)는, 개발자 리스트에 포함된 개발자 중에서 어느 하나도 수임자로 결정되지 않은 경우, S360 동작으로 분기하여 개발자 리스트를 다시 생성할 수 있다.
한편, 서버(100)는, S380 동작에서, 위임 프로젝트의 수임자가 결정된 경우, 위임 프로젝트의 처리와 관련하여 수임자의 상태 관리를 진행할 수 있다. 이와 관련하여, 도 6을 참조하여 설명하도록 한다.
도 6을 참조하면, 서버(100)는, S610 동작에서, 위임 프로젝트의 수임자가 결정된 경우, 위임 프로젝트에 대한 데이터를 수임자로 선정된 개발자의 수임자 단말기로 전달할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트의 유형, 프로그래밍 언어, 운영체제, 태스크별 페이지 수, 각 태스크에 대한 구체적인 내용, 적용되는 기능, 위임 프로젝트의 완료 시점, 위임 프로젝트에 대하여 승인된 견적 등을 포함하는 위임 프로젝트에 대한 데이터를 수임자 단말기로 전달할 수 있다.
서버(100)는, S620 동작에서, 수임자 단말기로부터 위임 프로젝트의 처리에 관한 데이터를 수신할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트를 구성하는 태스크의 처리에 관한 소스코드를 수임자 단말기로부터 수신할 수 있다.
서버(100)는, S630 동작에서, 수임자 단말기로부터 수신된 데이터를 처리할 수 있고, 데이터의 처리 결과에 기초하여 수임자의 상태를 확인할 수 있다.
예를 들면, 서버(1000는, 수임자 단말기로부터 수신된 데이터를 처리하여, 위임 프로젝트에 관한 로그 파일로서 프로젝트 데이터베이스(124)에 저장할 수 있다. 이때, 서버(1000는, 위임 프로젝트에 관한 로그 파일에 기초하여, 위임 프로젝트의 처리 개시 시점, 위임 프로젝트에 대한 전체 처리 시간, 일일 처리 시간, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간 간의 비율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율, 요청에 대한 피드백 지수, 태스크별 재작업 횟수 및/또는 처리 지연 횟수, 수임자의 피로도, 수임자의 적극성 등을 판단할 수 있다.
서버(100)는, S640 동작에서, 위임 프로젝트의 처리에 관한 위험도를 산출할 수 있다. 예를 들면, 서버(100)는, 일일 처리 시간, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간 간의 비율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율, 요청에 대한 피드백 지수, 태스크별 재작업 횟수, 태스크별 처리 지연 횟수, 수임자의 피로도, 및 수임자의 적극성 중 적어도 하나에 기초하여, 위임 프로젝트의 처리에 관한 위험도를 산출할 수 있다. 이때, 서버(100)는, 단순 회귀분석, 다중 회귀분석, 시계열 예측 방법인 ARIMA 등의 방법을 이용한 식을 이용하여 위험도를 산출할 수 있다.
서버(100)는, S650 동작에서, 산출된 위험도에 기초하여, 수임자의 교체가 필요한지 여부를 판단할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트의 처리에 관한 위험도가 제1 기준을 초과하는 경우, 위임자 단말기(200) 및/또는 수임자 단말기(300)에 경고 데이터를 전송할 수 있다.
이때, 서버(100)는, 경고 데이터를 전송한 후, 위험도가 제1 기준보다 높은 제2 기준을 초과하는 경우, 수임자를 교체하는 것으로 결정할 수 있다. 또는, 위임자 단말기(200)로부터 수임자의 교체 요청이 전송된 경우, 서버(100)는, 수임자를 교체하는 것으로 결정할 수 있다.
서버(100)는, S660 동작에서, 수임자의 교체가 필요하지 않은 경우, 위임 프로젝트가 완료되는지 여부를 확인할 수 있다.
서버(100)는, 위임 프로젝트가 완료되지 않은 경우, S620 동작으로 분기하여, 수임자 단말기로부터 위임 프로젝트의 처리에 관한 데이터를 계속 수신하여 처리하고, 수임자의 상태와 위험도를 모니터링할 수 있다.
한편, 서버(100)는, S670 동작에서, 수임자를 교체하는 것으로 결정된 경우, 현재 수임자를 제외한, 데이터베이스에 포함된 복수의 개발자에 대한 데이터에 기초하여, 위임 프로젝트에 대응하는 개발자 리스트를 다시 생성할 수 있다.
서버(100)는, S680 동작에서, 다시 생성된 개발자 리스트에 포함된 복수의 개발자 중에서 어느 하나를 새로운 수임자로 결정하여, 수임자를 교체할 수 있다. 이때, 서버(100)는, 위임 프로젝트의 잔여 태스크의 처리와 관련하여, 교체 전 수임자와 교체 후 수임자 간의 처리 비율을 결정할 수 있다.
다시 도 3을 참조하면, 서버(100)는, S390 동작에서, 위임 프로젝트가 완료된 경우, 위임 프로젝트에 대한 평가를 수행할 수 있다. 이와 관련하여 도 7을 참조하여 설명하도록 한다.
도 7을 참조하면, 서버(100)는, S710 동작에서, 위임 프로젝트의 완료에 따른 결과 데이터를 위임자 단말기(200)로 전송할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간의 비율에 따른 전체 목표 달성율, 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율에 따른 태스크별 목표 달성율, 태스크별 재작업 횟수 및/또는 처리 지연 횟수, 요청에 대한 피드백 지수, 수임자의 적극성 등에 대한 데이터를, 위임 프로젝트의 완료에 따른 결과 데이터로서 위임자 단말기(200)로 전송할 수 있다.
서버(100)는, S720 동작에서, 위임자 단말기(200)로부터 위임 프로젝트의 완료에 따른 결과에 대한 평가를 수신할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트의 완료에 따른 결과에 대한 평가를 위임자 단말기(200)로 요청할 수 있고, 위임 프로젝트의 완료에 따른 결과로서 전송된 데이터에 포함된 각 항목에 대한 만족도를, 위임 프로젝트의 완료에 따른 결과에 대한 평가로서 위임자 단말기(200)로부터 수신할 수 있다.
서버(100)는, S730 동작에서, 위임 프로젝트의 완료에 따른 결과에 기초하여, 위임 프로젝트에 대한 최종 견적을 산출할 수 있다. 예를 들면, 서버(100)는, 위임 프로젝트 전체에 대한 실제 처리 시간, 태스크별 실제 처리 시간, 위임자의 요청사항, 태스크별 처리내용 변경 여부 등에 기초하여, 위임 프로젝트에 대한 최종 견적을 산출할 수 있다. 이때,
서버(100)는, S740 동작에서, 위임자 단말기(200)로부터 수신된 위임 프로젝트의 완료에 따른 결과에 대한 평가와, 위임 프로젝트에 대한 최종 견적에 기초하여, 데이터베이스(121 내지 124)를 업데이트할 수 있다.
상기와 같이, 본 발명의 다양한 실시예에 따르면, 기 설정된 소정 기준 및 이전에 처리된 프로젝트들과 관련하여 누적된 데이터에 기초하여, 위임 프로젝트의 견적을 정확하고 합리적으로 산출할 수 있어, 견적에 대한 합의가 도출되기까지 소요되는 시간을 줄일 수 있고, 위임자 및 수임자 모두의 만족도를 향상시킬 수 있다.
또한, 본 발명의 다양한 실시예에 따르면, 활용 가능한 프로그래밍 언어, 기 처리한 프로젝트 수, 1일 평균 가용 시간, 등급, 경력, 현재 처리 중인 타 프로젝트의 완료 시점 등 개발자와 관련된 다양한 정보에 기초하여, 위임 프로젝트에 대하여 최적의 개발자를 수임자로 매칭함으로써, 아웃소싱 중개에 대한 신뢰뿐만 아니라, 프로젝트 처리의 효율성도 향상시킬 수 있다.
또한, 본 발명의 다양한 실시예에 따르면, 프로젝트가 처리되는 동안 누적된 수임자에 대한 데이터에 기초하여, 수임자의 현재 상태 및 미래 상태를 판단하고, 판단 결과에 따른 목표 달성 가능성 및 위험도를 위임자 및 수임자에게 제공함으로써, 위임자는 프로젝트의 처리 경과를 정확히 파악 및 예상하여 대처할 수 있고, 수임자는 목표 달성을 위한 계획을 지속적으로 수정 및 보완할 수 있어, 프로젝트의 처리가 지연되거나 중단되는 문제의 발생을 사전에 방지할 수 있다.
또한, 본 발명의 다양한 실시예에 따르면, 수임자가 교체되는 경우, 프로젝트가 목표 기간 내에 완성되도록, 교체 전 수임자와 교체 후 수임자 간에 업무를 적절히 배분함으로써, 예상치 못한 문제 발생에 대처할 수 있어, 프로젝트의 완성 가능성을 향상시킬 수 있다.
첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나, 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어서는 안될 것이다.
Claims (11)
- 위임자가 사용하는 위임자 단말기, 수임자가 사용하는 수임자 단말기 및 서버를 포함하는 프로젝트 중개 시스템에 있어서,상기 서버는,상기 위임자 단말기로부터 위임 대상인 위임 프로젝트에 대한 데이터가 수신되는 경우, 상기 서버에 포함된 데이터베이스에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하고,상기 위임자 단말기로부터 상기 산출된 견적에 대한 승인과, 상기 위임 프로젝트의 완료 시점이 전달되는 경우, 상기 데이터베이스에 기초하여, 상기 위임 프로젝트에 대응하는 개발자 리스트를 생성하고,상기 생성된 개발자 리스트에 포함된 개발자 중 특정 개발자가 상기 수임자로 결정되는 경우, 상기 수임자 단말기로부터 수신되는 데이터에 기초하여, 상기 특정 개발자의 상태를 확인하고,상기 특정 개발자의 상태에 기초하여, 수임자의 교체 여부를 결정하고,상기 위임 프로젝트가 완료되는 경우, 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가를 상기 위임자 단말기에 요청하고,상기 위임자 단말기로부터 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가가 수신되는 경우, 상기 수신된 평가에 기초하여 상기 데이터베이스를 업데이트하고,상기 데이터베이스는, 상기 위임 프로젝트보다 먼저 위임되어 완료되거나 처리 중인 복수의 타 프로젝트와 관련하여 누적된 데이터, 복수의 개발자에 대한 데이터 및 복수의 클라이언트에 대한 데이터를 포함하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제1항에 있어서,상기 위임 프로젝트에 대한 데이터는, 상기 위임 프로젝트의 유형, 프로그래밍 언어, 운영체제, 페이지 수 및 적용 기능을 적어도 포함하고,상기 서버는,상기 위임 프로젝트의 유형 및 상기 페이지 수 중 적어도 하나에 기초하여, 상기 위임 프로젝트가, 상기 데이터베이스에 기초하여 견적 산출이 가능한 프로젝트인지 여부를 판단하고,상기 위임 프로젝트가 상기 견적 산출이 가능한 프로젝트인 경우, 상기 위임 프로젝트에 대한 데이터에 기초하여, 상기 데이터베이스에 포함된 타 프로젝트 중, 상기 위임 프로젝트에 대응하는 적어도 하나의 참조 프로젝트를 검색하고,상기 적어도 하나의 참조 프로젝트 각각에 대하여 승인된 견적에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제2항에 있어서,상기 서버는,상기 위임 프로젝트의 페이지 수, 상기 적어도 하나의 참조 프로젝트 각각의 페이지 수, 상기 적어도 하나의 참조 프로젝트 각각에 대하여 승인된 견적, 및 상기 적어도 하나의 참조 프로젝트 각각의 실제 처리 기간에 따른 최종 견적 중 적어도 하나에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제3항에 있어서,상기 서버는,상기 위임 프로젝트에 대응하는 참조 프로젝트가 검색되지 않는 경우, 상기 위임 프로젝트의 유형, 상기 프로그래밍 언어, 상기 운영체제 및 상기 적용 기능에 대하여 각각 설정된 가중치에 기초하여, 상기 위임 프로젝트에 대한 전체 가중치를 결정하고,상기 전체 가중치와 상기 위임 프로젝트의 페이지 수에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하고,상기 위임 프로젝트의 유형, 상기 프로그래밍 언어, 상기 운영체제 및 상기 적용 기능에 대하여 각각 설정된 가중치는, 상기 데이터베이스에 포함된 상기 복수의 타 프로젝트의 유형, 상기 프로그래밍 언어, 상기 운영체제 및 상기 적용 기능에 따라 각각 결정되는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제4항에 있어서,상기 서버는,상기 복수의 클라이언트에 대한 데이터에 상기 위임자에 대한 데이터가 포함되어 있는 경우, 상기 위임자에 대한 데이터에 기초하여, 상기 위임자가 이전에 위임한 타 프로젝트의 유형, 산출된 견적에 대한 승인 여부, 승인된 견적 및 실제 처리 기간에 따른 최종 견적 중 적어도 하나를 확인하고,상기 위임자에 대한 데이터에 기초하여 확인한 결과에 따라, 상기 위임 프로젝트에 대한 견적을 최종 산출하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제5항에 있어서,상기 서버는,상기 데이터베이스에 포함된 상기 복수의 개발자에 대한 데이터 중, 사용 가능한 프로그래밍 언어 및 현재 수임 중인 타 프로젝트의 완료 시점에 기초하여, 상기 복수의 개발자 중 상기 위임 프로젝트에 대응하는 개발자가 적어도 하나 존재하는지 여부를 확인하고,상기 복수의 개발자 중 상기 위임 프로젝트에 대응하는 개발자가 적어도 하나 존재하는 경우, 상기 위임 프로젝트에 대응하는 적어도 하나의 개발자를 포함하는 개발자 그룹을 생성하고,상기 개발자 그룹에 포함된 개발자의 등급, 실제 개발에 사용한 프로그래밍 언어, 수임자 교체 이력, 현재 상태, 미래 상태, 개별 태스크에 대한 평균 재작업 횟수 및 처리 지연 횟수 중 적어도 하나에 기초하여, 상기 개발자 그룹에 포함된 개발자의 순위를 결정하고,상기 결정된 순위에 따라, 상기 개발자 리스트를 생성하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제6항에 있어서,상기 서버는,상기 복수의 클라이언트에 대한 데이터에 상기 위임자에 대한 데이터가 포함되어 있는 경우, 상기 위임자에 대한 데이터에 기피 대상으로 지정된 개발자가 존재하는지 여부를 확인하고,상기 개발자 그룹에 포함된 개발자 중에서, 상기 기피 대상으로 지정된 개발자를 제외한 나머지 개발자를 포함하는, 상기 개발자 리스트를 생성하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제7항에 있어서,상기 서버는,상기 수임자의 전체 누적 수행 시간, 상기 수임자가 연속하여 수임한 타 프로젝트의 개수, 상기 수임자가 연속하여 수임한 타 프로젝트의 처리에 따른 누적 수행 시간, 상기 수임자가 현재 수임 중인 타 프로젝트의 개수, 상기 위임 프로젝트의 태스크별 재작업 횟수, 및 상기 위임 프로젝트의 태스크별 처리 지연 횟수 중 적어도 하나에 기초하여, 상기 수임자의 피로도를 산출하고,상기 위임 프로젝트의 처리 개시 시점, 상기 위임 프로젝트에 대한 전체 처리 시간, 일일 처리 시간, 상기 위임 프로젝트 전체에 대한 실제 처리 시간과 예상 처리 시간 간의 비율, 상기 위임 프로젝트의 태스크별 실제 처리 시간과 예상 처리 시간 간의 비율 및 상기 피로도 중 적어도 하나에 기초하여, 상기 위임 프로젝트의 처리에 관한 위험도를 산출할 수 있고,상기 산출된 위험도에 기초하여, 상기 수임자의 교체 여부를 결정하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제8항에 있어서,상기 서버는,단일 회귀분석, 다중 회귀분석, ARIMA 모형 중 어느 하나의 방식을 이용하여, 상기 위험도를 산출하고,상기 산출된 위험도에 기초하여, 상기 위임자 단말기 및 상기 수임자 단말기 중 적어도 어느 하나에, 경고 데이터를 전송하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 제9항에 있어서,상기 서버는,상기 위임 프로젝트의 실제 처리 시간, 상기 위임 프로젝트의 태스크별 실제 처리 시간, 상기 위임자의 요청사항, 및 처리내용 변경 여부 중 적어도 하나에 기초하여, 상기 위임 프로젝트에 대한 최종 견적을 산출하는 것을 특징으로 하는 프로젝트 중개 시스템.
- 프로젝트 중개 시스템에 포함되는 서버의 동작방법에 있어서,위임자가 사용하는 위임자 단말기로부터 위임 대상인 위임 프로젝트에 대한 데이터가 수신되는 경우, 상기 서버에 포함된 데이터베이스에 기초하여, 상기 위임 프로젝트에 대한 견적을 산출하는 동작;상기 위임자 단말기로부터 상기 산출된 견적에 대한 승인과, 상기 위임 프로젝트의 완료 시점이 전달되는 경우, 상기 데이터베이스에 기초하여, 상기 위임 프로젝트에 대응하는 개발자 리스트를 생성하는 동작;상기 생성된 개발자 리스트에 포함된 개발자 중 특정 개발자가 상기 수임자로 결정되는 경우, 상기 수임자가 사용하는 수임자 단말기로부터 수신되는 데이터에 기초하여, 상기 특정 개발자의 상태를 확인하는 동작;상기 특정 개발자의 상태에 기초하여, 수임자의 교체 여부를 결정하는 동작;상기 위임 프로젝트가 완료되는 경우, 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가를 상기 위임자 단말기에 요청하는 동작; 및상기 위임자 단말기로부터 상기 위임 프로젝트의 완료에 따른 결과에 대한 평가가 수신되는 경우, 상기 수신된 평가에 기초하여 상기 데이터베이스를 업데이트하는 동작을 포함하고,상기 데이터베이스는, 상기 위임 프로젝트보다 먼저 위임되어 완료되거나 처리 중인 복수의 타 프로젝트와 관련하여 누적된 데이터, 복수의 개발자에 대한 데이터 및 복수의 클라이언트에 대한 데이터를 포함하는 것을 특징으로 하는 프로젝트 중개 시스템에 포함되는 서버의 동작방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020200041687A KR102312308B1 (ko) | 2020-04-06 | 2020-04-06 | 프로젝트 중개 시스템, 서버 및 그 동작방법 |
KR10-2020-0041687 | 2020-04-06 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021206236A1 true WO2021206236A1 (ko) | 2021-10-14 |
Family
ID=78022783
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/012528 WO2021206236A1 (ko) | 2020-04-06 | 2020-09-17 | 프로젝트 중개 시스템, 서버 및 그 동작방법 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR102312308B1 (ko) |
WO (1) | WO2021206236A1 (ko) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102521369B1 (ko) * | 2022-05-25 | 2023-04-13 | 김제현 | 작업자/프로젝트 매칭 시스템 및 그 방법 |
KR102669891B1 (ko) * | 2024-02-07 | 2024-05-28 | 주식회사 똑똑한개발자 | 에이전시 프리랜서를 위한 운영 관리 시스템 |
KR102669893B1 (ko) * | 2024-02-19 | 2024-05-28 | 주식회사 똑똑한개발자 | 스마트 업무일지를 활용한 it프로젝트별 손익 금액 자동 계산 시스템 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049776A (ja) * | 2000-08-02 | 2002-02-15 | C Two S:Kk | 人材提供支援システム |
KR101015540B1 (ko) * | 2009-08-26 | 2011-02-16 | (주)이랜서 | 인터넷을 통한 아웃소싱 인프라 조회방법 |
JP2013246752A (ja) * | 2012-05-29 | 2013-12-09 | Nihon Kigyo Shien Center Co Ltd | 過去見積に基づく専門家紹介装置、方法、及びコンピュータプログラム |
KR20190074697A (ko) * | 2017-12-20 | 2019-06-28 | 주식회사 함샤우트 | 개발 프로젝트 중개 시스템 및 이를 이용한 중개 방법 |
JP2019191975A (ja) * | 2018-04-26 | 2019-10-31 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 人材選定装置、人材選定システム、人材選定方法及びプログラム |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0759754A (ja) * | 1993-08-27 | 1995-03-07 | Sanyo Electric Co Ltd | 活動状態監視装置 |
JP2002041288A (ja) * | 2000-07-31 | 2002-02-08 | Hitachi Information Systems Ltd | ソフトウエア開発支援方法 |
JP2005267199A (ja) * | 2004-03-18 | 2005-09-29 | Chugoku Electric Power Co Inc:The | 代理人認定方法およびその認定装置 |
JP6170733B2 (ja) * | 2013-05-24 | 2017-07-26 | 株式会社エヌ・ティ・ティ・データ | 進捗管理支援装置、進捗管理支援方法およびプログラム |
KR20150123986A (ko) | 2014-04-25 | 2015-11-05 | (주)위시켓 | 온라인 프로젝트 중개 방법 |
KR101660284B1 (ko) * | 2014-09-29 | 2016-10-11 | 주식회사 사이버다임 | 비정형 업무 영역에서의 업무 관리와 자동화 제어 시스템 및 그 방법 |
-
2020
- 2020-04-06 KR KR1020200041687A patent/KR102312308B1/ko active IP Right Grant
- 2020-09-17 WO PCT/KR2020/012528 patent/WO2021206236A1/ko active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002049776A (ja) * | 2000-08-02 | 2002-02-15 | C Two S:Kk | 人材提供支援システム |
KR101015540B1 (ko) * | 2009-08-26 | 2011-02-16 | (주)이랜서 | 인터넷을 통한 아웃소싱 인프라 조회방법 |
JP2013246752A (ja) * | 2012-05-29 | 2013-12-09 | Nihon Kigyo Shien Center Co Ltd | 過去見積に基づく専門家紹介装置、方法、及びコンピュータプログラム |
KR20190074697A (ko) * | 2017-12-20 | 2019-06-28 | 주식회사 함샤우트 | 개발 프로젝트 중개 시스템 및 이를 이용한 중개 방법 |
JP2019191975A (ja) * | 2018-04-26 | 2019-10-31 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 人材選定装置、人材選定システム、人材選定方法及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR102312308B1 (ko) | 2021-10-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021206236A1 (ko) | 프로젝트 중개 시스템, 서버 및 그 동작방법 | |
WO2011105714A2 (ko) | 클라이언트의 가상 개발 환경을 이용하여 프로그램의 개발 계약 및 개발을 중개하는 원격 프로그램 개발 중개 시스템 및 원격 프로그램 개발 중개 방법 | |
EP2158726B1 (en) | Method and system for determining physical location of equipment | |
US7779416B2 (en) | Load balance control method and load balance control apparatus in data-processing system | |
US8463636B2 (en) | Field servicing | |
WO2020202824A1 (ja) | 情報提供システム及び情報提供方法 | |
US20210073011A1 (en) | Customer service management | |
JP2006106861A (ja) | 保守管理方法及び保守管理プログラム | |
WO2018008835A1 (ko) | 증권 포트폴리오를 위한 리스크 관리 방법 및 이를 위한 리스크 관리 장치. | |
RU2696299C2 (ru) | Управление при инициировании элементарных задач на серверной платформе | |
WO2024144276A1 (ko) | 디지털 서비스 기반 트래픽 스파이크 평탄화 기술을 이용한 리소스 최적화 시스템 및 진입 관리 서버 | |
KR102195605B1 (ko) | 인공지능 학습데이터 생성을 위한 크라우드소싱 기반 프로젝트의 작업 소진율을 기반으로 한 작업 단가 보정 방법 | |
KR102315547B1 (ko) | 소프트웨어 개발을 위한 통합관리솔루션 시스템 | |
US20100299272A1 (en) | Workflow status tracking and reporting | |
US8411840B2 (en) | Method of unifying control of contact center system | |
JP2008129973A (ja) | サービス管理装置 | |
JP4554581B2 (ja) | ジョブ管理装置、システムおよびプログラム | |
CN101336434A (zh) | 便于来源于多个制造商的设备的维修的动态信息知识库 | |
EP1378848A1 (en) | Method, server and program for information management and application distribution | |
CN113554328A (zh) | 基于与设备开机强关联的点检任务督办系统、方法及设备 | |
WO2024205025A1 (ko) | 배송 업무를 처리하기 위한 예상 소요 시간을 결정하는 장치 및 그 방법 | |
CN114579268B (en) | Resource scheduling method and device | |
JP2005352751A (ja) | 作業担当者の作業割当方法及び作業担当者の作業割当システム | |
JP2006127020A (ja) | 進捗管理方法、進捗管理装置および進捗管理プログラム | |
JP7386933B1 (ja) | 太陽光発電所管理システム、資産管理プラットフォーム、プログラム、機械管理システムおよび情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20930011 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 23/01/2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20930011 Country of ref document: EP Kind code of ref document: A1 |