Last night, a thought came into my head, quite, perhaps, by chance, that would help to destroy the last obstacle on the way to my global philanthropy. The final obstacle to my all-consuming love was marketing. With duty and marketing managers, I have to communicate an order of magnitude more often than my fellow developers. The fact is that in our company I am responsible for the server part of the licensing of our products, all registrations of users, statistics collection, automatic processing of their requests one way or another is in my area of ​​responsibility. And, as a result, I often have to communicate with our marketing managers (MM-s). Especially when a new product comes out and they start running back and forth, deciding exactly which business licensing schemes of the product they want. I must say that, until now, this kind of communication irritated and tired me.
Well, really, here is a simple working example for you, which demonstrates such communication for a developer:
Suppose there is a certain part of the product, let's call it A and there are parts B, C and D, which together form the same A. It is quite logical that if the buyer buys B, C and D, note in the database that the buyer bought A. But no says marketing. Please note that he bought all 3, but not A. This is the most innocent example that can be cited from this area.
Prior to this, being guided by youthful maximalism, I simply argued for myself that Marketing - people, for the most part, are inadequate. And some - and just idiots. But yesterday ... so, more to the point. Yesterday, just before leaving work, I literally 10 minutes talked with the head of the development team of one of our products, which is going to come out in early spring, and at the moment I am doing licensing for them. Among other things, there was such a question. The product that they are preparing for release, designed for corporate clients and put on a whole pack of computers. There are two types of workstations. And there is a certain “ability” of the program's program, which is currently included in both types of workstations. In the future, when the application is sold to a specific customer, under it you can choose in which types of stations and in what quantity this feature to include. In the meantime, Dima mentioned briefly that the inclusion of this tick in each of the types of stations costs 40% of the total cost of a separate inclusion for each type for the client. This strange figure - 40% - slipped past the ears, but caught hold of consciousness. Indeed, strange. 50% - quite understandable - in half. 100% - also, in principle, it is clear - what difference does it make to us, what does it use, and what doesn’t - pay what you need and all right. But 40% itch in the subconscious like some kind of mosquito. And suddenly I understood the main idea of ​​yesterday evening: marketing and development - brothers in mind. Just as we strive to minimize response time, they strive to maximize profits. Also, just as we cannot use some forbidden tricks, since this is contrary to security, re-usability, or to some of our internal coding standards, so they cannot use some tricks that are contrary to law, reputation, or internal principles. But that's not all. Unlike developers dealing with compilers and Boolean algebra, marketing deals with people, and their algebra is non-Boolean. And it is much more difficult. imagine a simple matrix representing the values ​​of the operator || for two boolean variables:
| false | true |
false | false | true |
true | true | true |
Everything is simple and understandable freshman. But marketing is different. Imagine that in the cells of your table there are probabilities that the result of the operation will be true. For Boolean algebra, everything is simple and clear:
| false | true |
false | 0 | one |
true | one | one |
Never anywhere false || false will not give true. Probability is 0. But marketing is different. They can have any numbers in the cells of such tables in the range from 0 to 1, and it is possible to understand exactly what these values ​​can be only experimentally, and without experiment you can only estimate. As you for example, such algebra:
| false | true |
false | 0.15 | 0.65 |
true | 0.80 | 0.85 |
Those. if one thing is true and another thing is true, then their conjunction is true with a probability of 0.85. For example, if a user is ready to buy a feature A for 100 ye, and a feature B for 50 UE, then he will be ready to buy them for 130 UE. And why? But because it's a pity, or there is no more, or just such an interesting client. And imagine that the exact values ​​of these probabilities are unknown to you, depend on what variables are involved in the operation, and even change under the influence of external factors? For example, so
| summer | winter |
| false | true | false | true |
false | 0.15 | 0.65 | 0.25 | 0.55 |
true | 0.80 | 0.85 | 0.40 | 0.55 |
Submitted? And now try in the given conditions, for example, to select such values ​​by the boolean parameters a, b, c, d, e, f so that the expression
((a & b & e) || c) || (d & e) & (c || f)had maximum expectation? Have tried? here I promise that I will never again think about marketing badly. And I do not advise you. Any positive result requires from them much more effort than is commonly believed.