Reflections
Welcome to our seventh blog. Thank You for being together with us as we developed our application CashTrack. In this blog, we reflect back on the challenges we faced throughout this journey and the benefits of taking this course.

After weeks of sleepless nights, brain storming, going through requirements and use cases, planning system design, coding, and testing, we are finally able to deliver the outcome of our project. Of course, nothing is perfect and just like every project, it’s important to reflect on our actions and decisions so that we can enhance our skills and take care of the shortcomings in the future.
Technical Challenges
Firstly, none of us had any worthwhile experience with coding. All three of us came from different backgrounds with basic programming skills, however, without hands-on experience with application or software development in the real world.
Working with GitHub and being synched with each other was quite a challenge which took us a great time to properly understand and deal with.
Initially, we also had trouble with using a Database and its integration with the application. Though we did get on top of it pretty quickly.
Apart from these, running Android Studio and Emulator wasn’t exactly straight-forward either, owing to lack of computational power. For example, AMD processors and low memory needed to be tweaked to a certain degree before running the software. Similarly, real-world testing was also slow due to a couple of members not having Android phones.
Challenges and Benefits of working as a Team
None of us knew each other before we came together to complete this challenge. As one would expect, we did face a few problems along the way.
Having people from different backgrounds is great for diversity, however, having varying levels of expertise, competence, and perspectives did take us some time to get used to working as a unit.
Communication serves as a vital role in a team project and it is proven that face-to-face conversation serves as the most effective method to clarified instructions and tasks. However, due to different time schedules of the team members, allocating a convenient time for a meet up was certainly not an easy task.
Visual styles, writing styles, and art is pretty subjective with respect to every individual. This led to a few disagreements about the showcase of code, presentations and blogs. On a few occasions, valuable time that could’ve been spent elsewhere ended up in a less constructive discussion about aesthetics.
On the upside to all this, the benefit was that we all had to come out of our comfort zone, adjust and reach compromises in these situations. Every team member in the team has their own position for a reason, so we all played a supportive role as best we could. We also learned how to divide the work load and make sure that the best possible person is assigned to each task.
Deadlines for each milestone of the project were already announced, and we learned how to wisely manage our time and ensure that each milestone is achieved early enough so that we have still time left-over at the end to iron out the small details.
The Course - Introduction to Software Engineering
This course provided us with the fundamentals of Software Engineering as well as invaluable hands on experience with Java. From requirement analysis and user stories all the way to the final product, the course was well structured and covered pretty much everything from the Software Development Life Cycle. It made us realize how much planning and effort goes into the software besides the actual coding. As a result of working with the Agile method and Scrums, we massively improved our Project Management skills. Working with different softwares and tools like GitHub, Trello, Android Studio and ZenHub was an added point.
Apart from the development itself, the course also enabled us to familiarize ourselves with blog writing, team status reports, as well as documentation. We can confidently say that the course definitely met our expectations in terms of gaining knowledge, and both hard and soft skills.
We will definitely recommend new students to take this course.
A few words…
Last, but not the least, we would like to show our sincere gratitude to Dr.-Ing Sandro Schulze for his informative teaching, guidance, feedback, insight, and most importantly, for making this course interesting. We would also like to thank our Client (and tutor!) Dean D’Souza who gave his valuable feedback to our team. He was very patient and supportive throughout the course, and shared his prior experience with us.
While we can’t claim to be absolute masters in Java now, we can positively say that the course put us on the right track to achieve that status. This course did bring the best out of us.
Please stay tuned for the next (and the last!) blog where we will provide a brief overview of the application along with the download link so you can test it out yourself.
Images in this blog were taken from Pixabay, hence are free for both personal and commercial uses.