There are two general approaches, but most require a lot more information than you have right now. Without knowing more about the project and team, neither method can apply. Once you know more, you can either apply parametric estimation models, such as COCOMO II, size estimation methods such as function point analysis, proxy-based estimation, or team-based estimation techniques such as the Planning Game or wideband delphi.
Typically, before you begin estimating, you need at least a rough idea of the scope of the software project. This is usually done by starting to capture requirements in the form of a Software Requirements Specification, user stories, or some other technique. Establishing an overarching vision and scope for the project would also help as well.
Once you've established sufficient information about the project, you can begin the estimation process, depending on the methods that you choose. It might be advisable to even use multiple estimation methods. For example, using wideband delphi as a check for the output of COCOMO.
If you want to know more about software estimation, I would highly suggest reading Software Estimation: Demystifying the Black Art by Steve McConnell. He talks about many estimation topics and techniques and explains a number of best practices regardless of the size of the project. Also, for general project management topics, I would also suggest McConnell's Rapid Development: Taming Wild Software Schedules, where he talks about topics such as staffing, process management, and silver bullets.