Yesterday I was thinking about some past interactions that I've had with clients, and an interesting memory came to my mind.
This particular interaction happened about two months after I had started my first job as a software developer. At the time I was working with a client to develop a mobile application, from scratch, which had the goal of digitizing a lot of the paperwork that was happening at industry AA (I'll be using the letters AA instead of the actual industry name).
To do that, the mobile app was going to be a replacement to the paper sheets people working at industry AA normally used.
How exactly?
Really simple. Normally the workers would have to fill out a piece of paper with all the tasks they had done throughout the day. With the mobile app, the workers only had to log in and check the tasks they had done. The mobile app already had all the tasks they had to do. It was basically a to-do list focused for a particular industry.
Everything was going well, and the development was progressing at a good pace without compromising the quality of the code. Keeping the features of the application to a minimum, and as simple as possible, was crucial to make sure the development speed and quality code was good. So the mindset, of us developers, was really around the idea of "Let's make this app have the least possible feature needed to get the job done".
Then one day the client calls me and says:
"Byakko I need to have a meeting with you now! It's urgent!"
Every time I get a call like that it's always one of two things:
1. Stuff blew up! (App is not working correctly)
2. Client wants to add stuff to the app, and he wants it for yesterday!
Turned out it was the latter. And it went something like this:
Client : "Byakko we need to add this feature to the mobile app! It's really urgent! We need you to implement a sub-task system! Basically, there is going to be a new type of task that is composed of other tasks. And this task is only going to be completed when all the other mini-tasks are finished".
Byakko: "Hmn... I guess I understand what you're saying. There should be no problem, technically speaking, with developing that feature. That concept you just described is pretty common in task management apps. I'm not so sure, however, that it fits the context of industry AA. What do you plan on doing about feature A and B? This will add a lot of corner cases to them and grow the complexity of the code base. And also, feature C will be much less user-friendly due to this new system"
Client: "I see your point... But it has to be done! It's what we need to do to solve this!"
Byakko: "So... What is happening? Why is this so urgent?"
Client: "There are some tasks that our users have to do multiple times during the day. So they have this one task that they have to do 10 times a day. And when they go to the 'tasks to do today' menu, it is cluttered with all those same repetitive tasks, and they can't really get a hang of all the thing they have to do that day. So we have to like group them together, and make it be only one task that they will be partially completing."
Byakko: "I think I understand the problem. So the problem is that they can't easily see all the tasks they have to do today, because some tasks repeat themselves and clutter the menu. Is that it?"
Client: "Yes!"
Byakko: "So, why don't we just group all those repetitive tasks by name, and display it almost as if it was only one task? We'll just leave a small signal so that the user know that we've grouped those tasks. This way the screen will be much more clutter free and the users will be able to see more easily what they have to do. Also, with this approach, we don't need to make a change to the logic of the application, we only need to change the UI. It will be much faster to develop and the complexity of the code will stay almost as it is now. If it doesn't work we can always go the other route."
Client: "Ok! Let's try that approach."
And so the problem was solved, with a very simple solution.
Whenever I think of this memory, I get reminded that clients, most times, don't know the solution to their problems. And we shouldn't expect them to. That's why they hire people/businesses to do the job. And even those who sometimes think they know what they need, I believe it is our duty as professionals, to really make sure that what they say they need, really is what they need. We are the experts not them. And you know... At the end of the day, if what they thought they needed was not really what they needed, you're going to have a dissatisfied client that most likely won't come back.
This particular interaction happened about two months after I had started my first job as a software developer. At the time I was working with a client to develop a mobile application, from scratch, which had the goal of digitizing a lot of the paperwork that was happening at industry AA (I'll be using the letters AA instead of the actual industry name).
To do that, the mobile app was going to be a replacement to the paper sheets people working at industry AA normally used.
How exactly?
Really simple. Normally the workers would have to fill out a piece of paper with all the tasks they had done throughout the day. With the mobile app, the workers only had to log in and check the tasks they had done. The mobile app already had all the tasks they had to do. It was basically a to-do list focused for a particular industry.
Everything was going well, and the development was progressing at a good pace without compromising the quality of the code. Keeping the features of the application to a minimum, and as simple as possible, was crucial to make sure the development speed and quality code was good. So the mindset, of us developers, was really around the idea of "Let's make this app have the least possible feature needed to get the job done".
Then one day the client calls me and says:
"Byakko I need to have a meeting with you now! It's urgent!"
Every time I get a call like that it's always one of two things:
1. Stuff blew up! (App is not working correctly)
2. Client wants to add stuff to the app, and he wants it for yesterday!
Turned out it was the latter. And it went something like this:
Client : "Byakko we need to add this feature to the mobile app! It's really urgent! We need you to implement a sub-task system! Basically, there is going to be a new type of task that is composed of other tasks. And this task is only going to be completed when all the other mini-tasks are finished".
Byakko: "Hmn... I guess I understand what you're saying. There should be no problem, technically speaking, with developing that feature. That concept you just described is pretty common in task management apps. I'm not so sure, however, that it fits the context of industry AA. What do you plan on doing about feature A and B? This will add a lot of corner cases to them and grow the complexity of the code base. And also, feature C will be much less user-friendly due to this new system"
Client: "I see your point... But it has to be done! It's what we need to do to solve this!"
Byakko: "So... What is happening? Why is this so urgent?"
Client: "There are some tasks that our users have to do multiple times during the day. So they have this one task that they have to do 10 times a day. And when they go to the 'tasks to do today' menu, it is cluttered with all those same repetitive tasks, and they can't really get a hang of all the thing they have to do that day. So we have to like group them together, and make it be only one task that they will be partially completing."
Byakko: "I think I understand the problem. So the problem is that they can't easily see all the tasks they have to do today, because some tasks repeat themselves and clutter the menu. Is that it?"
Client: "Yes!"
Byakko: "So, why don't we just group all those repetitive tasks by name, and display it almost as if it was only one task? We'll just leave a small signal so that the user know that we've grouped those tasks. This way the screen will be much more clutter free and the users will be able to see more easily what they have to do. Also, with this approach, we don't need to make a change to the logic of the application, we only need to change the UI. It will be much faster to develop and the complexity of the code will stay almost as it is now. If it doesn't work we can always go the other route."
Client: "Ok! Let's try that approach."
And so the problem was solved, with a very simple solution.
Whenever I think of this memory, I get reminded that clients, most times, don't know the solution to their problems. And we shouldn't expect them to. That's why they hire people/businesses to do the job. And even those who sometimes think they know what they need, I believe it is our duty as professionals, to really make sure that what they say they need, really is what they need. We are the experts not them. And you know... At the end of the day, if what they thought they needed was not really what they needed, you're going to have a dissatisfied client that most likely won't come back.
Dislike ads? Become a Fastlane member:
Subscribe today and surround yourself with winners and millionaire mentors, not those broke friends who only want to drink beer and play video games. :-)
Last edited:
Membership Required: Upgrade to Expose Nearly 1,000,000 Posts
Ready to Unleash the Millionaire Entrepreneur in You?
Become a member of the Fastlane Forum, the private community founded by best-selling author and multi-millionaire entrepreneur MJ DeMarco. Since 2007, MJ DeMarco has poured his heart and soul into the Fastlane Forum, helping entrepreneurs reclaim their time, win their financial freedom, and live their best life.
With more than 39,000 posts packed with insights, strategies, and advice, you’re not just a member—you’re stepping into MJ’s inner-circle, a place where you’ll never be left alone.
Become a member and gain immediate access to...
- Active Community: Ever join a community only to find it DEAD? Not at Fastlane! As you can see from our home page, life-changing content is posted dozens of times daily.
- Exclusive Insights: Direct access to MJ DeMarco’s daily contributions and wisdom.
- Powerful Networking Opportunities: Connect with a diverse group of successful entrepreneurs who can offer mentorship, collaboration, and opportunities.
- Proven Strategies: Learn from the best in the business, with actionable advice and strategies that can accelerate your success.
"You are the average of the five people you surround yourself with the most..."
Who are you surrounding yourself with? Surround yourself with millionaire success. Join Fastlane today!
Join Today