Defining the nature and scope of the problem
Identifying proper experts
Acquiring knowledge
Selecting the building tools
General-purpose development environment
ES Shells
Tailored Turn-key solutions
Choosing and ES developing tools
Coding the systems
Evaluating the system