Week 8 has come and gone. We started doing a little thing called mob programming. Mob programming isn’t a bunch of programmers gunning each other down in the streets. It’s a software development approach where the whole team works on the same thing, at the same time, in the same space, and at the same computer. This is similar to pair programming where two people sit at the same computer and collaborate on the same code at the same time. With Mob Programming the collaboration is extended to everyone on the team, while still using a single computer for writing the code.
At first I thought this would be a very counter productive way to program. Having only one person on one computer while the others navigate seems less efficient than having everyone work individually. But in actuality it turned out to be quite the opposite. When you have several brains looking at one problem you can quickly throw around ideas quickly while the driver, the one person actually inputting the code, constructs the code that the navigators are coming up with. It seemed like as a group we easily ran through all the problems we had to solve. When individually it would have taken a lot more time to see the problem and actually come up with a solution.
As a team we started working on a medical application for a hypothetical doctors office called MedAgenda. What it does is allows patients to check in, as well as doctors, and creates appointments for them automatically. We started off by going through our product backlog. A product backlog is something the owner of the product creates. The product owner adds what he wants the application to do. As a team we broke down the product backlog and planned out our sprint for the week. Once we had our sprint planned out and everything broken down into how long we think each feature will take to complete we moved into mob programming.
As a mob of passionate hungry programmers, we started discussing our database structure and what we all needed for that. It literally took us the whole day to plan this out. I had no idea how much actual time and thought needs to go into planning a database. We each took turns driving the computer and inputting the code that the rest of the mob was feeding us. It was beneficial to here how everyone would approach the problem. Programmers code can differ a lot from one another.
Once we had the database ironed out we broke off individually and started working on our own parts of the application. I worked on my section of the application as much as I could this week. At Origin Code Academy we have a meetup every Thursday. The founder Jeff Winkler asked me about 2 days before our meetup to give a presentation. So, I had to put the project on hold for a day to get ready for the presentation.
I did my presentation on a nifty package manager called Bower. I won’t go into it to much in this blog post, it deserves it’s own. The presentation was not as smooth as I would have liked it to be. I would have liked it to go a little better. But hey, when you demo things, they always break. It was a great week to give a presentation at the meetup though because my mom came to visit me!! I had not seen here in awhile and I was extremely excited to have her in town for the weekend.
Thanks for checking in on my week 8 at Origin Code Academy. I Can’t wait to spend the rest of the weekend with my mom! Make sure to check back in for week 9 to see how the rest of MedAgenda is coming along. See you next week.