
The first formal presentation you make is the Concept Proposal. It is delivered at approximately week 2 of the semester. The purpose of the Concept Proposal is to convey to your customer your understanding of what the customer is asking for and to present your approach to providing it. A well prepared and delivered Concept Proposal will build the customer’s confidence in your ability to deliver the product and will establish an initial set of expectation on which you need to deliver. In that respect don't promise significantly more than you will be able to deliver and don't significantly 'low ball' either.
Your Concept Proposal will normally address the following items:
Customer motivation and vision
What is the current situation motivating the customer?
Why does the customer need you to develop a solution?
How does the product / solution you will develop fit into the customer’s environment?
Highlight of the product / solution requirements
What are the 5 to 10 most important features you are to provide?
Are there non-functional requirements such as performance, accuracy, reliability, or usability the customer is emphasizing?
Use cases
Describe the primary use cases for the system. A use case present a series of interactions between a user (actor) and the system focused on performing a single action or task. It indicates what the system does in response to the user’s action. Use cases may also be used to describe the interaction between your system and another system in the customer’s environment.
Your architectural approach
Present a diagram showing the major pieces of your proposed solution and how it will interact with the user and customer’s environment. Try to provide some detail that indicates how the system is decomposed into its constituent parts.
Testing strategy
How do you plan to test your code so that you are assured of a clean delivery at each release? This needs to address testing of individual modules / functions as well as the integrated product.
How will testing be automated to provide effective
regression testing capability?
Your high level project schedule
Present the timing of your major project activities with emphasis on when product releases will occur.
The mapping of product requirements / features to the incremental releases
Indicate what major requirements or features you plan to deliver in each release.
Describe how you arrived at this plan. What factors influenced your selection of features for each release?
Risk analysis
Describe the factors that present risk to your project. What are you going to do to minimize the risk presented by each factor?
