What is the change of interface?

    The customer wants to change the design. Suppose, even layout is already ready. How much does it cost to pull it? Well, for so many hours on the page, and let’s throw so much more in our mind on the risks ...

    - And what is there to do? After all, everything is ready! Just then, make-up stretch - Familiar words?
    And here is another phrase that is fashionable among some “theoretical leaders”:
    - Change of design, this is no more than 30% of the time of the whole project!

    But why is practice diverging from theory?

    What do you usually answer? I usually say:
    “Um ... Well ... After all, it is not known what exactly has changed, perhaps this will affect not only the templates.”

    Just tired of making excuses. And let's try to figure it out.

    First, you need to call a spade a spade. If new information appears on the page, or the elements change their behavior, or the old elements now assume a new reaction, then you have to change the interface, not the design.

    Now take the classic MVC model. Model, viewer, controller - 3 parts of the project. We will consider each part - this is 33% of the time from the entire project. Where do we have the templates? That's right - the viewer. We change the templates, then we change the third of the project. This is already 33% of the project.

    But, we remember that we are changing not the design, but the interface. New data on the page will not occur by itself.
    For example, for small numbers to appear next to the words "private messages", meaning the number of new messages, you need
    1. request this data in the controller and transfer it to the viewer;
    2. implement the calculation of this number in the model;
    3. change the storage of private messages so that unread messages are marked with a special flag.

    And these are just small inconspicuous numbers in the corner of the screen.

    So, the change of interface pulls in additions changes in the controller, and changes in the model. Each change may require a chain of additional modifications.
    I do not presume to say how much is a percentage of the entire project, but if you estimate the lower and upper boundaries? Suppose from 10 to 90% of the controller and from 10 to 60% of the model. Total, changing the interface draws 40 - 80% of the time from the entire project.
    image
    And what do you think is the change of interface?

    Also popular now: