Date of Lecture: 19 August 2013
Summary and feelings of the day:
What a pack day this was. The lecture started off with the announcement of the Facebook Seminar Deadlines (Assignment 2), which is not too far away. Our powerpoint slides have to be sent in by the 30th August 2013! Next Friday! On that same faithful day, I have to complete my project for ACC3615 too… The bad news doesn’t end here… This coming Monday (26th August 2013), our group has to submit Facebook Assignment 1 Part 1. This is an insane course! Grumbles aside, Colin introduced the basics of software engineering which included the concept of waterfall, something that I realized I had encountered before in my polytechnic modules. He also mentioned Cocoa Touch which I understand naught of. Apparently, Wikipedia tells me “Cocoa Touch is a UI framework for building software programs to run on the iOS operating system (for the iPhone, iPod Touch, and iPad) from Apple Inc. Seems like I should start understanding this seemingly interesting application for unwelcome yet impending Assignment 3.
After Colin’s presentation, we had three guest speakers and the summary of the talks is as follow:
CS3216: Sharing my experience with software engineering by Jonathan Low
What, why, who? These are the three things up for consideration if we’re in the idea generation stage. What are we developing? Why are we doing it? Who is it for? These are three out of the Journalistic Six classic questions. He said something that rang soundly in my ears, “if you have an idea, search the web for its existence, and if there is something similar out there, your idea should be safe to implement”. Of course, assumptions and tweaks have to be made too! For more information regarding idea generation and startups, he encouraged us to google Steve Blank. Apparently he is a maniac who does serial-entrepreneurship in Silicon Valley and academician who is based in Pescadero, California. Maybe I should read one of his books… Hm… But time is never sufficient, especially during Year 3 Sem 1!! Some tools / websites that were introduced include: MySQL vs MongoDB, Quora, Stackoverflow, Pttrns.com vs Mobile-patterns.com vs Patterntap.com. Johnathan also emphasized the importance of a leader within a team, in order to ensure constant communication. The team should have the same expectations & standards, commitment levels, ideas and concepts. The leader should have a 1-to-1 meeting with each of the member too.
The next two presentations were about Scrum. Scrum by Chris and Applying Scrumm to Project Work by Kow Weiman. Wikipedia once again! “Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development. Its focus is on “a flexible, holistic product development strategy where a development team works as a unit to reach a common goal” as opposed to a “traditional, sequential approach”. Scrum enables the creation of self-organizing teams by encouraging co-location of all team members, and verbal communication between all team members and disciplines in the project.” There are two interesting websites for a team to be self-organized, trello.com and asana.com. Pretty useful I would say. Note to self: Clean Code is a recommended book.
Gems of the day:
Asana, Trello! New tools to play with!
Rushing Facebook Assignment 1.