Get this info from your client:
First things first. This should allow the client to feel comfortable sharing detailed information about the project with you.
General Project Overview:
What are the objectives of the project? Details Details Details.
Specific Software Development Tasks:
Put together a list that is prioritized in order of importance/urgency.
Clarify Needs vs. Wants.
What specific services do they want you to perform?
What is outside of your responsibility?
Is there an initial task or two that can be used to establish a rapport?
Project Time frame / Budget:
What is a realistic timeframe to start the project?
How urgent is this need?
Do they have a specific budget in mind?
Software Development Technologies:
List Programming Languages, Databases, Platforms, 3rd Party tools etc:
Is the application integrated with any external systems or data?
Where is application hosted?
Is there a Test environment? Development? Production?
Have them setup a test account for you so you can see the application from the User Perspective.
(What’s user id / password?)
Have them setup access for you to their code / database / task management tool.
(Remote Desktop, Hosting account credentials, etc.)
Have them send code / database (via email or ftp) so you can review it from your own environment.
Provide any general documentation on the project (technical or user).
Software Development Project Team:
What is the structure of current team?
Relationship with existing or prior developers?
Contact Information (email/phone)
Who is decision maker?
How do they define success on project?
Importance of Price vs. Quickly Finishing vs. High Quality Work?
What is the biggest challenge they see for the project?
Follow Up Call:
Two potential times that they’re are available for phone call to discuss above information.