Process Driven Development (PDD) is a methodology for constructing non-trivial custom software applications by analyzing the business processes in which they will be used. It complements the use case driven approach to software development by helping the software architect to establish a correct use-case model for the application to be developed. The use-case driven approach to software development was pioneered by Ivar Jacobson and popularized by Doug Rosenberg in his book “Use Case Driven Object Modeling with UML”.
PDD is particularly useful when there are a large number of different types of users who need to use the application for different purposes. The goal of PDD is to identify the different types of users of the system and to gain an understanding the unique needs of each. PDD accomplishes this goal by modeling the as-is and to-be business processes in which the application to be constructed is involved and identifying the places where individual users interact with the system to add value to the business process. The people who interact with the system map to “actors” in the use-case model. The touch points with the system map to “use-cases” in the use-case model. A use-case model derived in this fashion can then be used as the basis for use-case driven development with full confidence that it represents exactly the right system to meet the needs of the business.
The visual representation of the business processes can vary. The Rational Unified Process has a Business Modeling discipline, for example that uses diagrams from the Unified Modeling Language to visually represent a business process. These include use case diagrams, activity diagrams and sequence diagrams. Another business process modeling notation that can be used is the Business Process Modeling Notation (BPMN).