It’s surprising how viewpoints of software development, within a working environment, are drastically different between client and developer.
I began my development experience in 2016, after finishing a university degree where my on relation to computers was completing 3000 word essays on Microsoft word. Initially my only knowledge was a simple piece of coding, throw a few buttons here and there, link them together and a fully functioning programme was developed and millions of pounds would be made from this. How wrong was I! What I quickly learned was that sometimes the simplest of problems, can be that little button, which passes small pieces of information proving vital further down the development cycle.
What also can be difficult, particularly when trying to develop an idea of someone else, is visualising the finished product for the customer whilst trying to make it practical from both the users viewpoint and a developing viewpoint.
Had I never set foot in the software development industry, I too would have been that naïve demander of buttons here, and links there, whilst expecting it to be fully functional and on an app in my phone within 1 week, at the very latest.
However, there are a small list of things that developers need before the first button is created;
- What does the client want?
- What is the function of each aspect of their app/website?
- Does it store information?
- How much information will be saved? Will a cloud or physical server need set up?
- When does the client want their idea to be launched?
These are 5 basic questions that need answered before questions like; does it need to take card payments? Will we need to make user ID’s for admins and common users? Will there be a customer and admin/user sites?
For developers this only leads to further questions: Do I need an API to make this function? What system will be used to develop this? What language will be best suited to this development? Will the application be android only or will iOS be included? What flow will the user take for the best User Experience? What can administrators access, that users cannot?
These are simple requirements based questions that need ironed out before development can begin. However, this isn’t where the real problems start. Requirements building in fact can be made simple. Diagrams and flow charts create visual aids for both parties, but, implementing visions require a lot of time and careful thought with regards to methods of connecting information without crossing over, hence testing needed throughout the development cycle.
Throughout the cycle, what also must be considered is security. How protected is the server? Is the login/registration information secured? Will any other information entered be secured from hackers? Like previously mentioned, before I began my developers journey, I presumed a line of code here and a simple true or false statement would solve all these issues, not much work in that. How wrong was I! This takes a lot of thought, right down to every capital letter, number, comma and full stop. Testing matching logins to wrong passwords for example can be a tedious testing process however without this nothing is safe within a project, any small detail that is overlooked could be detrimental to private information.
One year on from the beginning of my journey, these are some of the basic questions and misconceptions that are common within software development. These questions to a client may seem simple and basic, however they provide vital information for planning a development cycle. This has now become the basis for all programmes that I begin to tackle and maybe should be considered by any future clients who feel that coding is a 5 minute job to create and fix.
By Brendan Rogers
firstname.lastname@example.org | 02879659499
Please Contact Us for more information on our Software Development & Mobile App Development Services.
And Don’t forget to share this post.