Importance of measuring the inherent difficulty and instrumental difficulty when planning a computer project.
When we talk about inherent difficulty, we refer to the previously implicit difficulty extracted from the requirements and needs of a computer project or the level of ambition that it has in order, being specific the level of simplicity or complexity at the level of the task or service to be fulfilled. .
At the same time the instrumental difficulty would be calculated taking into account the previously described but oriented towards which tools (Software or Hardware), languages or frameworks should be used for the development of the application or system, could also be understood as synonymous with the level of preparation of the developer staff in contrast to the requirements of the project. How much “how to” is needed to accomplish the task.
Thinking about these two variables for successful fulfillment and always attached to the scope set by the client is of utmost importance since in any scenario whatever their requirements or needs are, these should always be measured at par.
Handling uneven levels, regardless of which of the two variables is proportionally overshadowed by the other leads to complications in the scope, delays, bugs, discomfort at the staff level, ultimately leads to an exponential decrease in the development experience of any computer science project
Inherent difficulty below the instrumental difficulty
An example of this could be the development of a landing page with a highly complex technology taking into account that the development of this could be achieved with the same result without losing quality standards, gaining time and fulfilling deadlines appropriately using a more appropriate technology.
Instrumental difficulty below the inherent difficulty
An example for this case would be the creation of a very ambitious application in terms of requirements and demands, development and skills of the team, using a low level tool in contrast to all the aforementioned.
Both circumstances conclude with the loss or depreciation of resources that would create neglect of the development experience that would eventually end with a product that possibly exceeds or does not fulfill the expected functionality.
To avoid these types of scenarios, the analysis of these variables must be taken into account from the beginning of the conversations with the client on par with the start of the pre-development planning together with the work team, it is very important that the guidelines on the use of technologies for the development of the system are well defined, taking into account the aptitude and experience of the development team with this to be able to have a fluid development, also and no less important we must have a full knowledge of the scope in the short, medium and long term of the application or system, this taken into account for systems with a tendency to be scalable, thinking about the support and stability of the versions prior to exporting.
In the field of information technology, whether a finite or unique service is provided, we will find a large number of technologies in most of scenarios that can help us solve a single problem by equipping us with its tools. It is important to diversify our knowledge within our branch of computing to know what technology is best suited to the demands of the market today and towards.