I work as an independent developer. I find it difficult to test functionality of a feature and test code. As project goes complex, I loose focus resulting in each feature partially developed. I want to know how to write test cases, manage smooth workflow and handle features effectively and while remain focused?
How to test code and functionality effectively while working as a freelancer?
project management;testing;freelancing;workflows
Scrum, agile, and Test driven development techniques aren't just for big teams or big companies, they can help on freelance projects too.Creating a backlog of requirements/user stories can help focus on what needs to be done and when it needs doing. For each iteration you can decide what you want to achieve and how much time you want to dedicate to it. Try to strike a balance between keeping yourself busy and avoiding biting off more than you can chew though - both extremes can be demoralising.If you feel yourself getting bored or losing focus, try switching to another user story. Remember that it is often the case that a change is as good as a rest. With a good DVCS like git or mercurial you can easily switch contexts by switching branches. When sets of features are ready at the end of a sprint, merge them together and you have a sound basis for the next iteration.Finally, TDD can really help focus the mind on what you need right now (YAGNI) and it strongly encourages you to write your code with testability in mind. It takes me about the same time to write code using TDD as it takes me to write without it, but with TDD subsequent debugging, re-factoring and regression testing are all much cheaper and can be done with much more confidence.