When a student of java or a programmer starts a project in java/j2ee, he/she face different types of problem during project integration. These problems are depends on programmer goal or requirements. If a programmer is newly join programming field as profession then first make the purposal of project, and define project scope. It is a software engineering to create a new software using Java. So it is better first that follow the rules of SE that how to make good software and read how a programmer face the different phases like analysis, design, test, implementation. Your experience comes in handy. Based on the current state, technology used, and needs of the Project; develop a picture of the future related to project. It's sometimes valuable to actually just tell a story of the ideal development environment. Keep this somewhat high level for several reasons. First, there will need to be flexibility across project types. One solution doesn't fit all. Second, this information is intended primarily for management folk. This is where the real magic happens. Then project phase takes into account psychology, technical understanding of the development environments that you are implementing to, and a healthy understanding of the process used and project affected. The size project determined the number of developers (Small, Med, and Large) that you would have to train. The maturity of project is based upon the developers' past experience with the new Java Solution. The technology of project is because of involvement with another project that's been converted already, it Likely won't take as long to rollout the solution. We ranked them light, medium, heavy. Project type has quite an impact as well since the work that you have to do to convert them can be quite a bit different based upon their environment. Examples of this could be Mainframe, C/C++, Java/J2EE, etc.