In your company, you typically choose a framework (aka programming stack) and that is most likely the decision made at the infancy of your company or later a decision made by your CTO.
Let's assume that your company is using .NET framework. It is very important to stick to the basics and not to marry yourself too much with the features of the given framework that could be depreciated in any new version of that framework.
A lot of companies are not R&D labs and they don't have luxury to explore different technologies. As a development team supporting the business in consumer line of business, there is a responsibility to be very flexible and ready to change direction; exploring technologies is one part of it, but there is not much luxury as everything is driven by short deadlines.
Using Microsoft stack as an example, if you can't move from one version of .NET framework to a newer version with very minimal effort, then your architecture and strategic approach to technology is very fragile and risky for your business team that depends on you.
Some companies do not have intentions to invest into their own software development team and typically in these companies a software solution gets purchased off the shelf and different consulting teams implement a slightly custom solution in your company.
Some companies have a larger team of software development experts and in those situations, you are fighting a battle whether to develop a custom in-house solution or to outsource a company using off the shelf product with customization supported by your local software development team. There are pros and cons of both the in-house solution and a third-party solution.
Flexible design means happy business. The technology team in a given company has a huge responsibility to be flexible in supporting the business. This entails making the right decision in choosing the tools and features of the framework for your organization. It is crucial to be able to upgrade your applications to new versions of frameworks without re-working your code that much. Ideally, there should not be any re-work in the code itself.
Conclusion: The architecture and design is something that should evolve very incrementally. With this incremental approach and proper decisions with tools and features, you are that much closer to that flexible design that makes business happy.
- almirsCorner.com -
#Technology #Business #SoftwareDevelopment #SoftwareEngineering #tech #programming #ITSolutions #framework