Southwest Airlines

Platforms: Android Logo My Roles: Android Developer Tools: Java, Android Studio, XML, Gradle, ADB, Material Design, Crucible, Swagger

Southwest Airlines was one of my largest projects to work on. The sheer amount of business rules written for the app and the hundreds of different scenarios could fill an entire encyclopedia. I worked with a small team of developers, but the project quickly grew in size, so it was vital we documented well as we developed the app.

Model-View-Presenter

Southwest Airlines Mobile App Screenshot
Southwest Airlines Mobile App Screenshot
Southwest Airlines Mobile App Screenshot

Various mobile screenshots

The model-view-presenter pattern was something we followed religiously. Due to the heavy amount of API called scattered throughout the app, it was vital we develop the code so that background processes do not interfere with the UI.

Since multiple screens shared UI components, presenters were generic enough so they could take in the data necessary for that specific screen and dynamically spit out the UI without having to worry about components not looking right depending on the data that was fed to it.

Covering Edge Cases

Since there were a plethora of different scenarios the user could go through, careful consideration did wonders for our QA team.

Southwest Airlines Mobile App Screenshot
Southwest Airlines Mobile App Screenshot
Southwest Airlines Mobile App Screenshot

Various mobile screenshots

Strict source control and mandatory code reviews by every member of the team ensured bugs were kept to a minimum. Since everything was well documented and processes on how to write new classes, presenters, models, etc. were clear, there was very little concern of ramp up time for new team members.

Add in mandatory unit tests and you're left with an excellent development cycle where each sprint was met up to standards (and in some cases, way beyond expectations).