Reconciling business and technical requirements for projects is a challenge, for what constitutes good business requirements may be difficult to execute technically, and what is possible technically may not be enough to fulfill customer requirements.
The best project business requirements are simple, clear, and broad in scope. The more detailed and complex the business requirement, the harder the technical implementation. For instance, if the business requirement is for call center customer service executives to retrieve customer details faster, a good business requirement would be “make changes to software code to reduce customer detail search time by 30 seconds." Specifying details such as “making changes to user interface to allow for faster input of strings," “changing search algorithm for better search," or specifying the color combination of user interface are all technical specifications, changes to which do not impact the business requirement, and are therefore best left to the project design team. Including such details in business requirements place unnecessary restrictions on the design team.
The best project technical requirements are that which remain flexible, and allow reversability or process backtracking, to incorporate changes in business requirements or scope creep that may come about when the project is in implementation stage. For instance, in the example of the store quoted in the first page, the store might initially want a desktop application, and the technical requirement would be to code the software in C++. A best practice is to code in PHP, to allow the possibility of converting the application as web-based if the store decides to open branches.
The best approach is to make gathering business requirements and drawing up technical requirements for projects a collaborative approach, with both business managers and technical experts having a say. The project fails if business managers dominate the project planning process and set project targets impossible to attain technically, or if project managers concern themselves with technical requirements, keeping business requirements secondary.