Thanks for the advice but I didn't had experience with DirectX Graphics API when I started the project. I was learning plus making the game at same time so it took that much time.
You shouldn't have to justify yourself - if you want to take 5 months doing graphics, then that is perfectly fine. Maybe you only get to work on it once in a while, maybe you had an interruption, or maybe you are just learning how to do it. It doesn't really matter, but what does matter is that you stay motivated. If you are looking to learn about sound and network programming, then take another few months and learn about them. Don't just your progress based only on the game - if you are doing this to learn, then judge yourself by how much you have learned in the project.
I like to keep a hand written journal of the work that I am doing, and document some successes and some failures too. It helps to keep me realistic, and to see how much I have done over the past month or so. Give it a try and see if it works for you too.