My experience with regards to enterprise product engineering is that the main reason for the complexity in such projects is that enterprise product engineering is a multi-dimensional problem. The implementation plan needs to take multiple dimensions of the requirements into account. This is seldom planned in detail in the early stages of the project and we have to face the consequences in subsequent stages.
At high level, we can view a typical enterprise product engineering playing out at three dimensions –
- Functional requirements – This covers main requirements of the product engineering which focus on meeting the functional aspects of business processes. Generally, these requirements are planned in detail and are main focus of the ongoing sprint planning and implementations.
- Non-functional requirements – They are mostly ignored in the initial phases of the project however are equally important. They include but are not limited to performance, security, accessibility, compatibility and cross browser related requirements
- Operational requirements – This is the most ignored dimension of the product engineering. However, if not properly planned, this will stop a product implementation from providing real value to business. These requirements include data migration, hypercare, change management, user training and user manual development.