Project Management

Opinion on App Design

From the Project Confusion in Transition Management Blog
by
Projects are about transition from one state to a desirably better state. Management is often viewed as a source of confusion. So lets break down the confusion and build up the means for transition to meaningful deliveries.

About this Blog

RSS

Recent Posts

Notes on Reporting Progress (ii)

User Acceptance Tests (documentation)

Start Right

Documents Supplied for Post-HOTO

Notes on Documenting Acceptance Tests

Categories

Agile, Agile Communications, App design, Communications Management, Give-back | Outreach, information communication technology, New Year, PMIef, Project Management, Quality, Risk Management, Risk Management, System design, Volunteering

Date

linkedin twitter facebook Request to reuse this  


This brief is intended to document & serve as a general guide on what typical technology features 'to look out for' when confronted with new ICT application projects or opportunities. At a high level overview of common system functions which are necessary to implement useful tech products, gleaned from experience. These notes may be biased towards using the Cloud.

IMO a useful piece of software should be designed & developed with minimally the following broad features:

  1. Parameters. Provide for editable system /application /administrative data instead of hardcoding values; e.g. background color may be softcoded as a parameter instead of hardcoded to a specific color code.
  2. Logs. Wherever possible log a record for each & every task /action /response performed. 
  3. Fault reporting. Application broadcasts & accepts query as to its operating status; e.g. using SNMP on separate channels with remote access capability for maintenance & troubleshooting.
  4. Interface to common incl. popular communication medium i.e. email, large file transfer, text messaging & SMS. Additionally the application may need to interface with IoT sensors & smart devices e.g. handphones. Interface incl. to virtual devices where applicable.
  5. High availability e.g. use the Cloud to maintain up-time, transfer downtime risks to external provider, & manage quick releases/rollback. 
  6. SSO with options to let users specify & access using their own devices.
  7. Users maintain & update their own profiles in compliance with local laws, use policies, & user agreements.
  8. Open APIs (somewhat) that would enable add-on applications from 3rd party developers & at later dates.
  9. A permanent history of hotfixes, patches & updates since first-use, accessible to users. This may include records of e.g. formal backup of data files and restoration from backup if any.

The list above surmises my preferences. Yours may differ. And there are many other features, some which are essential to consider & in detail when specifying functional requirements of a piece of application software /device /in combination. Now that the application has some form of character, who uses it should be considered next.

The application should distinguish without elaborating, the following roles:

  • Administrators
  • Internal users
  • External users

Users have their expectations too. A good piece of application should be accessible anywhere & anytime. There are limits though if the application is dependent on something or things beyond your control (design /development /operational).

High availability & ease of use to a user would be expectations for e.g. in software:

  • save as draft feature i.e. saving automatically a form or a piece of work & recovering from a fault with most if not all previous inputs/data intact
  • import bulk data to ease data entry
  • input/translate different but common file formats e.g. images, audio etc.
  • output to common file formats e.g. pdf, Excel based worksheets
  • friendly user interface e.g. drag & drop files, auto login /re-login with facial recognition, thumb or finger prints.

Are you ready to accede to requirements? Assuming money matters are outside your purview e.g. procurement of licenses, additional considerations would include ensuring:

  1. Conformity to coding standards that will meet
  2. software testing requirements;
  3. adherence to software & communications security protocols & standards,
  4. personal data protection,
  5. maintainability ↓,
  6. a consistent framework for usability & review for revision or upgrade, of the application or system.

Few pointers to think about for maintenance & maintainability of the application include:

  • Whether maintained internally i.e. by the company, or
  • Outsource to external vendor
  • Ease of troubleshooting workflows /data processing to resolve disputes ~ use/maintenance/operational.
  • Documentation; ease of access to & clarity of information; is documentation up-to-date or simply lodged in someone's head.

 


Posted on: January 22, 2020 02:53 AM | Permalink

Comments (5)

Please login or join to subscribe to this item
avatar
Luis Branco CEO| Business Insight, Consultores de Gestão, Ldª Carcavelos, Lisboa, Portugal
Dear Elok
Interesting perspective on: "Opinion on App Design"
Thanks for sharing

avatar
Stéphane Parent Self Employed / Semi-retired| Leader Maker Prince Edward Island, Canada
That's a great list, Elok. I would add internationalization to the list. And, please let's make it developer-friendly? I've been struggling with the import/export scheme used by Siebel and Dynamics for loading international labels.

avatar
Elok Robert Tee Project Manager| ST Engineering Electronics Pasir Ris, Singapore
Hi Stéphane, I like to use an intermediate tool to convert files for import/export. For better control and changing the file format/structure conversion codes quickly without setting or mucking up primary applications (particularly to manage new versions/releases & multiple platforms). E.g. use intermediate tool to convert an exported data file from a POS frontend to a specific format/structure for import into .. say Sage ERP or MYOB. I prefer VBA with Excel to do the job & loving it (when workflow & time permits at customers’).

avatar
Stéphane Parent Self Employed / Semi-retired| Leader Maker Prince Edward Island, Canada
Given that Dynamics spits out all the application labels as an XML file, Excel is certainly an appropriate tool to capture labels in other languages. The problem is that when you go to import it back into your application, you better hope that none of the elements have moved!

avatar
Eduin Fernando Valdes Alvarado Project Manager| F y F Fabricamos Futuro Villavicencio, Meta, Colombia
Thanks for sharing

Please Login/Register to leave a comment.

ADVERTISEMENTS

"A narcissist is someone better looking than you are. "

- Gore Vidal

ADVERTISEMENT

Sponsors