Today my team have a demo on a new feature. It is a feature that was built upon OData. We all got excited about this feature. One of the most exciting things is that we can find tools online to help us extend our feature.
Back to the day when the project began, we had a prototype/solution that was recognized as very creative, which was built upon some internal solution. I don't have problem with home-grown solution, we do it all the time. However, I identified that this home-grown solution had problem of coupling some non-extensible feature. As an architect, I always suspect this non-extensible part could face massive re-design sooner or later, so I asked the team to hold on a little, and to see whether there were other alternatives.
One of my colleagues proposed the OData based solution. We began to investigate on this solution and finally reached to consensus. Besides the tightly coupling issue, I envisioned the OData solution would give us benefits of using an open standard. Now when we saw the demo, we all realized the investment began to pay off.
We are in an industry that requires innovative ideas. However, software still relies on engineering. Reusability, cooperation, extensibility are all features we need for software engineering. When we think about ideas, we can think as innovative as possible. But when we are thinking about implementation, open-standards are our friends. I usually pay some attention to those innovative implementation.
But don't get me wrong, I really like innovative ideas as well as innovative implementation, because implementation is also kind of idea. But still, we need to balance that, and see whether we can leverage our existing knowledge or tools, which include open-standards.
No comments:
Post a Comment