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...