Define the business and technical environmental assumptions and constraints. Apply structured analysis methods and CASE tools to ensure completeness and provide a clear statement of what the system will do. Once the problem is analyzed and understood, we can begin to architect solutions. As the problem is broken down into component objects, processes, and user interface scenarios, a corresponding set of solution components are modeled. There is usually more than one solution to a problem.
Many new problems are variations of old problems that have been solved before.
Identify cost-performance tradeoffs and packaging and deployment considerations. It lets the users help design your product as your product is being built. We've found this to be a valuable and rewarding experience. It crystallizes the image of what our clients and their customers are looking for and generates confidence in both the solution itself and the process by which is it being implemented. Ensure understanding and agreement as to how the system will work.