Custom Development

Developing a Mobile App in a Short Window of Time

Robert Russell

Three other Summa developers and I were notified that we would be developing a hybrid mobile application for the Summa Summit. Our first reaction was that this would be an exciting opportunity, as all but one of us was new to the company so this would be our first project with Summa -- but then, reality set in. First, we were informed that we had three weeks to develop the application and that it had to work on iOS and Android. To add to the complexity, the mobile application also had to communicate with Salesforce.com. Finally, we had to use new technologies that we never used before, such as AngularJS.

How did our team create an application in such a short window? There are many factors that led to our team being able to produce a high quality mobile application in such a short time frame. The factors that will be discussed in this piece are the team's constant communication, necessity of well-defined user stories, benefits of the Agile methodology and how one week sprints kept the team focused, the iterative design process, constant testing on many devices and, above all, every team member’s commitment to the project.

Constant Communication

This project used the Scrum methodology to ensure that the team remained on track and produced high quality work. The key to this process is meeting daily and communicating frequently. In this project's case, every member of our team was professional and placed the needs of the app first. Asking three simple questions which define Scrum -- “What did you do yesterday?”, “What are you going to do today?”, and “Do you have any blocks?” -- are extremely effective from a project management standpoint; especially for this project where we only had three weeks.

Another challenge we faced was that three of the developers were in New Jersey, while the rest of the team was in Pittsburgh. The use of Google Hangouts promoted openness and trust among the team since we were able to see each other’s faces to gauge facial cues for direction. It got to the point where the meetings almost felt like they were in person.

Well-defined User Stories

Every software project faces the challenge of getting clear requirements and accurate estimation -- and this application was not any different. The team was able to accurately estimate their tasks for each user story, which kept us on track. With the first few sprints being successful, it was easy for us to determine how many more features could be added during future sprints. The stakeholders (Rick Kotermanski) did a great job of clearly defining the requirements and what was in- and out-of-scope due to time constraints.

One-Week Sprints

On a typical project that utilizes Scrum methodologies, each sprint is usually two or three weeks. Since this project could only last three weeks, we had to shorten the sprints to just one week. This meant that the team had to produce a fully functioning product every five days. Each of these sprints went by so fast, it truly felt like a we were competing in a 50m event. As a developer, this was a real challenge, as we had to make sure that we remained productive since the success of a sprint could be easily jeopardized if a day was lost due to technical challenges. In addition to our official release at the end of every sprint, we provided unstable, nightly builds to obtain quick feedback from the end users.

Iterative Design

The Summit App required a particular look-and-feel, so Summa’s Design team became involved as our in-house experts. One issue that UX designers can face during software development is deciding if and when they should allow the developers to modify the design due to engineering constraints. In some cases, this can cause a clash between the developers and designers, as each group wants particular things in the project for their own specific reasons.

Even though we only had three weeks to develop this mobile application, this dynamic wasn't an issue. The primary reason for the success here was an immediate sense of trust between the design and development teams. Summa's design team is very open to suggestions and worked with the developers in an agile, iterative fashion. This trust was realized by an elegant and polished mobile application at the end of this project.

Testing Many Devices

Since this mobile application had to work on iOS and Android, we had to test the application on a range of devices. Luckily for us, the team, the stakeholders, and the alpha testing group owned a variety of mobile devices, so that made it easier. Several anomalies were discovered on various platforms and these issues were identified and resolved. This led to a much more stable first release of the mobile application.

Commitment

The real key to the success of this project was that every member of the team was passionate and cared about the mobile application and its success. Everyone on the team was willing to put in extra time and help others to make each sprint a success. Many road blocks were eliminated due to the team being supportive and collaborative.

This project serves as a clear example of how Summa teams operate as a cohesive unit -- even across vast geographic regions. Teams are given the support and resources to create successful, on-time, on-budget, polished mobile applications.

Thanks,

Robert Russell
Technical Consultant
Summa

Robert Russell
ABOUT THE AUTHOR

Technical Consultant