Creating software is a tough intellectual work, especially when the goal is to not just make any software, but to build one of a good quality and grade.
Software has been developed for some time, and we already know how to bring a lot of relief in the process.
Software is not a huge monolithic rock of code, but it is a collection of components, put together like bricks on a house wall.
When designing a big system, we first think of the high level components, like database, servers, user application. These can be broken down into smaller components, like data sets, services and functions, and again next level down, until we get to concrete code units. But, it is not always necessary. You can stop at certain component level, knowing that you can use something already existing in this place.
A great thing about software components is their reusability, which means that some components you have written before, can be used again in a new project, but you save the time and cost for their development from ground.
Sometimes it is necessary to add some adjustments to previously created components, but in time they become mature and flexible enough to be reused immediately.
When you write code yourself, you should find much help in software design patterns and good practices, but also remember to think of its potential future reusability.
The other possibility is to employ some components created by other developers, instead of writing everything yourself. There is a whole market of software libraries and buiding blocks, some of them free and some paid.
A market you need to investigate, as you can find components that will suit your needs, and then you need to consider if it is worth to write your own or will it be better to take or buy what is already available.
It is completley insane to write for exmaple a whole database management system to be used only be one company, even though in many projects. Similar assesment should be made for lower level components too.
Keep in mind, that compnents prepared for reusability should be written by professionals in the field. They should keep to high standards of flexibility, performance and efficiency, should give you comfort in usage and be cheaper then writing it yourself. So when you make sure that it is really what you need, it is enough flexible and easy to apply, cost effective – why reinvent the wheel?
Creating software is a tough intellectual work, especially when the goal is to not just make any software, but to build one of a good quality and grade.
Software has been developed for some time, and we already know how to bring a lot of relief in the process.
Software is not a huge monolithic rock of code, but it is a collection of components, put together like bricks on a house wall.
When designing a big system, we first think of the high level components, like database, servers, user application. These can be broken down into smaller components, like data sets, services and functions, and again next level down, until we get to concrete code units. But, it is not always necessary. You can stop at certain component level, knowing that you can use something already existing in this place.
A great thing about software components is their reusability, which means that some components you have written before, can be used again in a new project, but you save the time and cost for their development from ground.
Sometimes it is necessary to add some adjustments to previously created components, but in time they become mature and flexible enough to be reused immediately.
When you write code yourself, you should find much help in software design patterns and good practices, but also remember to think of its potential future reusability.
The other possibility is to employ some components created by other developers, instead of writing everything yourself. There is a whole market of software libraries and buiding blocks, some of them free and some paid.
A market you need to investigate, as you can find components that will suit your needs, and then you need to consider if it is worth to write your own or will it be better to take or buy what is already available.
It is completley insane to write for exmaple a whole database management system to be used only be one company, even though in many projects. Similar assesment should be made for lower level components too.
Keep in mind, that compnents prepared for reusability should be written by professionals in the field. They should keep to high standards of flexibility, performance and efficiency, should give you comfort in usage and be cheaper then writing it yourself. So when you make sure that it is really what you need, it is enough flexible and easy to apply, cost effective – why reinvent the wheel?
PuMaSoft