‘Nido’ Script Created for Introductory Video
What is ‘Nido’?
Nido is a code framework, a common project, an architectural pattern, written on Microsoft .NET/C# 4.5, to help software engineers to develop their systems faster.
Now.., tell me why do you think that we got to develop systems faster, does this also mean that.. other constrains.. such as quality and budget are not that important?
That’s a good question.. When I say ‘develop systems faster’ that fastness actually includes other constrains such as quality as well as budget with the help of its unique architecture… so I am going to explain that later.
You are right, today, businesses use IT as a weapon, a weapon to fight their competition. So now, the question is, why these businesses want that weapon faster? Would you shed some light on that?
Let me cut the long story short, in today’s postmodern business era the survival of the business is the ‘continuous growth’. To grow continuously, you need to expand your business and also need to change the way you do things internally, you may acquire, and
merge with other businesses, and may put effort to reduce waste to add more and more values to your customers. But these introduce many changes to your work behavior and that create ripple effect on respective software systems as well.. These changes needed
to happen faster. That is why speed is more important. However it does not mean that you can ignore other things, but I want to stress that speed is the key factor.
Nido, is a framework right? How you explain that to me in summary? What benefits it has?
Let me start it this way, any system can be mainly broken into three layers starting from the UI layer down to business logic and data access layer.
Now, you may ask me, what is a system? Basically a system carries answers.. to your business problems, right?.
So if you use ‘Nido’ to find answers to your business problems, will will provide you many facilities. At first we get you a pre-coded Data Access Layer (DAL) that has options to access data in every possible way you can think of. Then it will also code you
a reasonably good business logic layer. For those it will use a technology called ‘t4template’. Once you reach this stage you will be equipped with a number of discrete business functions that you can use to solve your business problems. So as the next step,
you got to use those pre-coded functions to connect via UI layer to provide meaningful business solution to your business users.
Additionally, among those solutions you provide, there are common types of solutions that you provide over and over in many different ways, in every other system you develop. Let’s say things like
• Handling of log-in exceptions, display user friendly messages, tracking errors.
• Tracking changes done to important data items which is also called audit trails
• Validating records and encrypting sensitive data to protect their privacy
• Controlling complexity by mean of handling complex problems in one standard way
• Set standards pattern for coding
So these things are common for every other system you do, but with 'Nido' framework we introduce a common, standard way to do all these.
With that, can I say that ‘Nido’ framework is a set of standards? is that right?
The answer is a No and a Yes, no mean there are many things that are being developed by ‘Nido’ team. The are not just standards they are codes written in generic form. So once you integrate ‘Nido’ with your project, you inherit bulk of those feature to your
project. You write few lines of codes to derive bulk of the features developed in generic form.
Yes mean, there are certain other development that you can do, by adhering to certain standard or by extending the features given, to enhance some of those default features. On that aspect yes we define standards to make sure that we all who use 'Nido'
do it the same way.
What benefits this has, and also tell me.. why my company should use ‘Nido’?
‘Nido’.. will gives you a number of benefits. You should carry your experience and learning.. from one system to the next, but having no methodical approach as such to do it, that process is less efficient, but with ‘Nido’ you will be able to improve your developers
in a more methodical manner, so that you will ended up taking lesser and lesser time for coding. Additionally, the consistency and uniformity the ‘Nido’ provides will reduce developer individual dependencies too.
Then again it makes your work more predictable too. This is possible mainly because you re-use number of common libraries across many systems and do the development in similar manner, irrespective of the type of system you develop. This also link with software
estimation too, the effort estimation is one of the most erroneous area, with improved predictability, you will be able to do effort estimation more accurately than before too.
I mean, I am not telling that you will get these benefits only through ‘Nido’, any other well architected framework can give you these benefits.
But for Microsoft .Net there aren't many such frameworks of this nature. So In that sense 'Nido' is a unique framework.