0% found this document useful (0 votes)
302 views35 pages

Mobile App Guide for Product Owners

This guide helps product owners plan mobile apps from concept to requirements that can be handed to developers. It provides templates and guidance to communicate needs to developers and reduce time spent figuring out requirements. The guide covers topics like goals, requirements, functionality, design, security, testing and more. It is meant to help non-technical product owners effectively plan apps and work with development teams.

Uploaded by

Shan Abdussalam
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • Analytics,
  • App Store Distribution,
  • Localization,
  • Extensibility,
  • Serviceability,
  • Market Research,
  • Consultation Services,
  • Hybrid Apps,
  • Testing Requirements,
  • Migration
0% found this document useful (0 votes)
302 views35 pages

Mobile App Guide for Product Owners

This guide helps product owners plan mobile apps from concept to requirements that can be handed to developers. It provides templates and guidance to communicate needs to developers and reduce time spent figuring out requirements. The guide covers topics like goals, requirements, functionality, design, security, testing and more. It is meant to help non-technical product owners effectively plan apps and work with development teams.

Uploaded by

Shan Abdussalam
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Topics covered

  • Analytics,
  • App Store Distribution,
  • Localization,
  • Extensibility,
  • Serviceability,
  • Market Research,
  • Consultation Services,
  • Hybrid Apps,
  • Testing Requirements,
  • Migration

Moblle App lannlng Culde

by CpumusMoblllLy
lf you're looklng Lo develop a moblle app for your organlzauon, Lhls gulde wlll walk you Lhrough whaL you
need Lo know ln order Lo make lL successful whlle avoldlng common plualls.
!"#$%&'()*$+$#, $' . %)*$+/ .""+$0.#$)1 .12 3/*'$#/ 2/4/+)"%/1# 5$6% +)0.#/2 $1 7.10)&4/68 9.1.2.: 7$'$# )&6 3/*'$#/ .#
333:!"#$%&'()*$+$#,:0)% #) ;/# ,)&6 %)*$+/ "6)</0# '#.6#/2 #)2.,=
1A8LL Cl CCn1Ln1S
!"#$%&'(#!%" ************************************************************************************************************************************************** +
,-% .-%'/& $01& #-!. 2'!&0*************************************************************************************************************************** +
-%, #% '.0 #-0 2'!&0**************************************************************************************************************************************** +
3$043/1""!"2 *************************************************************************************************************************************************** 5
,-6 1$0 6%' 7'!/&!"2 #-0 1338*********************************************************************************************************************** 5
,-% 1$0 6%' 7'!/&!"2 #-0 133 9%$8************************************************************************************************************** :
,-1# &0;!(0. 1$0 #-06 '.!"28************************************************************************************************************************* <
,-1# &%0. 6%'$ &$01= 133 &%8********************************************************************************************************************* >
,-1# !. 6%'$ 7'&20# 1"& ,-1# 1$0 6%'$ %$21"!?1#!%"1/ 3$!%$!#!0.8************************************************ @
!"4-%'.0 %$ %'#.%'$(0*************************************************************************************************************************************** A
,-1# &%0. 6%'$ 133 "00& #% &%8 B9'"(#!%"1/ $0C'!$0=0"#.D **************************************** EF
-!2-4/0;0/ $0C'!$0=0"#.******************************************************************************************************************************* EF
'.0$ .#%$!0.******************************************************************************************************************************************************* EE
"%"49'"(#!%"1/ $0C'!$0=0"#. ********************************************************************************************************** EG
1;1!/17!/!#6 1"& $%7'.#"0..************************************************************************************************************************* E+
!".#$'=0"#1#!%"*********************************************************************************************************************************************** E5
30$9%$=1"(0****************************************************************************************************************************************************** E:
0H#0".!7!/!#6****************************************************************************************************************************************************** E<
.(1/17!/!#6********************************************************************************************************************************************************* E>
.0('$!#6************************************************************************************************************************************************************** E@
3$!;1(6**************************************************************************************************************************************************************** EA
&1#1 !"#02$!#6************************************************************************************************************************************************** GF
.0$;!(017!/!#6**************************************************************************************************************************************************** GE
=1!"#1!"17!/!#6************************************************************************************************************************************************* GG
=!2$1#!%"*********************************************************************************************************************************************************** G+
/%(1/!?1#!%"****************************************************************************************************************************************************** G5
&1#1 ;1/!&1#!%"*********************************************************************************************************************************************** G:
&0;!(0 .'33%$#************************************************************************************************************************************************** G<
%99/!"0 .'33%$#************************************************************************************************************************************************ G>
1"1/6#!(.************************************************************************************************************************************************************ G@
#0.#!"2**************************************************************************************************************************************************************** GA
'.0$ !"#0$91(0 ********************************************************************************************************************************************* +F
9%"#********************************************************************************************************************************************************************* +F
(%/%$.****************************************************************************************************************************************************************** +F
/16%'#***************************************************************************************************************************************************************** +F
#630 %9 133 ***************************************************************************************************************************************************** +E
"1#!;0****************************************************************************************************************************************************************** +G
,07********************************************************************************************************************************************************************** +G
www. 0ptimus [Link]
2
-67$!&***************************************************************************************************************************************************************** +G
(%"(/'.!%" ***************************************************************************************************************************************************** ++
www. 0ptimus [Link]
S
ln18CuuC1lCn
This guiue will help you take youi mobile app iuea fiom concept to iequiiements that you can hanu to a
uevelopei.
It will help you communicate with uevelopeis anu ensuie that uevelopeis aien't guessing at potentially
impoitant uetails.
It will help you ieuuce the time spent tiying to figuie out what aie the obvious anu non-obvious neeus anu
communicate those neeus to uevelopeis.
,-% .-%'/& $01& #-!. 2'!&0
This guiue is piimaiily foi piouuct owneis at inuepenuent softwaie venuois taskeu with cieating laige oi
complex mobile apps.
It shoulu also pioviue value to anyone planning oi consiueiing a laige oi complex mobile app.
-%, #% '.0 #-0 2'!&0
As a piouuct ownei, you will neeu to be familiai with eveiything in the guiue.
Each section has a ueliveiable anu enough basic infoimation to unueistanu it at a high level anu ensuie that
you can hanu off the ueliveiable to the iight peison. Nany of the sections have iecommenueu iesouices that
aie theie to help you bettei unueistanu the ueliveiable shoulu you uesiie.
Some of the sections won't apply to youi app. Skip them.
The ueliveiable samples aie kept uelibeiately simple so that you can pioviue enough uiiection anu oveisight
without a lot of specialist knowleuge.
Some of the ueliveiables may iequiie specialist knowleuge that you will get fiom uepaitments like maiketing,
uevelopment anu legal.
If specialists on youi technical team insist on auuing a whole bunch of uetails that aien't set out in this guiue,
let them.
This guiue is meant to help communicate with youi uevelopment team. If you aie stiuggling with any pait of
the guiue, then communicate with youi uevelopment team. You uon't neeu to finish eveiything heie to stait a
uialog.
www. 0ptimus [Link]
4
8L-LAnnlnC
You have ueciueu to builu an app. You have uone some ieseaich anu maybe even tiieu valiuating youi
concepts.
Now you neeu to take youi iuea fiom napkin iequiiements to something that uevelopeis can actually uelivei
on.
,-6 1$0 6%' 7'!/&!"2 #-0 1338
Apps can be maue to geneiate money oi awaieness, to impiove business piocesses oi foi a myiiau of othei
ieasons.
Nake suie you aie cleai about the uesiieu outcomes, so the uevelopment team is able to keep these outcomes
in focus.
&0/!;0$17/0I +4: .=1$# 2%1/.
SNART stanus foi specific, measuiable, attainable, ielevant anu time-bounu.
Beie aie some examples.
1. At least 2S peicent of useis neeu to use the app an aveiage of once a uay.
2. At least six peicent of useis neeu to upgiaue to the piemium veision within a month aftei installing.
S. The mobile app neeus to geneiate enough au ievenue to covei 1u peicent of uevelopment costs
within thiee months of launch.
4. The numbei of house calls that oui fielu woikeis can make in a uay neeus to inciease by 1u peicent
one month aftei auopting the app.
S. The mobile app neeus to inciease the fiequency of engagement with oui web application by 2u
peicent within thiee months of iolling it out to customeis.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Setting Smart Management Goals
S
,-% 1$0 6%' 7'!/&!"2 #-0 133 9%$8
If theie is no value in the app foi the enu-usei, then theie will be no value in it foi you.
Nake suie you know what pioblem you aie solving foi the enu usei.
Be piepaieu to answei uetaileu questions about the enu useis oi, if possible, to give the uevelopment team
uiiect access to them foi iequiiements gatheiing.
&0/!;0$17/0I '.0$ 30$.%"1.
0sei peisonas help uesigneis anu uevelopeis keep theii focus on the enu-usei of youi application.
Beie aie some examples:
JKLM .NO
>.6+ .+3.,' 6&'?/' #) ;/# ?$' 3)6@ 2)1/ .12 ?$'
.##/1#$)1 #) 2/#.$+ '&AA/6': B/ #/12' #) '#$0@ #)
#/0?1)+);$/' #?.# ?/ &12/6'#.12' .12 6/'$'#' 1/3
)1/' &1#$+ ?/ ;/#' 0)%A)6#.*+/ 3$#? #?/%:
C&/ $' 6/'")1'$*+/ A)6 2$'".#0?$1; 3)6@/6' )1D'$#/ .12
2)0&%/1#$1; .++ '$#/ 0.++': C?/ .+') 0)++/0#' .12 5$+/'
.++ "."/6D*.'/2 3)6@ A6)% #?/ )1D'$#/ 3)6@/6' .12
+);' /.0? 0.++ $1 . '"6/.2'?//#:
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Setting Smart Management Goals
! 21 tips for creating buyer personas
! 9 Questions You Need to Ask When Developing Buyer Personas
! The Quick Guide to Developing Customer Personas
6
,-1# &0;!(0. 1$0 #-06 '.!"28
Now that you know who youi customeis aie, it is time to figuie out what uevices they aie using.
Anu that means maiket ieseaich. But you uon't neeu expensive focus gioups when theie aie plenty of
iesouices that can get you goou infoimation at a fiaction of the piice.
Tiy the following:
! Looking at youi web analytics.
! Conuucting online suiveys.
! Asking customeis uiiectly.
! Checking fiee oi paiu statistics online.
&0/!;0$17/0I 3/1#9%$= $1"J!"2
Rank the platfoims in oiuei of impoitance incluuing the 0S veision. The iecommenueu iesouices below will
help you choose 0S veision.
Beie aie some examples:
! The app will suppoit i0S 4.u anu up fiist.
! The app will suppoit Anuioiu S.S anu up seconu.
! The app will Winuows Phone 7 anu up thiiu.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! StatCounter
! App Annie
! Global mobile statistics 2013
! The Mobile Consumer: A Global Snapshot
7
,-1# &%0. 6%'$ &$01= 133 &%8
Bon't woiiy about expense just yet. }ust stait thinking about eveiything you want in an app anu get otheis to
uo the same.
&0/!;0$17/0I 3$%&'(# 71(J/%2
Stait captuiing youi goou iueas in a piouuct backlog anu then piioiitize them. Encouiage otheis in youi
oiganization to shaie theii iueas anu incluue the best input. You can keep auuing iueas as you go, but it is
impoitant to stait captuiing them.
Youi uevelopment team may alieauy have a pioject management tool foi captuiing featuies in a piouuct
backlog. If that's the case then use that.
0theiwise, a spieausheet with minimally #PQMO anu &ORSLPTQPUV anu optionally %WVOL anu 7NRPVORR ;KMNO
will get you staiteu.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Tips and Tricks for the beginner Product Owner
! Characteristics of a Mature Product Backlog
! Scrum's Product Backlog - Agile Requirements Management
8
,-1# !. 6%'$ 7'&20# 1"& ,-1# 1$0 6%'$ %$21"!?1#!%"1/ 3$!%$!#!0.8
With a limitless buuget, you can get eveiything that you want. But in the ieal woilu, you will neeu to make
compiomises.
Bevelop a cleai pictuie of what you want, then unueistanu youi oiganization piioiities, so that you know
what to saciifice to get unuei buuget oi to fall within a timeline.
&0/!;0$17/0I .(%30X 7'&20#X #!=0/!"0 $1"J!"2
With the backlog filling up, you neeu to think about the ielative impoitance of scope, buuget anu timeline anu
iank them so that you can ueciue what gets uone anu what can wait.
Also be cleai on what elements aie non-negotiable.
Beie is an example:
!&6 #$%/+$1/ $' '#6$0# .12 )&6 *&2;/# $' #$;?#8 ') 0)%"6)%$'/' 3$++ %)'#+, 1//2 #) */ %.2/ $1 '0)"/:
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! The project triangle
9
!"4-%'.0 %$ %'#.%'$(0
Choosing whethei uevelopment happens in-house oi gets outsouiceu is impoitant to the pioject's success.
In veiy bioau stiokes, the uecision comes uown to the following:
! If theie is long-teim woik foi the pioject team, then hiiing staff to uo the pioject in-house
makes sense.
! If the pioject neeus to be uone as soon as possible oi iequiies a laige numbei of new
uevelopeis, then outsouicing the pioject makes sense.
Bowevei, both in-house anu outsouiceu piojects have a numbei of auvantages woith consiueiing anu
uisauvantages that can be mitigateu.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Questions to ask when outsourcing technology services
! When Does lt Make Sense to Outsource Your Software Development?
1u
WPA1 uCLS ?Cu8 A nLLu 1C uC?
(lunC1lCnAL 8LCul8LMLn1S)
You aie captuiing iueas in youi piouuct backlog. Now it is time to tuin those iueas into high-level
iequiiements anu then stait uiilling uown into usei stoiies.
-!2-4/0;0/ $0C'!$0=0"#.
What basic set of features is needed to make a useful app? What are the current architecture, skills and
software licenses already in use at your company that drive architecture requirements?
These are your high-level requirements.
&0/!;0$17/0I -!2-4/0;0/ $0C'!$0=0"#.
Bigh-level iequiiements shoulun't take moie than a few sentences oi bullet points.
Beie aie some examples:
! Sales staff neeu to be able to make upuates while out of the office.
! Nanagement neeu to be able to check sales peifoimance fiom anywheie.
! BR neeus expense iepoits.
! The backenu shoulu iun on Azuie anu inteiface with oui existing Azuie systems.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Agile Principle 4: Agile Requirements Are Barely Sumcient
! Agile Requirements Defnition and Management
11
'.0$ .#%$!0.
0sei stoiies facilitate communication between piouuct owneis anu the uevelopment team. They captuie the
essence of youi iequiiements in a way that lets uevelopeis choose the best appioach foi ueliveiing them.
0sei stoiies aie wiitten in the following foimat:
! As a (usei iole), I want (function) so that (benefit).
&0/!;0$17/0I '.0$ .#%$!0.
Youi piouuct backlog is going to be the souice of youi usei stoiies, but you only neeu to wiite usei stoiies foi
featuies that you expect to implement in the shoit teim.
This is how you shoulu go about cieating them:
1. Pick the biggest items in youi backlog anu wiite a usei stoiy foi them. Sometimes you will see these
laigei usei stoiies iefeiieu to as Epics.
2. Stait bieaking uown any ciitical big usei stoiies into smallei, moie uetaileu usei stoiies.
Wiite usei stoiies foi impoitant smallei items in youi backlog that you expect to implement.
The developers will be responsible for estimating user stories.
Once the developers have estimated the scope of each user story, you are then in a position to decide
what gets done and what gets postponed.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! lNvEST in Good Stories, and SMART Tasks
! 10 Tips for Writing Good User Stories
! Epics
12
nCn-lunC1lCnAL 8LCul8LMLn1S
Nobile uevices have a lot moie constiaints than web applications making the non-functional iequiiements
foi a mobile app even moie impoitant than foi a web application.
In many cases, you have to make compiomises as choosing to piioiitize one non-functional iequiiement
woiks to the uetiiment of anothei. It is woithwhile to iank youi non-functional iequiiements in oiuei of
impoitance so that conflicting iequiiements aie tieateu with the piopei weight while setting out an
acceptable seivice level iange.
Non-functional iequiiements can be sepaiateu into the following categoiies:
! Availability anu Robustness
! Instiumentation
! Peifoimance
! Extensibility
! Scalability
! Secuiity
! Piivacy
! Bata Integiity
! Seiviceability
! Naintainability
! Nigiation
! Localization
! Bata valiuation
! Bevice Suppoit
! 0ffline Suppoit
! Analytics
! Testing
www. 0ptimus [Link]
1S
1;1!/17!/!#6 1"& $%7'.#"0..
Bow ieliably shoulu useis be able to access the system.
Availability is paiticulaily impoitant foi apps with backenu systems as it will affect the aichitectuie anu costs.
&0/!;0$17/0I .0$;!(0 /0;0/ 12$00=0"#
If the app is iunning on youi existing backenu, you may be able to use youi existing SLA with minimal
mouification.
Beie aie some examples:
! The system must be accessible 247 with u.999 availability uuiing that time.
! The system must be accessible uuiing business houis fiom 7 AN PST to 9 PN PST with
u.99999 availability uuiing that time.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! SaaS SLAs: What you must have in an agreement
! Service contracts needed to protect mobile app users
14
!".#$'=0"#1#!%"
Bo you neeu any coue auueu to the system foi the puiposes of monitoiing anu measuiing the piouuct uuiing
piogiam execution. Instiumentation iequiiements will be the iesponsibility of youi CT0 oi whoevei is
iesponsible foi the long-teim smooth functioning of the app anu its ielateu systems.
Infoimation fiom instiumentation may be output to a log oi to a iange of piofiling tools.
&0/!;0$17/0I !".#$'=0"#1#!%" $0C'!$0=0"#.
Specify what usei stoiies neeu instiumentation anu wheie to output this infoimation.
Beie aie some examples:
! The Login, Auu to Cait anu Checkout usei stoiies shoulu be loggeu in visual Stuuio.
www. 0ptimus [Link]
1S
30$9%$=1"(0
Ninimally, you shoulu specify what kinu of initial scieen loau time anu iesponse time useis shoulu expect.
In most situations, initial loau time shoulu be unuei two seconus at the slowest.
Consumei-facing mobile apps shoulu at least have the illusion of being instantly iesponsive.
If a the app involves inteiaction with backenu systems, then specifying woikloaus is ielatively easy to
estimate without technical knowleuge.
Foi moie complex piojects, youi tech team may want to specify peifoimance metiics foi backenu systems
like thioughput, latency anu CP0 benchmaiks.
&0/!;0$17/0I 30$9%$=1"(0 $0C'!$0=0"#.
Beie aie some examples:
! The app shoulu loau in unuei 1.2 seconus unuei noimal ciicumstances anu be instantly
iesponsive.
! The backenu must suppoit 12u,uuu a uay.
! These useis will complete the Puichase woikflow (Bome -> Categoiy -> Piouuct Betail ->
Login (6u%) -> Auu to Cait -> Checkout) 4,8uu times.
www. 0ptimus [Link]
16
0H#0".!7!/!#6
What soit of futuie giowth oi changes uoes the application neeu to accommouate.
&0/!;0$17/0I 0H#0".!7!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! The piouuct classes will neeu to be extenueu to incluue piouuct viueos.
! Nutiitional infoimation is expecteu to be auueu to inuiviuual menu items.
! The application will allow new foims to be cieateu using stanuaiu foim elements.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Extensibility
17
.(1/17!/!#6
Bow will the system scale as usage giows.
&0/!;0$17/0I .(1/17!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! The application will be hosteu on AWS, so we'll just thiow moie EC2 instances at any
pioblems.
! The application neeus to suppoit up to thiee auuitional seiveis in two locations to suppoit
anticipateu futuie loaus.
! The application is not expecteu to neeu scaling.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Bon't panic! Beie's how to quickly scale youi mobile apps
18
.0('$!#6
Aie theie any secuiity iequiiements paiticulai to youi application.
Basic secuiity best piactices like not stoiing anu senuing unenciypteu passwoius ovei the web shoulu be a
given foi any app. That is unfoitunately not always the case in piactice, but we will assume that you aie
woiking with goou uevelopeis anu you uon't neeu to specify basic secuiity iequiiements.
Secuiity iequiiements may be uiiven by laws in financial, meuical anu othei highly-iegulateu inuustiies. Be
suie to specify these wheie they apply.
&0/!;0$17/0I .0('$!#6 $0C'!$0=0"#.
Beie aie some examples:
! The application must be S0X-compliant.
! The application will valiuate foims against possible coue injection.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Mobile app security: Always keep the back door locked
! Mobile App Developers: Start with Security
19
3$!;1(6
What enu-usei uata will the application access. Bow will that uata be hanuleu.
&0/!;0$17/0I 3$!;1(6 $0C'!$0=0"#.
Beie aie some examples:
! The application will only ask foi the minimum infoimation iequiieu to iun.
! The application will ask foi name anu contact infoimation that will be saveu to oui CRN.
! The application will enciypt peisonal uata foi tiansmission ovei the web.
www. 0ptimus [Link]
2u
&1#1 !"#02$!#6
Bepenuing on whethei youi mobile app has a backenu component oi not, the following questions covei uata
integiity iequiiements foi mobile apps.
Shoulu the mobile app tiust uata fiom the backenu.
What measuies will be taken to ensuie that uata is accuiate anu ieliable thiough tiansfei, stoiage anu
ietiieval uespite haiuwaie failuies, softwaie bugs anu human eiioi.
Foi how long shoulu stoieu uata be ietaineu.
Data integrity requirements can be driven by laws in fnancial, medical and many other industries. Public
companies also may have legal obligations that will drive data integrity requirements.
&0/!;0$17/0I &1#1 !"#02$!#6 $0C'!$0=0"#.
Here are some examples:
! Financial data should be retained for seven years for SOX compliance.
www. 0ptimus [Link]
21
.0$;!(017!/!#6
Bow will the application be uistiibuteu anu upuateu.
Foi consumei-facing apps, this will typically be thiough app stoie uefault mechanisms. Theie aie uiffeient
platfoim-specific mechanisms in place foi inteinal company apps as well as platfoim-agnostic mechanisms
thiough mobile uevice management tools.
&0/!;0$17/0I .0$;!(017!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! New veisions will be hanuleu thiough the uefault mechanisms in the Play Stoie foi Anuioiu
anu App Stoie foi i0S.
! New veisions will be hanuleu thiough the i0S Bevelopei Enteipiise Piogiam in-house
uistiibution mechanisms.
! New veisions will be uistiibuteu thiough the Winuows Phone Company Bub app.
! New veisions will be uistiibuteu thiough AiiWatch.

www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Android: Open Distribution
! 5 Options for Distributing Your iOS App to a Limited Audience
! Company app distribution for Windows Phone
! 10 BYOD mobile device management suites you need to know
22
=1!"#1!"17!/!#6
What couing anu uevelopment stanuaius will be iequiieu to ensuie long teim maintainability of the softwaie.
Couing stanuaius can incluue the following:
! Aichitectuie
! Comments
! Coue ieview
Bevelopment stanuaius can incluue the following:
! Souice contiol system
! Issue tiackei
! Bocumentation
The issue tiackei anu souice contiol system will likely be whatevei youi technology uepaitment alieauy use.
&0/!;0$17/0I =1!"#1!"17!/!#6 $0C'!$0=0"#.
Beie aie some examples:
! Coue will be commenteu as pei inuustiy stanuaius.
! All methous will have heaueis.
! Coue will follow stanuaius set out by Anuioiu, Apple anu Winuows Phone.
! All coue will be checkeu into SvN.
! All tickets will be taggeu to Reumine issues foi tiaceability.
! The uesign anu coue will be continuously monitoieu foi mouulai anu maintainable
implementation.
www. 0ptimus [Link]
2S
=!2$1#!%"
Boes the application iequiie uata to be migiateu to allow foi mobile access. If so, what neeus to be migiateu.
Anu uo you have a piefeience to wheie the uata gets migiateu.
&0/!;0$17/0I =!2$1#!%" $0C'!$0=0"#.
! CSv uata neeus to be tiansfeiieu to a yet to be ueciueu uatabase.
! Legacy uata stoieu in 0iacle neeus to be tiansfeiieu to oui NSSQL piouuction enviionment.
www. 0ptimus [Link]
24
/%(1/!?1#!%"
Boes the application neeu to be stiuctuieu to suppoit multiple languages.
If so, which ones. Pay paiticulai attention to non-Latin alphabets.
&0/!;0$17/0I /%(1/!?1#!%" $0C'!$0=0"#.
Beie aie some examples:
! The application will be stiuctuieu to suppoit multiple Latin languages.
! The application will be stiuctuieu to suppoit Latin languages, Chinese, }apanese anu Koiean.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Localization for Mobile Apps - a Refresher
2S
&1#1 ;1/!&1#!%"
What measuies will be taken to ensuie uata enteieu in to the application is valiu anu coiiect.
Wheie will that valiuation occui. The application. The seivei. 0i both.
Bow will invaliu uata be hanuleu.
&0/!;0$17/0I ;1/!&1#!%" $0C'!$0=0"#.
Beie aie some examples:
! The application anu seivei will check usei input foi valiuity.
! Input that is not valiu will ietuin a uesciiptive eiioi to the usei.
www. 0ptimus [Link]
26
&0;!(0 .'33%$#
What uevices will you suppoit.
Bow shoulu uevice compliance be ueteimineu. manually on emulatois. manually on one physical uevice.
automatically on many uevices thiough a uevice clouu.
The Recommenueu Resouices section incluues goou souices foi this infoimation. Youi web analytics aie also
a goou iesouice.
&0/!;0$17/0I &0;!(0 .'33%$# $0C'!$0=0"#.
! Anuioiu will suppoit veision 2.S.S anu up.
! Compliance will be checkeu on manually on the uevices in the uevice libiaiy.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Android: Dashboards
! iOS version Stats
! Perfecto Mobile
! Keynote Device Anywhere
! SOASTA
27
%99/!"0 .'33%$#
Bow shoulu the application behave when it loses connectivity.
Shoulu it ietuin an eiioi. 0i save the uata anu sync it latei.
&0/!;0$17/0I %99/!"0 .'33%$# $0C'!$0=0"#.
Beie aie some examples:
! 0seis will be offline foi long peiious of time. Woikeis shoulu be able to auu new pictuies,
viueo anu text foi foui houis befoie having to sync systems.
! Piogiess shoulu be saveu locally when connectivity is lost. An eiioi message shoulu aleit the
usei that the connection has been lost, but theii piogiess has been saveu.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! How Can We Make Mobile Apps Suck Less OMine?
28
1"1/6#!(.
What mobile analytics options shoulu be installeu.
uoogle Analytics anu Fluiiy analytics aie two populai choices anu a goou place to stait if you uon't alieauy
have a choice.
&0/!;0$17/0I =%7!/0 1"1/6#!(. $0C'!$0=0"#.
Beie aie some examples:
! The application will use Fluiiy analytics.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Google Analytics: Mobile Analytics
! Flurry
29
#0.#!"2
Theie aie a numbei of unique challenges when testing mobile apps. The laige numbei of uevices with a wiue
aiiay of scieen sizes makes it a challenge to auequately test all of suppoiteu uevices anu scieen sizes.
At the least expensive anu iobust enu, testing can be uone on emulatois anu whatevei uevices the testing
team happen to own. The most iobust, anu expensive, option is to use uevice clouus that let you automate
youi testing on any uevices that they have.
The option you choose will be a negotiation between youi uesiie to ielease a iobust app that uelights enu
useis anu youi buuget.
&0/!;0$17/0I #0.#!"2 $0C'!$0=0"#.
Beie aie some examples:
! The application will be testeu on emulatois anu any conveniently available physical uevices.
! The application will be testeu on all suppoiteu uevices on Peifecto Nobile.
www. 0ptimus [Link]
!"#$%%"&'"' !")$*!#")
! Android: Dashboards
! iOS version Stats
! Perfecto Mobile
! Keynote Device Anywhere
! SOASTA
Su
uSL8 ln1L8lACL
0nless you have youi own usei inteiface specialist, you won't be expecteu to come up with a complete usei
inteiface. But in oiuei to maintain bianu consistency, be piepaieu to give the following infoimation.
9%"#
! 9UVQ RQKSY: ie. Belvetica Neue, Belvetica, Aiial, sans-seiif.
! -OKZPV[ \UL]KQ: coloi, font stack anu size of heauings.
! /PVY \UL]KQ: coloi font anu size of links.
(%/%$.
The exact template foi colois that you use will uepenu on youi bianuing. The following will covei most coloi
iequiiements.
! 3LP]KL^: piimaiy bianuing coloi.
! .OSUVZKL^: seconuaiy bianuing coloi.
! 7KSY[LUNVZ: backgiounu coloi oi image outsiue the main content aiea.
! =KPV SUVQOVQ _KSY[LUNVZ: backgiounu coloi useu behinu text in main content aiea.
! 1MOLQ: coloi of any aleit notifications.
! .NSSORR VUQP`PSKQPUVR: coloi of any success notifications.
! "KaP[KQPUV: coloi of navigation bai anu fonts within the main navigation.
/16%'#
Typically specifying layouts isn't necessaiy paiticulaily foi native apps which will use native inteifaces that
covei the many of the common layout elements. Bowevei, you may want to specify the following.
! .]KLQTbUVOR KVZ #K_MOQR: uo you want a sepaiate layouts sepaiately optimizeu foi
smaitphones anu tablets.
! 7LKVZPV[: location anu foimat of bianu elements.
! "KaP[KQPUV: uo you want peisistent navigation.
! 3K[PV[: uo you want infinite sciolling of lists oi uo you want to sepaiate them into pages.
www. 0ptimus [Link]
S1
1?L Cl A
Theie aie thiee ways of builuing a mobile app:
! "KQPaO: applications built foi the specific opeiating system they aie opeiating in.
! ,O_: applications built in stanuaiu web languages that woik in all stanuaius-compliant
mobile web biowseis.
! -^_LPZ: applications built piimaiily using web technologies but with native elements.
Each appioach has uiffeient auvantages anu uisauvantages anu the best appioach uepenus on youi goals,
youi enu useis anu the iequiiements.
www. 0ptimus [Link]
S2
"1#!;0
Native applications aie built foi a specific opeiating system in that system's native language.
! P%.: 0bjective C
! 1VZLUPZ: }ava
! ,PVZUWR 3bUVO: C#.Net
+,-./0.123 '43.,-./0.123
! Full access to uevice featuies like cameia, uPS
anu stoiage.
! Suppoit native compounu touch gestuies like
uouble taps anu pinch.
! Best peifoimance.
! Native usei inteiface.
! Easiei uiscoveiy thanks to app stoie
uistiibution.
! Requiies sepaiate piogiamming language foi
each opeiating system.
! Noie expensive.
! Relies on high-uemanu piogiamming skills.
! Naintaining anu upuating the app is also moie
expensive.
,07
Web-baseu applications aie built using stanuaiu languages like BTNLS anu CSS S that aie compatible with all
mouein smaitphones.
+,-./0.123 '43.,-./0.123
! Less expensive to builu anu maintain.
! Relies on high-supply piogiamming skills.
! Ninimal access to uevice featuies.
! Limiteu offline stoiage.
! Less secuie.
! Can't match native peifoimance.
! Non-native usei inteiface.
! No app stoie uiscoveiy.
www. 0ptimus [Link]
SS
-67$!&
Bybiiu applications use the stanuaiu languages like BTNLS anu CSS S to maximize ieusability acioss all
platfoims with native coue to access uevice-specific featuies that aien't available to puiely web-baseu
solutions.
Advantages Disadvantages
! Neaily full access to uevice featuies.
! Relatively easy to maintain anu upuate.
! App stoie uiscoveiy.
! Less expensive than multi-platfoim native
uevelopment, but savings aien't neaily what
you woulu expect.
! Can't match native peifoimance.
! Non-native usei inteiface.
www. 0ptimus [Link]
S4
CCnCLuSlCn
The time anu thought iequiieu to piouuce all of these ueliveiables is an investment in the futuie success of
the app. It will help uevelopment go moie smoothly, saving time anu money, while ensuiing that the app
ueliveis the expecteu value.
The infoimation you have collecteu will help uiive the conveisation with uevelopeis. If you aie unceitain oi
stiuggling with ceitain uetails, then contact 0ptimusNobility foi a fiee one-houi consultation.
www. 0ptimus [Link]
SS

Common questions

Powered by AI

Security and privacy are paramount in app development, particularly in regulated industries like finance and healthcare, to protect sensitive data and comply with legal requirements. Failing to meet security standards can lead to data breaches, legal penalties, and loss of user trust. Privacy requirements involve minimizing data collection, ensuring user data protection with encryption, and following regulations like SOX compliance. Apps must validate input to protect against code injection, and encrypt transmissions to safeguard personal information. These measures are critical for maintaining a robust security posture and ensuring user confidence.

Setting SMART goals (Specific, Measurable, Attainable, Relevant, Time-bound) helps focus development efforts, measure progress, and ensure alignment with business objectives. For example, a SMART goal could be "The mobile app needs to generate enough ad revenue to cover 10 percent of development costs within three months of launch," which provides a clear, measurable target against a timeline. This ensures all stakeholders understand the success criteria and can plan accordingly to meet these objectives.

Determining device support involves conducting market research to understand what devices and OS versions your target users primarily use. This can be achieved by analyzing web analytics, conducting online surveys, directly asking customers, or reviewing statistics from resources like StatCounter or App Annie. Devices should be ranked based on importance and prevalence among users, along with any technical or market considerations related to performance and compatibility. Examples include supporting the most common OS versions first, such as prioritizing iOS 4.0 and up, followed by Android and Windows versions.

Choosing between in-house and outsourcing for app development involves considering the project's long-term nature, urgency, and available resources. In-house development is ideal if there's long-term work, allowing you to hire dedicated team members. Outsourcing is preferable if the project must be completed quickly or requires many new developers. Benefits of in-house development include better control and potentially smoother communication. Outsourcing can provide cost savings and access to a broader talent pool. However, drawbacks for outsourcing include potential communication issues and less control over the process. In-house development can be more costly in terms of both time and money, especially when scaling teams quickly.

A product backlog is an organized list of features, enhancements, and bug fixes that guides the development process. It serves as a dynamic repository of ideas and tasks that need prioritization and refinement throughout the development lifecycle. The backlog helps product owners and development teams manage work efficiently, guiding sprint planning and ensuring priorities align with strategic goals. Items in the backlog, often derived from user feedback or strategic decisions, are the basis for sprint goals, allowing for agile adaptation to changing requirements.

Maintainability requirements focus on ensuring an app's long-term sustainability by facilitating updates and modifications with minimal disruption. Practices to ensure maintainability include coding standards, detailed documentation, regular code reviews, and using a version control system like SVN. These standards help new team members understand the codebase more quickly and ensure consistency in development practices. By investing in maintainability upfront, organizations can reduce technical debt and avoid costly rewrites, ensuring the app can evolve with changing technological and business needs.

Performance requirements are critical in mobile app development because they define the expected operations and speed, directly affecting user experience and satisfaction. Key metrics include load time, responsiveness, throughput, and system scalability. For instance, a performance requirement might specify that an app should load in under 1.2 seconds under normal circumstances and remain instantly responsive to user input. These benchmarks ensure that the app can handle typical usage scenarios without degradation, which is crucial for maintaining a competitive edge in user experience.

User personas play a crucial role in app development by centering the design and functionality around the needs and behaviors of typical users. They help ensure that the development team remains focused on end-user requirements, thus increasing the chances of user adoption and satisfaction. Creating detailed user personas allows developers to make informed decisions about features and usability, targeting actual user problems and preferences. This persona-driven approach helps align product objectives with user expectations, leading to a more user-friendly app.

Ensuring data integrity in mobile apps requires rigorous validation and verification processes both in the app and backend systems. It involves measures like validating input data to prevent errors, using secure data transmissions to avoid corruption, and maintaining redundant systems to ensure reliability despite hardware failures or software bugs. Regular data audits, encryption, and consistency checks can further reinforce data integrity. These practices are crucial for maintaining trust in mobile applications, especially those dealing with sensitive information, ensuring reliability and compliance with industry standards.

Extensibility allows an app to accommodate future growth or changes, such as adding new features or integrating third-party services, ensuring the app remains relevant and functional over time. Scalability ensures the app can handle increased usage by efficiently managing resources as demand grows. A scalable design might include using cloud services like AWS to dynamically allocate resources. Designing for extensibility might involve modular architecture, which makes it easier to implement updates without overhauling the entire system. These considerations help maintain performance and cost-effectiveness as the app evolves.

You might also like