The software development journey is not as easy as a client may perceive! While choosing custom development, a client is sometimes not satisfied with the finished product. However, software developers are not responsible alone! Rather, the client’s instruction also plays a pivotal role.
In the recent interviews with 3 of our valuable software engineers, I have discovered a lot of things that I would like to share with every soon-to-be software owner. If you are planning to approach a software development company soon to get a customised product, then note these points to get the best quality. Let’s hear from the software engineers themselves!
According to Vanessa Vale, a Node.JS developer with us, clients have a pivotal role to play in custom software development. ‘Custom’ means ‘personalised’ and ‘bespoke’. Therefore, we as a custom developer only follow the client’s instructions.
However, in many cases, clients come absolutely blank. They have no idea of what exactly they want from us. In such cases, even if we create something following our own instincts, clients show dissatisfaction and ask for alterations many times.
When I asked Vale to list 5 challenges often faced in bespoke software development, she stated:
“Usually, clients come with a lack of ideas and vision. They are not clear about what functionalities they expect from their software product. I have many such instances. But I would like to discuss the most recent case.”
She continued “A startup came to us for CRM software development a few months ago. He had a brand identity already but he was still confused about the UI/UX design of the product. Additionally, he was not able to estimate to what extent his business scale will grow in the upcoming quarters. Consequently, he was not able to decide on the CRM software scale and its look and fee”
Then, Vale told me “The digital marketing team and the graphic designers decided to maintain the brand identity in UI/UX. Likewise, my project manager asked me to opt for MVP software development, which is a minimum viable product development. So, I built a ticketing system that could onboard 500 customers and a team of 20 technical support engineers.”
“However, 8 months later his business grew astonishingly well. As the software product had the capacity to handle only 500 customers, it started to troubleshoot when the customer base grew to 900. Then the client was furious at us for not providing the ‘right’ quality.”
The next issue Vanessa Vale told me was the ‘unclear purpose’ of the software product. She added “Sometimes a client is not sure about the purpose of the software product. As the entire business industry is embracing digital transformation. So, people just blindly wish to follow the ‘trend’. But that’s not cool!”
Vale recalls one more such experience and says “one mid-scale business once approached us for HRM software. They initially seemed quite clear with the purpose. They wanted an HRM system that could connect with the Biometric attendance system. The businesses wanted the software to calculate the arrival, departure, day-offs and eventual salary of the employees.
The requirements were crystal clear. So, we started the development. However, when were 70% done, the client informed us that some of his employees are ‘remote’ workers and some have a ‘hybrid’ setup! This way, he needed a tracker app for employees’ laptops as well. However, he wanted all these in the same timeline and cost.”
Vale further added “It was the toughest challenge for us to face in our software engineering career. That client proved such a fuss. Due to his unclarity of ‘purpose’, our entire organisation suffered inexplicable frustrations.”
Vale adds that “Software Engineering is a systematic and step-by-step process. A software product has a backend structure and architecture. Just like buildings have a framework, foundation and beams, software has a backend. In simpler words, let’s say the skeleton of your body!
Certainly, a half-built building would need to be collapsed to change its outer design. Likewise, the bones of our skeleton would need a re-arrangement if we want a newer shape of the body. Similarly, the entire software product would need a complete backend revamp if its owner wants changes in functionalities.
Still, the clients bring new requirements and design ideas once the development has started and reached mid-way. They probably feel that software developers have some magic tricks to alter a software design and architecture instantly.”
Vale reported the 4th issue that most of the clients often have. She says “Certain clients demand for copycat apps when we ask for a reference. For instance, I get many requests for an Deliveroo-like food delivery app, Amazon-like E-Commerce platform, Temple Run-like running game and whatnot.”
I wondered isn’t it good for Vanessa Vale to just copy the reference? I asked this from her and she told “No, its not a good idea to ‘copy’ an app for us. It is because the mobile app development might become easy this way. However, the deployment of such apps is next to impossible. Play Store and especially the App Store immediately reject apps that are copycats. Then, what is the use of wasting time?”
Vale continues “I opine that if a client comes with a mobile app development requirement, he or she must also be aware of the App Store and Play Store’s App review guidelines. It will help the aspiring owner to conceptualize the app development better. There is no use of wasting time and effort on an app that cannot be launched.”
Vanessa Vale further reported that almost every client is impatient with the timeline. They expect the software developers to make wonders overnight. However, the clients must understand that the Software Development Life Cycle (SDLC) is sequential and systematic.
Therefore, if a software engineer asks for a longer timeline, the client and the company both need to understand that there is certainly a reason behind it. A hasty development is a nasty development!
Therefore, project managers need to be a little bit of lenient. If the timeline does not fit the SDLC, then a developer might have to skip the testing phase. Eventually, it will result in a lower-quality product.
The above discussion with Vanessa Vale proves that clients directly affect the quality of software products. So, if you are a soon-to-be client to a software development company, then make sure that you:
If you are thinking that the company must be responsible for your seamless digital transformation, and it is not your job to ‘conceptualize’ a software application, then let us make it clear:
Consider yourself in the ‘driver seat’. Clearly, you have the responsibility of driving the development team safe and smooth. However, if the client is not clear in communication, it may have the following consequences:
If the client is not able to decide the scale of the software application, then it may demonstrate glitches as the business scale increases. Like in the example Vanessa Vale gave above. Therefore, be sure of your software requirements.
A higher capacity software is an investment as every business eyes growth and expansion. On the contrary, a lower-capacity software product is poor decision financially and technically.
Software Engineers are not telepaths! They can’t read minds. Therefore, be very clear about the look and feel of the end product.
If you fail to communicate properly what kind of User Interface, features, functions and colour themes are on your mind, you are in no way getting a bespoke design. This will eventually lead to dissatisfaction.
And if you choose to make alterations after the development or deployment, it will incur additional time, cost and effort resulting in further delays.
Furthermore, if you do not let the developers know what functions you wish to have in the software, all software development processes will fall flat on your face. Just like the case of HRM above.
In the case of HRM, the company had to start a new project afresh with new requirements, a new timeline, and different project costs. In the beginning, the client was rigid to co-operate. But anyhow, that was the only way and he had to give up!
“Software applications are multi-facet”, says another of our software engineers Stephen Spencer.
“A software application has multiple end-users. While the owner takes the position of the admin, a centralised authority, his/her team members like managers, assistant managers, team leads and employees also form its user base. If it is a B2C application, then include the customers as well”.
Spencer adds. Spencer further elaborates that the client must remember these points:
Spencer further adds, “We, as software developers, can only write codes. However, it is the duty of the design team to create such User Interfaces that satisfy all.
The client has an important role in design as well. He/She must understand the diversity of his/her Target Audience for the software. Keeping this in mind, the client must focus more on ‘simple, neat, and clean’ designs than ‘fancy’ ones.”
I also interviewed our Senior Technical Superintendent, Graham Scott, to know his views on the user experience. Scott underlines that “‘user experience’ is pivotal to any digital product. A smooth customer journey is the ultimate goal of digitalisation. Otherwise, the codes are pointless”.
Scott gives an example from the real life. He says, “Suppose you are on a movie date with your beloved and the following incidents occur during the date:
Scott continued, now let’s analyse the situation above.
The same goes for a software product. Like in the scenario above, if the ‘customer journey’ is not smooth enough, the target audience will abandon your software product.
Did you know that a user leaves a website within 3 seconds if it does not load properly? Also, a user uninstalls a mobile app within 30 seconds if it is not simple to understand or glitchy in performance.
Scott further adds, “Every team included in the software development as well as the client, needs to understand the importance of a hassle-free customer journey. If a user needs too many ‘clicks’ to get what he/she wants, in no time he/she would abandon using the software.
Like in the example above, the couple was so excited about the movie date. However, as they go through multiple ‘stoppages’, they lose interest! Therefore, remember less clicks, quicker outcomes!”
I asked Scott to provide some valuable tips for the software development companies and the clients both. Scott emphasised that 4 things are of utmost importance to make the user journey easy:
Scott starts by advising the software development companies to mandatorily assign a project manager to every project. He says, “Companies must not hand over the project to the developer altogether. Rather, a software development project is always a group project.
Eventually, even if a single developer is working on it, he/she would have to coordinate with the design team, testing team, and sometimes the marketing team as well. Therefore, a project manager must be assigned to set co-ordination between all of them.”
Scott further adds “Lack of co-ordination will result in chaos among the teams. Chaos will result into mismanagement of the project. Mismanagement will ultimately lead to poor product quality”. Therefore, mind project management.
Spencer explains further that software engineering is a group of tasks. Broadly speaking, SDLC has the following phases:
Requirement gathering is the most important phase in SDLC. During this phase, a client has to take an active part.
He/She needs to communicate well the mission, vision, purpose and concept of the software product. However, it takes not more than a day or two.
Graham Spencer emphasises that “Designing and prototyping must be the most time-consuming phase besides development. If Development takes 6 months, at least 1 Month must be spent on prototyping, client feedback and finalising the software design”.
Spencer argues “Software Development without Prototype design is like finding a way in a lost jungle without a map”.
The development phase strongly dwells upon the prototyping. A software prototype is like the blueprint of a building. Without a proper and well-thought prototype, development lacks proper direction.
Software development processes do not end after writing some pieces of code. Rather, it is followed by manual and automation testing. Testing ensures bug-free and flawless software products. Agile methodologies of development and testing ensure the best quality software products.
During the testing phase, if the engineers find bugs and errors, it may be iterated then and there. This makes the user journey smoother. If development has taken 6 months, that is 24 weeks approximately, testing must take at least 6 weeks.
The end of the testing phase leads to the deployment phase. During this phase, the teams will install or upload the software on its respective platforms. Deployment should take no more than a week.
Software development projects are multi-team projects. However, many organisations have a closed communication hierarchy. Spencer advises organisations to maintain open communication for efficient project management.
Especially, the graphic design and development teams must be able to collaborate. This will help in setting a harmony between the design and app architecture.
Apart from the above, Spencer stressed “Many companies prefer the developers not to connect directly with the client. This practice is not great. Organisations need to give up on their insecurities and let the clients communicate directly with the development teams. It helps us understand better the project requirements”.
Spencer further states that if the developer gets proper site maps and motion graphs from the graphic design team, developing the structure of the software becomes much easier. Therefore, the graphic design team must provide proper documents.
Proper documentation is possible when the client has a clear idea of the software features, functions, UI/UX, and the final look and feel. So, again the role of the client becomes pivotal.
Vale, Spencer and Scott were asked to offer some valuable tips to the wanna-be clients. They had a lot to say. Well, I could grasp the following tips from their opinions:
✔ First of all, as a client you must have a clear ‘purpose’ of software development. To simplify, you must have a ‘problem’ to put before the development team.
✔ Simply put, do not approach a software development company only because you want to participate in the ‘digital transformation’ trend. Your requirement must be genuine.
✔ Secondly, having a reference software application is great. But demanding a copycat is absolutely vague. So, use ‘reference’ apps only for explanation.
✔ The client must have direct involvement in the communication with teams. Clear communication helps the teams to deliver the most bespoke design.
✔ Vale advises clients to document their requirements at their level first. Keep your requirements written. Make a list of all the functions and tasks you wish your software product to perform for you.
✔ Scott mentions that the client must be aware of the ‘benefits’ of software products. Sit carefully and brainstorm if the software product you are planning to get will benefit the users and your organisation or not. If yes, go for it, if not, halt and think more!
✔ Spencer mentions that the client must have direct involvement in the development process. Stay available for the weekly meetings and monitor the progress. This way, you can get minor changes earlier.
✔ Furthermore, maintaining ‘uniformity’ in the project requirements is pivotal. If the client changes, updates or upgrades his/her requirements time and again, it pushes the timeline ahead and sometimes also frustrates the software engineers.
If a client follows these tips, it will definitely result in higher work quality and will also reduce deadline breaches. So, do not forget to do your homework before approaching a software development company.
To sum up, we can conclude that a client has a really important role in the software development processes. The better a client communicates his requirements, expectations, ideation and conceptualisation, the higher the quality of the product gets. Chances of getting a bespoke product multiplied by 2X when the client is able to explain his requirements well. Once the project has started, the role of the client will not end. Rather, he/she is responsible for monitoring the progress. Also, it is his/her ethical responsibility not to change requirements frequently. If a client follows these tips, he is certainly getting 10 steps closer to the software product of his/her dreams. If you feel like discussing your project requirements or wish to know more about software development, feel free to connect with us. Our consulting team will guide you like your friend! Stay updated. See you in the next one!
The best SDLC approaches include waterfall, agile methodology and DevOps. Waterfall is the oldest software development approach in which the software development teams work in a systematic way. Agile is a newer method in which the development team would write codes in smaller pieces followed by dedicated testing for each piece.
Then comes DevOps, the latest approach in which the development team works in close collaboration with the operations team for better project execution.
The cost of developing a software product depends upon its complexity, number of features, functions and the level of motions and animations. On an estimate, the cost of developing a software product in the UK may range between £950 and £65,000 depending upon the factors discussed above. To optimise the cost, it is advisable to follow the MVP development approach.
Both manual as well as automation testing have their own advantages. It is advisable to use both to ensure the best quality product. While manual testing is more minute, automation testing has more accuracy in spotting and eradicating errors. When human intelligence (manual testing) combines with artificial intelligence (automation testing) the outcome is always flawless.
Beta Testing is the solution to test a software product on end-users before its launch. In beta testing, the development team would deploy a software product such that only a limited audience may have access to it. They will use the software for a certain period of time and then will provide their feedback. You can ask the chosen company to provide you with Beta testing as well. They will help!
Author information is not available.
Get our latest Web and App tips and insights to help your business grow online!
Join our growing community to receive valuable content for free!
*By subscribing you agree to receive emails from Ezulix’s blog with the latest news and articles. You can unsubscribe at any time.
Your Growth Journey Begins Here with Our Expertise