Development tips
    I've worked in some projects so far and I learned some things that can save you a lot of time even if they sound very expensive. These tips are meant for small/medium size projects, perhaps you can apply them to big projects, but I'm not sure.
I didn't have this information at the beginning because I was too lazy to read about it, and had to learn it the hard way, by suffering the consequences...
- Revision control system from the beginning.
 - Define your goals and milestones, even without dates.
 - Define what you are going to build, with use cases or user stories, or just use whatever you feel comfortable with.
 - Define an architecture, don't go on without this. The architecture must define the form of the system, not the details.
 - Define the contexts you are going to be working on, this means that you have to separate your project into smaller micro-projects (if it applies).
 - Define your frameworks/libraries stack.
 - Define your project(s) structure, this involves folders and files.
 - Define your automated build scripts, something like Gradle would do it.
 - Think in the tests before the implementation, if it's testable, it's implementable.
 - Use continuous integration from the beginning.
 - Keep you source files small and readable.
 - Periodically check your system and update the architecture if some changes have been made.
 
I didn't have this information at the beginning because I was too lazy to read about it, and had to learn it the hard way, by suffering the consequences...