A method of maintenance of network slice templates for slice orchestration, the method comprising: receiving, by a template controller, a template request message from an end-to-end orchestrator; extracting, by the template controller, a plurality of parameters from template data within the template request message; comparing, by the template controller, the plurality of templates with the plurality of parameters, wherein each of the plurality of templates is at least one of a basic template and an adapted template; removing, by the template controller, at least one template from the plurality of templates, wherein each of the at least one template fails to match at least one category within at least one of slice sub-net types associated with the template request message and at least one of the plurality of parameters, determining, by the template controller, performance indicators for each of remaining plurality of templates, wherein the remaining plurality of templates are the plurality of templates with exclusion of the at least one templates which has been removed according to the removing step; comparing, by the template controller, performance indicators determined for each of the remaining plurality of templates with performance indicators associated with the template request message; determining, by the template controller, a performance indicator score for each performance indicator for each of the remaining plurality of templates based on the comparing; determining, by the template controller, a cumulative performance score for each of the remaining plurality of templates based on the performance indicator score determined for each performance indicator for each of the remaining plurality of templates; identifying, by the template controller, a set of templates from the remaining plurality of templates, wherein the cumulative performance score for each template in the identified set of templates is greater than a first score threshold; determining, by the template controller, at least one network slice template from the set of templates, based on comparison of the plurality of parameters with parameters associated with the set of templates; receiving, by the template controller, performance feedback from the end-to-end orchestrator for each of the at least one network slice template based on usage of the at least one network slice template; determining, by the template controller, modifications required to be performed on the at least one network slice template, based on the performance feedback; and adapting, by the template controller, the at least one network slice template based on the determined modifications. receiving, by a template controller, a template request message from an end-to-end orchestrator; extracting, by the template controller, a plurality of parameters from template data within the template request message; comparing, by the template controller, the plurality of templates with the plurality of parameters, wherein each of the plurality of templates is at least one of a basic template and an adapted template; removing, by the template controller, at least one template from the plurality of templates, wherein each of the at least one template fails to match at least one category within at least one of slice sub-net types associated with the template request message and at least one of the plurality of parameters, determining, by the template controller, performance indicators for each of remaining plurality of templates, wherein the remaining plurality of templates are the plurality of templates with exclusion of the at least one templates which has been removed according to the removing step; comparing, by the template controller, performance indicators determined for each of the remaining plurality of templates with performance indicators associated with the template request message; determining, by the template controller, a performance indicator score for each performance indicator for each of the remaining plurality of templates based on the comparing; determining, by the template controller, a cumulative performance score for each of the remaining plurality of templates based on the performance indicator score determined for each performance indicator for each of the remaining plurality of templates; identifying, by the template controller, a set of templates from the remaining plurality of templates, wherein the cumulative performance score for each template in the identified set of templates is greater than a first score threshold; determining, by the template controller, at least one network slice template from the set of templates, based on comparison of the plurality of parameters with parameters associated with the set of templates; receiving, by the template controller, performance feedback from the end-to-end orchestrator for each of the at least one network slice template based on usage of the at least one network slice template; determining, by the template controller, modifications required to be performed on the at least one network slice template, based on the performance feedback; and adapting, by the template controller, the at least one network slice template based on the determined modifications.