There are two different types of projects. Some projects are well defined while other projects are unpredictable.
Well defined projects have clear objectives and well defined methods that have been shown to be successful in the past. Examples of such projects include construction, engineering and manufacturing projects.
These projects usually have well defined processes that have low levels of implementation risk and uncertainty.
Examples of these types of projects include new designs projects, problem solving projects and exploratory projects.
These types of projects need subject matter experts stakeholders to cooperate with the business analysts and create a solutions to encountered problems.
Examples of domains with highly unpredictable work include the software industry, medical industries, educational institutions and the judiciary system.
High unpredictable projects change rapidly, are more complex, and have higher risks. These uncertainty leads to a lack of credible information on the project, this can lead to problems because conventional predictive approaches depend on getting most of the requirements at the start of the project.
The predictive approach is usually the preferred method because it helps reduce project risk and changes can be controlled through a change request process.
But this approach wont work in highly unpredictable project because of the lack of requirements so instead of using this approach, agile approaches were developed to investigate feasibility in short cycles and quickly adapt based on the results of the assessment.