[kad_youtube url=”https://www.youtube.com/watch?v=hNuu9CpdjIo” ]
What Would You Say You Do Here?
If you’ve seen Office Space, I’m sure you remember the scene above. It sounds silly, right? The guy just receives customer specifications and takes them to the software developers. Where is the value in that part of the process??
Comedy Based in Reality
In the real world, I believe this guy is the most important person in the software development process. Jokes aside, the person(s) responsible for taking a customer requirement and crafting a solution to meet those needs must do a good job or the entire enhancement / feature risks being built “wrong”.
Solution Design Considerations
There are a few things to think about here as we design the solution:
- Does the customer really know what they want? Have they done a good job in describing the need?
If not, we need to go back to the customer and get any outstanding questions resolved first.
- Do other customers that use the product have the same or a similar need? What about future customers?
Engage your other customers to get their input. You may be able to solution multiple customer problems with a single feature!
- Can we build a configurable feature that meets everyone’s needs and also allows for further enhancements in the future?
Ensure you are thinking about the product as you design the solution. Do not let the customer dictate everything you build or else you may end up with a mess.
- Have you considered that a customer may not want this new feature at all?
When possible, make sure each feature can be disabled and allow the customer to decide if they want to enable it.
- Are you open to collecting feedback from your customer base?
Let each customer enable the feature in a test environment and get feedback so that you can evolve the new functionality organically.
My good friend, Rese, has a nice post with additional solution design considerations when building SaaS software. Check it out!