1. A computer implemented method for developing and maintaining problem resolution flow charts, comprising: authoring by a user a dependency matrix of questions and states describing a problem to be resolved, the matrix being formed by crossing said questions with said states, there being a cell in the matrix corresponding to the intersection of each question and each state, each cell containing one or more answers corresponding to the respective state and a respective answer probability for each said answer, each state having a probability of occurrence; generating by a computer a problem resolution flowchart from the dependency matrix, said probabilities of occurrence and said answer probabilities being used to optimize the order of said questions in said flowchart; and testing the problem resolution flowchart.