Day 1 — Beginning of the End

Danielle
Team-6
Published in
4 min readNov 25, 2019

Welcome to the blog of Team-6, a bittersweet retrospective of one team’s journey to complete a final project as the summation of their Makers Academy experience.

Team-6 includes six talented, brilliant, gorgeous and oh-so-humble students from Makers Academy September 2019 cohort. Team members include:

Alec Walker — https://github.com/AlecDWalker
Danielle Inkster — https://github.com/DanielleInkster
Heli Sivunen — https://github.com/PacificRebel
Jay Issuree — https://github.com/JayIssuree
Josh Davies — https://github.com/JoshDavies
Roberta Mangiapane — https://github.com/robertamangiapane

After 4 weeks offsite and 10 weeks onsite, we’ve reached the final stretch of our journey. After much brainstorming and evaluation, we were assigned teams this week with whom we will complete our final Makers project. Each team will have two weeks to complete their final projects; the only parameters will be those we set for ourselves. Teams were assigned by our coach based on our interests after an ideation session on Friday.

Our team was assembled based on our interest in the broad category ‘Fun and Games.’ We assembled on Monday morning to decide on our project. After some deliberation, we decided as a group that we wanted to challenge ourselves to build a project using a new language. Using the suggestions of the ideation session and the process of elimination, we decided on creating a geo-location game (the full details of which will be described in our final blog post!)

While we had initially planned to use Python and Angular for our project, our coach suggested a different direction. Since we wanted to build something app-like, our coach suggested we use Swift to build an iOS app. Swift (as we would soon learn!) is a language developed by Apple specifically for the iOS platform. It has the benefit of being fast, safe and less error-prone than some other options. Additionally, it is syntactically similar to languages we are already familiar with from our Makers journey, such as Ruby and Javascript.

As opposed to working with a code editor such as Atom or Visual Studio Code, Swift is best created in its own IDE (integrated development environment) known as XCode. While code editors do exactly as it says on the tin, IDE’s are the full-package deal: text editor, compiler, builder, debugging etc, all in one.

Once we identified the nature of our project, we established the parameters of our M.V.P (Minimum Viable Product) based on the user stories we generated as a team. An MVP is a product with only a basic set of features, released in order to test a new business idea and gauge people’s reactions (in this case, the “people” will be the team.)

We first created a shared Github repository as well as Trello board to help us create and distribute tasks to meet our target. Our tasks were based on user stories, grouped by similar functionalities. Using the Agile process, we’ve decided to work in two day sprints and have a scrum master for each sprint. In our first sprint, we plan to create our MVP using strategies such as pair programming, test-driven development, planning sessions, stand-ups and retrospectives. These strategies will help us meet our team goals as well as most of the project goals set out by Makers Academy ( good testing practices, good distribution of work, good quality of work and good documentation.)

For our MVP sprint, our work has been divided as follows:

Heli and Jay — Investigated how we could use Swift’s Map functionality for our project. For the purposes of our M.V.P, they were able to create a map directing the user to the first location.

Alec and Danielle— Learned about using XCode’s storyboards to build an introduction to the app. Along the way, they learned the difference between a Main storyboard and Launch storyboard. (Spoiler: One can be used with interactive content…the other cannot.)

Roberta and Josh — Also learned about storyboards to create the first riddle for a user to solve. The answer will lead the user to the next location.

During our retrospective, we discussed what we’d learned as well as outstanding questions remaining.

What we’ve learned(thus far):

  • The very basics of creating a single page app
  • How Xcode interacts with Github
  • Basic syntax for Swift
  • That if everyone creates their task using the ‘main’ storyboard, it cannot be merged into a cohesive project on Github. (This one hurt, folks…but we learned a lot about how to effectively work as a team using XCode here.)

Questions remaining(again, thus far):

  • A lot of the coding aspects are done automatically using XCode. What does the logic look like? Where is it going?
  • What is the correct syntax for XCTest? (built-in testing suite for Swift in XCode)

These questions and more answered in the next blog article (well, probably…) Keep an eye on this space for the further adventures of Team-6!

--

--