How far is the workshop from the factory (2) SmileMac 1. Software large-scale customization in this market is increasingly dominant, customized products are widely popular, can software can also do large-scale customization? First, what is what software is a large-scale customization. The scale is related to the development speed of the product. If a custom software can deliver within one month, if the number of custom software delivery can be proportional to the number of programmers, we can call this development model to make a large-scale customization, if this result Can you appear, how beautiful it will be! But is this development model? Do you still remember the famous words: Give more women, a child needs 9 months. Then, this answer should be negative. But if we view the software life cycle with a microscope, we will find that we cannot improve the delivery speed of the first version, but we might increase the second, third versions of delivery. Let's take a look at the life cycle curve of the software: 2 indicates such a fact that any architecture has an extension cap, once the upper limit is reached, the software will become difficult to reconstruct, and the new one must be revisited The architecture, sometimes this development may completely code from scratch. The reconstructed cycle based on each architecture depends on whether the design of the architecture has a relatively strong flexibility and inclusiveness. This also shows the importance of architecture design. However, it should be noted that the architecture is not one layer, and a software function can actually draw several closures, that is, the relationship between different functions is not messy or casual, if you go to study it, you It will find that some functions are related, and some features are also related, and the correlation between different group functions is weak. By decomposing it, you can get a number of closed subastrips, and orthogonal to each sub-space Decompose, you can get a number of stable and flexible sub-frames. What does this show? Explain that even when a small-scale reconstructed custom version is customized to develop new features, it is also possible to enrich the entire architecture, which is a bridge, which is a lack of reconstruction activities, which is the marginal benefit of even less reconstructed activities. . Such a life cycle, also reflects the profitability of this item of the software, that is, high sinking cost, low edge cost. The first version, or re-developing the cost of the architecture is high, but each small reconfiguration is very low, but what is the condition, it is necessary to reconstruct it. If the software development is not performed in such a profitable way, even if you can survive a year and a half, it may be difficult to relaunch, so if you can't achieve large-scale customization, it is best to make only products, not custom. If we can truly implement a software life cycle above, the software is not unjust. However, there is still a organization structure problem that needs to be solved, which is the content you want to explain. 2. Asymmetric Double Spiral Architecture In the real world, the development organization of custom software is often responding to each custom demand to set up a project group. This is a single layer structure, its disadvantage is obvious, project The group is not only the only organization responsible for the future development, and it is also directly responsible for the current customer, and there is a contradiction between the current customer. Especially when the requirements of different users have great differences or even in contrast, the project team is exhausted, and the product is also swaying, so each reconstructed cycle and product quality will be unpredictable. So how do you solve such a contradiction? Efficiency is derived from division of labor, custom development and long-term planning is a complete value orientation, and it should be handed over to different people.