Tuesday, October 29, 2019

This is a continuation of the earlier posts to enumerate funny aspects of software engineering practice :

220) Build a product that specializes monitoring and alerting features and find that customers are not utilizing because they cannot plug it into their existing infrastructure.
221) Build a product where the features are built independently but find that the customer has turned on all of them
222) Build a product as a culmination of development efforts but find a mismatch between customer expectations and delivery
223) Build a product with internal vetting and sometimes friction and find the customer advocacy voice waning.
224) Build a product with the notion of getting a feature into the hands of customer without being explained fully why the customers want it
225) Build a product as a part of a portfolio and find that the entire value proposition of the product subdued by the portfolio perception.
226) Build a product as a part of portfolio that prevents it from changing its price, licensing and distribution and all the innovation in the product averages to that of the portfolio
227) Build a product that cannot be sold separately and find that the product gains attention with the plus and minus of the other.
228) Build a product where the distribution is in flavors that does not work as well as the default and have all the negative feedback be attributed to the product as a whole
229) Build a product that has client-server technology and find that all the client issues are attributed to the server.
230) Build a product where the defects flow to the core of the product from any surface area because it is easier to consult the expert than to do what it takes to resolve the defect upfront
231) Build a product where the core is shielded by layers upon layers and defects in the core lead to workarounds and complexity in outer layers
232) Build a product where the clients can’t keep up with the breaking changes in the server both before and after release
233) Build a product where there are proprietary protocols between components and find that the protocol grows in complexity as opposed to following open, published and popular protocols
234) Build a product where the components fail silently or worse lie when they fail.
235) Build a product where the callers have no way to figure out whether the callee did the task
236) Build a product where the caller does not allow differentiation of callees and find that there is no way to put an expedient fix specific to certain callee.
237) Build a product where there is no protection of boundary such as between layers or external endpoints and find all kinds of security vulnerabilities afterwards
238) Build a product that is well thought through and find the solution to be too elegant and simple to describe.
239) Build a product that provides no mechanism for callers to inject tracers and find that the callers have to rely on communications with the experts
240) Build a product where the communication to explain how the product works consumes bulk of the time that could have otherwise been spent on test and development.

No comments:

Post a Comment