私は独立した開発者として働いています。機能の機能をテストしてコードをテストするのは難しいと思います。プロジェクトが複雑になるにつれて、私は焦点を失い、各機能が部分的に開発されました。テストケースを作成し、スムーズなワークフローを管理し、機能を効果的に処理し、集中し続ける方法を知りたいですか?
スクラム、アジャイル、およびテスト駆動開発テクニックは大規模なチームや大企業だけでなく、freelanceプロジェクトにも役立ちます。
要件/ユーザーストーリーのバックログを作成すると、何をする必要があるかおよび必要なときにに焦点を当てることができます。iterationごとに、達成したいこととそれに専念したい時間を決めることができます。忙しくすることと、噛むことができる以上に噛まないようにすることのバランスをとるようにしてください-どちらの極端も意気消沈する可能性があります。
退屈したり、集中力を失ったりした場合は、別のユーザーストーリーに切り替えてみてください。 変更は残りと同じくらい良いであることがよくあることを覚えておいてください。 gitやMercurialのような優れたDVCSを使用すると、contextsを簡単に切り替えることができます。branchsを切り替えます。スプリントの最後に機能のセットの準備ができたら、それらをマージすると、次の反復の健全な基盤が得られます。
最後に、 [〜#〜] tdd [〜#〜] は、今必要なものに心を集中させるのに本当に役立ちます( [〜#〜] yagni [〜#〜] =)そしてそれはあなたがテスト容易性を念頭に置いてあなたのコードを書くことを強く勧めます。 TDDを使用してコードを作成するのと、TDDを使用せずにコードを作成するのとほぼ同じ時間がかかりますが、TDDの後続のデバッグでは、リファクタリングと回帰テストはすべてmuchより安く、はるかに自信を持って行うことができます。
個人的なプロジェクトであろうとフリーランスであろうと、自分で作業している間集中し続けることは確かに挑戦です。これが私が考慮しようとしていること(そして私がこの種のプロジェクトを扱っているときはいつでも自分自身を使うこと)のためのいくつかの秘訣です: