Recent iPad application development projects have put Christopher Moyer's chosen management tactics, tools, Agile best practices and multitasking skills to the test. As vice president of technology for online content aggregator Newstex, he has been overseeing multiple legacy-to-iPad application migration projects while keeping existing applications healthy. This article shares the approaches and tools he has used to keep organized, build a cohesive team, ensure quality and deliver iPad apps on time.
"Each day is different, and I wear many hats as I'm managing the back and forth between the customer and QA and other nondevelopment players," said Moyer, author of Building Applications in the Cloud (Addison-Wesley, 2011) and Ask the Expert adviser on SearchCloudApps.com. David Allen's Getting Things Done (GTD) process methodology, which focuses on to-do lists, helps with organization. GTD's premise is that lists free the mind from remembering what must be done when unscheduled tasks occur. "GTD has helped me keep up with my other work during the iPad development projects," he said.
News in the mobile device age
Readers' move to accessing news on mobile devices spurred Newstex's decision to move applications to iPad and other mobile formats. Newstex is a content syndication provider, licensing content from various publishers and providing content packages relevant to customers' chosen topics. The company's applications gather information on a customer's chosen topics from blogs, news sources, video publishers, Twitter and other media outlets. The content, licensed from original sources, is run through Newstex's applications, which handle content curation, normalization as metadata, syndication and delivery.
Having been a developer has helped Moyer assess his team members' style and personality.
Moyer's project team released Newstex LEXIS-NEXIS for legal news to iPad and CQ Roll Call Insight to iPad and iPod Touch this year. Team members include a core of two mobile applications developers, an analytics specialist, a quality assurance (QA) manager and a client-support engineer.
A key goal for Moyer is taking care of as many issues as possible without involving developers. "It is important not to distract developers with organizational issues, so they can just develop," he said. To accomplish this, Moyer and the support engineer handle most customer communications that are unrelated to software requirements. The support engineer is the first-stop liaison with clients and is the person who funnels client issues to Moyer or another appropriate team member.
During development projects, Moyer holds two, short whole-team -- customer, QA, development -- meetings a week to get everyone on the same page. Every Monday, project managers meet to discuss progress, roadblocks and workarounds. He meets one-on-one with developers about once a week and with customers as needed, which is almost daily.
A glossary of terms for all team members is Moyer's main tool for simplifying communication. He acts as translator when the glossary doesn't suffice. "I can't talk really technical to someone who deals only with clients or to clients themselves," he said. "I have to talk tech to my developers. Otherwise, they'll get annoyed because they're not getting details."
Having been a developer has helped Moyer assess his team members' style and personality. "With certain developers it's fine if I say, ‘I need this done by this time.' With others, I have to ask them how long do they think a task is going to take."
Knowing what information developers want is another plus. "When I was just a developer, I wouldn't really understand the purpose of some development tasks. That just drove me nuts," he said. Through working on the business side, he now understands project priorities. For example, if a customer complains about not getting a feed, he can determine based on the business needs how to prioritize a fix. When calling for a fix, he communicates the business need to developers, so that they aren't working on seemingly meaningless tasks.
App requirements tactics
Eliciting requirements is the hardest communication job of all, said Moyer. "In any kind of Agile development, getting good feedback is absolutely important, and that's the hardest part of the development we do," he said. He has developed some best practices -- such as surveys and rapid prototyping -- that help hone requirements.
In addition to team and personal meetings with customers, Moyer regularly surveys users to see what application features they like, what they think is missing, etc. The next step is user demos of an iteration that incorporates features revealed in survey feedback: finding out what we think they need, giving them a demo of it and then releasing that eventually, once they approve it.
Rapid prototyping is another tactic Newstex uses to get accurate, quick feedback on requirements. The development team gathers basic requirements and builds a minimalist release for users to review.
"Many people can't articulate their needs in software feature terms," said Moyer. Rapid prototyping provides examples for end users through trial and error. Getting versions to end users is critical, because requirements often come from managers who are not the end users of the application. "In this project, we found that some people who were dictating requirements didn't even have an iPad," he said.
Favorite app project tools
Management and analytical tools have helped Moyer get things done in the iPad apps and other software projects, as well as application maintenance work. He explained why he works with tools like Flowdock, Mixpanel, Freshdesk, Skype and others.
- Flowdock is used for real-time group chats. Best traits: Chat history is stored forever, and file sharing can be done in real time during chats.
- Skype is used for personal meetings and urgent calls. Best traits: Face-to-face communication builds closer relationships, provides clearer communication via visual cues like expressions and reassures customers in times of stress.
- Mixpanel is used for mobile analytics. Best traits: Helps determine how much a mobile app is used and analyze spikes and slowdowns. This information has helped Newstex hone its release cycle.
- Freshdesk is used for customer-facing ticket management. Best traits: It identifies, aggregates and enables routing of any kind of email that a customer sends into support addresses.
- Development wikis are used for each project. Best traits: Developers can log in time and work done, so manager has overview on how long processes take and the progress made. A wiki is also a repository for source control, so everyone can view it, which is helpful in general and specifically in turnover situations.
- Newstex used Papertrail for log management and a log aggregation, but recently switched to Splunk Storm. Papertrail is easy to use and good at tailing log files, Moyer said, but poorly handles logging of in-depth details, searches and volume. Splunk Storm best traits: Traceability, price, indexing speed and road mapping includes alerts and improved searching.