The main reason for creating this framework are my team members and my managers, because if I told any developer of my team members that just do something as an abstraction and don’t look to the other layers, he couldn’t, he always thinking how this will reflect to the other layer he doesn’t get any idea how to implement abstraction development, so the developer delay his task until the other developer finish the dependent task in the underline layer, the team can’t develop by feature because there is dependency on the underline layer and must be complete to start the UI.
When I start asking our mangers about the business requirements, they give me the answers as database schema, when I told them it doesn’t matter the schema, I need to understand the business, my question is always (What) not (How) but they insist to provide (How), and when I agree about (How) but still don’t get the answer of (What), they will said let’s finish (How) and we will talk about (What) latter!!!
I always try to tell all of them (Developers and Managers) imagine that I have a magic code that when I told him to do something it will do it, this code understand me and understand what I need to do without need to write code to do it, but they don’t get my point,
So we have to implement the full feature, the database and everything and when we finish, the QC test and start assign bugs and we fix the bugs and when we finally finished, Oh thanks God we finished, when the customer get the system, he will said, No this not what I need !!!!!!!!!!!!!
This scenario is always repeated throughout my previous 9 years of software development
So I decide to create Faking framework (Fake) that do what I need without any previous information about the business, so I call it (Magic), and because this for development (Dev)so the name of the framework become