Saturday, 24 March 2012

Blog #3 Reflection on software demo preparation or project development


This is my first project in developing a software and having to prepare a software demonstration for it. The journey towards the end product is a rough one, and I have learnt many important pointers along the way.

Firstly, for the development in any project, I feel that there is a strong need for a very good foundation of the appropriate skills, in this case programming skills, before you jump into the project. Having started learning programming only when I started this course, my knowledge about programming is limited to what I have learnt for the past one year. My experience in programming is hence very little. This caused a problem to me due to the fact I take a longer time to do the same set of problem, and it also caused inconvenience to my teammates as they had to spend some time in coaching me and leading me to the right direction. So the lesson learnt here is to first make sure you are equipped with the adequate skills before you start a project, as it may result in a longer time spent to do the project.

When planning for a project, we have to factor in external factors that could possibly cause us to not meet the deadlines we set. When we initially did up our proposal, our plans for the development of our software were realistic given the time we had and definitely doable. What we failed to factor in however was the fact that we had to spend a considerable amount of time on our modules too. Up till the time before our midterms, things were going pretty smoothly and we were following as according to our planned schedule.  During the period of midterms, we started to have less time spent on this project due to the fact that we have to concentrate on our studies. After the midterms, assignments and other projects came in the way and it became apparent that we had very little time to concentrate on this project. The lesson learnt here is make sure that during the planning of the schedule of a project, we have to account for the external factors that could possibly affect the time we have to spend on this project. Failing to do so may lead to the following problems:
1) The entire team having to rush through the project and failing to meet the appropriate standards
2) Not being able to meet the task requirements, resulting in an incomplete project

In conclusion, project development is something that requires heavy planning and lots of consideration. We must first consider the fact that we have at least a good set of skills before carrying out a project, and during the planning of a project, we have to consider factors that may cause us to have deviate from our planned schedule. I also feel that there is no such thing as a perfectly well planned schedule, and problems, whether big or small, will bound to arise. What we can do however is to try and minimise these problems through the lessons we have learnt from past experiences.

4 comments:

  1. Joel

    Hope that your experience in this project is an enjoyable one.

    However I do not agree with you that there is a strong need for a very good foundation of programming skills in this project. What matters most is your attitude towards any software development project. I believe with your willingness to learn, you will be able overcome any possible obstacles in the future. Furthermore, not everyone is equipped with the set of skills naturally, it is all through practice, everyone had their first time like you. Hope you will apply what you had learnt in this project to your future projects.

    ReplyDelete
  2. Hi Joel,

    It's ok that you don't have a strong foundation, every programmer has went through that. You just need to practice more to improve your programming skills. You can try to search online for code examples or guides to help you. You probably need to put in extra effort during school holidays since school term is quite packed with assignments and lectures.

    Also, I do agree with Jinyu that your attitude towards your work is very important.

    Wish you all the best and persevere on! =)

    ReplyDelete
  3. In software engineering, schedule is always not deterministic. The reason is that there are always unexpected things in terms of man power, technical issues and budget. Even the most experienced manager cannot make sure that the development is smooth and the product can be deployed on time. In our case, things are even nastier since we are not full-time workers, which brings in more unexpected problems. A general good way is start it earlier, which definitely helps.
    As for the skills, even if you don't have good programming skills, there are still a lot of things you can do like documentation and team management. Do one thing and do it best, that's really enough.
    There is one more final report to go, hope you can do your best!

    ReplyDelete
  4. You are not alone, Joel. I am no way better than you in programming. Well, you have to agree that we are forever learning and picking up skills as we move on. Even after we entered the society, our learning journey has not ended.
    I am equally lost, having no idea how to start coding, like for the GUI codes, we did not go through any formal lessons for it and picking it up ourselves is really tough. For us, as we slowly pick up these programming skills, we can make ourselves useful in doing up the documentations well. Working in a team is about giving in your best shot in everything you do. So not to worry, we’ll work together and improve ourselves in programming. =)

    ReplyDelete