During the short
12 weeks that we have for this semester, I am glad to work with a fantastic
team comprising of Darren Gavin, Zhang Xi and Faizan Abid for the CS2103T
project. Throughout this project, we have
gained valuable technical skills in designing and implementing a software
system. We have also acquired essential soft skills, such as communication and
problem solving techniques, which is necessary when working in a team. In the following paragraphs, I shall dicuss the lessons learnt during the development of the project. They include the
preparation, project management and communication aspect of the project.
Preparation
Before embarking
on a project, it is imperative to prepare and plan for the processes required
to achieve the project goals. Change management is one of the most important
processes in project development but it is often neglected. Change
management seeks to introduce and approve changes to the project in a formal
manner. In this way, it minimizes the impacts on the project and avoids
distraction.
In this project, I have learnt the
importance of change management the hard way. For
example, in the early stage of the development, we have failed to include proper
change management procedures into our workflow. As a result, I unwittingly undid changes made by Zhang Xi and Darren Gavin when I modified the code databases
without consulting the team first.
Thereafter, we
developed a system of early and continual evaluation, so that new additions of
codes could be assessed and compared, at the earliest possible moment. This gave the opportunity for members to learn from each other and for changes to be
validated against the project specification. I would recommend every software project team to include this step into their process workflow as it lowers the chances of mistakes when changes are introduced to the project.
Project Management
For the project
management aspect of the software system, I have realized the significance of
implementing a project in phases. Our team faced a manpower crunch in the early
stage of the project. After consultation, we decided to break the project into
phases and to concentrate all our effort into one phase at a time. This reduced
the chances of our team spreading the resources too thin. This also allowed our group to review our progress at the end of each phase, and make the changes accordingly for the next phase. I would advocate teams with limited resources to go with this approach as it maximize productivity.
In addition, we also put in place a well-structured and documented agenda of meetings and internal
deadlines. I feel that it is useful as it provided a clear
framework in which issues could be monitored and debated, decisions made and
communicated, in an effective manner.
Communication
To ensure
effective communication, we employed a wide variety of communication methods
for project discussion and information dissemination. These methods,include regular project meetings, facebook group and NUS
email system. I believe this approach has helped our group to establish trust
and create a conducive environment where innovative ideas are born.
In conclusion, I
have reflected on my experience for CS2103T project. I have detailed down the
aspect of the project that worked well and also what we would do differently if
we were to do a similar project in the future.
Hi Qin Chuan,
ReplyDeleteI appreciate everyone's effort in the project when we faced the manpower issue and we achieved the impossible in the past 12 weeks. I agree that we managed our project in an efficient and effective way by breaking the project into several phrases. This is also a good learning point for me to apply to my future projects. However, in the aspect of communication, there are a lot of things that we need to improve on. For example, after the weekly meeting, we did not update our own daily progress to the whole team so that sometimes we did duplicate work.
In short, we have a good starting point to develop a full software from nothing and I hope we all can create better products in the future.
Hi Qin Chuan,
ReplyDeleteIt is undoubtedly true that our team has met into different obstacles during these 12 weeks of the project implementation. However despite all these difficulties, we have managed to complete most of the tasking required of this project. Hence, this goes to show that our team has managed to achieve a feat beyond our very own capabilities. The lessons that we have managed to learn from our obstacles has proven to be useful to the entire team and because of these lessons, we were able obtain valuable learning points that would help us significantly in our future software project implementations.
Hi Zhang Xi and Darren
ReplyDeleteIt is true that we have a lot more to learn. However i think we did quite a good job as this is our first in-depth project we attempted during our NUS life. Furthermore, we were all strangers when we first started and do not understand each other.
However as time pass, we have grown to accommodate and trust each other. I believe that is the crux to our relative success in the project. We trust each other ability to complete task in time. If there was no trust, one single person will attempt to do everything by himself/herself and not delegate work to other team members. This would delay the project progress significantly.
In addition, as we trust each other,we dared to suggest features that are innovative but difficult in nature as we believed our team mates have the wills and abilities to complete it. This approach has won us praises from project tutor, who commented that our software feature are unique!
My personal thought: With trust and determination, nothing is impossible!