45 habits of programmers: agile development and cultivation