It has been many weeks since
I had began on this long journey of the CS2103T Software Project Development.
During this journey, I have faced difficulties at the the phases, Implementation
and Documentation, and through these phases, I have managed to pick up many
learning points which will help me in future software project implementations.
In this post, I will be listing out the learning points that I have
been able to pick up from the two phases, Implementation and
Documentation, and how each of them can help me in future software implementations.
Firstly, I realized that having to do both implementation and documentation of a software concurrently is not a simple task. This is because implementation itself will take a considerable amount of time and this somehow hindered my documentation progress of the modules which I had developed. Hence, I often had problems trying to make sure that my documentation is extensive enough to fit my implementations. This lesson has taught me that there are two options to take when it comes to such a case. One option is to balance the amount of effort and time put into implementation and documentation such that I must be able to implement the software modules to a certain extent and then document them in the remaining amount of time. The other option is to determine who should take up the role of solely documentation of the software and its implementations so that the rest can just concentrate on the implementation without having to pause in between the various module implementations. These two ideas which I manage to derive after my experience is able to help me significantly for future software implementations. This is because I think that either one of the ideas will be able to help one to maximize their time to complete the requirements for both software implementation and documentation.
Secondly, during the Documentation phase, I realize that for a software project implementation, there are many things to document on and there were many times that I was very unsure on what should be documented so that the software documentation would be sufficient enough for its readers to comprehend the internal structure and processes of the software easily. This experience, in my opinion, would be the hardest thing in any software implementation. This is because it is easy to implement a software but to translate both the internal structure and its processes perfectly is often very complex and difficult. Hence, from this experience, I have learned that to do up a software documentation that is simple to understand and yet informative, I have to prioritize what is important and obviously place myself into the shoes or position of a reader and try to comprehend the contents of my documentation. This method of prioritization of information is able to aid in the success of future software implementations.
In conclusion, this CS2103T Software Project has taught me many lessons worth learning from. This is because in the past, during my days in the polytechnic, I have worked on projects that were either on software documentation or implementation, but never both components in the same project. Therefore, this project has allowed me to gain a valuable experience that will be useful for me in future software implementations.
Firstly, I realized that having to do both implementation and documentation of a software concurrently is not a simple task. This is because implementation itself will take a considerable amount of time and this somehow hindered my documentation progress of the modules which I had developed. Hence, I often had problems trying to make sure that my documentation is extensive enough to fit my implementations. This lesson has taught me that there are two options to take when it comes to such a case. One option is to balance the amount of effort and time put into implementation and documentation such that I must be able to implement the software modules to a certain extent and then document them in the remaining amount of time. The other option is to determine who should take up the role of solely documentation of the software and its implementations so that the rest can just concentrate on the implementation without having to pause in between the various module implementations. These two ideas which I manage to derive after my experience is able to help me significantly for future software implementations. This is because I think that either one of the ideas will be able to help one to maximize their time to complete the requirements for both software implementation and documentation.
Secondly, during the Documentation phase, I realize that for a software project implementation, there are many things to document on and there were many times that I was very unsure on what should be documented so that the software documentation would be sufficient enough for its readers to comprehend the internal structure and processes of the software easily. This experience, in my opinion, would be the hardest thing in any software implementation. This is because it is easy to implement a software but to translate both the internal structure and its processes perfectly is often very complex and difficult. Hence, from this experience, I have learned that to do up a software documentation that is simple to understand and yet informative, I have to prioritize what is important and obviously place myself into the shoes or position of a reader and try to comprehend the contents of my documentation. This method of prioritization of information is able to aid in the success of future software implementations.
In conclusion, this CS2103T Software Project has taught me many lessons worth learning from. This is because in the past, during my days in the polytechnic, I have worked on projects that were either on software documentation or implementation, but never both components in the same project. Therefore, this project has allowed me to gain a valuable experience that will be useful for me in future software implementations.