As a developer, when a project is going to start/before planning, your project manager will consult on your opinion to make estimation of the project. A project looks like a simple UI revamp at first might eventually transpire into BIG features improvement and addition to existing app.
You will start to think:
“Why no one catches all these glitches at the very beginning?”
For an app like newspaper app. It is not only simple data displaying app. What’s the pattern for news display? Top News should appear every day and Fashion News will only appear in every subsequent day? Which kind of user can access to all news or is there any restrictions for updates? If we neglected major specs at early stage, it will come and bite us for the later stage or even at UAT stage thus project will see no end of it.
Of course, most of us learn this in a hard painful way: experience.
Basic questions to consider for app:
- OS version support (Etc: Some method/libraries only available for iOS 8 above or Swift Only)
- Phone sizes: iPad or iPhone (Both? – For UI consideration)
- Platform: iOS & Android?
- Is there any must launch deadline? (Etc: Company anniversary public presentation)
- API (Backend), UI UX design..etc are provided from which side?
- Is there In-App Purchase?
- Is there theming?
Without basic domain knowledge before develop app for that field, we will be easily fall into our own assumption on some app behaviours and a lot of reworks, missing aspects will resurfacing at the later stage that will cost the project badly.
For some app that need domain knowledge(like investment and financial app):
- Public holiday/ weekend displaying?
- How many data sets present in a chart? (like MACD, MA, RSI in stocks)
- How many data entries for each chart (consider about app performance)
- How should the chart be looks like?
- Is there any legend and statements for chart?
- What’s the default settings for chart?
- Is there any period indicator or change settings for the chart?
When all of these are not being clearly stated, client pointed out incorrect app behaviour (etc: app should display bar colour based on previous stock close or missing pages that is reasonably to add in but missed out) timeline is badly affected.
How we can make sure we ask enough question/ correct question? Or does client know what’s they should tell us beforehand?
Adaptive to changes
Besides that, for the app development, it is advisable to structure your code to modular-based or able to adapt changes because as in most of the software projects, “surprises” and unexpected issues happens most of the time.
With more detailed specifications and better understanding of domain knowledge of the app will of course helps a lot in the app development stage.