Smart software development-the main idea of Dr. Ivar Jacob's speech at Shanghai hero Society

Source: Internet
Author: User

Dr. Ivar Jacob gave the first keynote speech at the csdn hero Conference held in Shanghai on September 11, September 5, entitled "smart software development". he summarized Dr. Jacob's latest thoughts on software development in the last year or two, and gave this speech to the public for the first time. Unfortunately, due to some unexpected events, the opening time of the conference was delayed by 15 minutes. He could have been dragging Dr. Jacob's mobile time away. At the end of the Conference, he just had to say a few simple words to his client, in many places. Many of my friends told me that this speech was actually the best speech of the day. It is a pity that such a wonderful and important speech cannot be fully presented due to time constraints.

Five minutes before his speech that day, Dr. Jacob invited me to give him an on-site translation and said, "You only need to interrupt me when you think it is necessary. Do not translate me one by one ." I was under a lot of pressure at the time because I had never heard of this speech. As soon as I stepped onto the front-end, my mind flashed numerous distractions: What is this question about? What should I do if I do not understand the professional knowledge involved? What should I do if Dr. Ivar does not understand English with a Nordic accent? Should I stand by him or stay away from him to ensure the glorious image of the master? Where should I interrupt him? How can I notify him? These problems can be easily solved if they are prepared in advance, but they happen very suddenly and I don't have time to think about them, so I will come to him and open the wrong PPT as soon as I come up. During my speech nearly 40 minutes later, I was a little nervous and did not perform well. I missed some mistakes and failed to complete the tasks assigned to me by Ivar, I also have an unshirkable responsibility for poor speech performance. It may also be because of this reason that my status was not very good on that day. I was never excited during the subsequent speeches and host sessions. I would like to take this opportunity to apologize to my friends.

After the meeting, many friends asked me for the presentation PPT, can download here: http://download.csdn.net/source/613191.

I will give a brief list of the main ideas of Dr. Jacob's speech. At that time, I was nervous, and my memory was prone to errors. Therefore, it was very likely that I was inaccurate. Ask iji's friends and audience to point out my mistakes.

At the beginning of the speech, Ivar first broke the life of old ideas. He reviewed the evolution of software development ideas from process to object-oriented, to componentization, UML, up, RUP, and XP, and then said that these ideas were once self-confident, but they all prove to be not silver bullets. In fact,Silver bullet does not exist. All we need is smart software development). So what is smart? Ivar believes that to solve this problem, it is necessary to think about some popular unSMART ideas. For example, many large organizations believe in processes rather than people. This is unSMART. The process cannot develop software, and only the personnel can develop software. Therefore, people-oriented software development is smart. Some believe in tools, but they are only amplifiers. If it falls into the dummies, "a fool with tools is still a fool, but a dangerous fool. "Some people are document-centric, but the document cannot be executed. Most importantly, no one is willing to read the document. What is the significance of creating a large number of documents? Some people also use the waterfall model. I believe that the complete design can be produced beforehand, and even the details can be clearly considered. However, as the development progresses, more and more paperware will eventually crush the development work. These are unSMART ideas.

The so-called smart is people-oriented, recognizing the inevitable and unpredictable changes in software requirements. Based on this understanding, Ivar throws out his idea:The software must begin with a small runnable skinny system and gradually enrich the mature system known as full-fledge.. On the PPT, Ivar uses a goat skeleton to represent the skinny system, and the goat will eventually grow into a large, fat, and many Australian merisy goat. This is a mature system, I believe many of my friends are impressed. Ivar emphasizes that the skinny system must be skinny, discard all details, but it must be executable. The system must be executable throughout the process of becoming a mature system. As details are constantly recognized, the system is gradually enriched and complete.

(Ivar said here, I asked a question in my mind: "What is the difference between this and the well-known non-Discard prototype system? Does the latter emphasize the gradual improvement of products starting from a prototype? In terms of prototype systems, practice has proved that the effect of abandoning a prototype is better than that of not abandoning a prototype. Does the SMART model of a master mean this? What is the difference between this and agile thinking? Agility does not emphasize early delivery and executableCodeAnd constantly refactor it ?" Then Ivar answered this question .)

Ivar followed the system architecture. He asked the audience how many people thought the system architecture was very important. Many people gave up their hands and said with satisfaction, it was good. "China is fantastic! ", He asked this question in other countries. Only a small number of people think that architecture is very important. He believes that people are prone to extreme attitudes towards architectures. Either think it is unnecessary, or pursue a magnificent enterprise architecture. In fact, it is not the right attitude. He believes that basic and simple architecture is very important, which is the key to distinguishing the SMART method from the agile method. He believes that although the SMART method shares many similar parts with the agile method, such as restructuring and incremental advancement,ProgramPersonnel testing, but the attitude towards the skinny system is completely different. Agile believes that executable code should be generated as soon as possible, and the architecture can be reconstructed later. He believes that skinny system is the architecture, and the process of developing skinny system is the process of determining the architecture. Architecture is the most important part of a system, which requires no compromise on quality. Therefore, it must be carefully designed, so we should not expect that a good architecture can be produced through restructuring afterwards. On the other hand, do not be obsessed with general enterprise-level architectures. As skinny system implies, good architectures are small and simple. Ivar believes that each part of the software has different quality requirements and has nothing to do with the architecture. It is possible to appropriately reduce the quality requirements to improve the development efficiency, after the event, we can also improve it by restructuring and other means. However, the architecture must be taken seriously from the very beginning, Ivar even said,"The only important quality is the quality of the architecture", Things are too big to be ignored. At this point, Ivar insisted on his "Elaboration" Idea in the up, that is, the skinny system in the early design stage must be well-thought-out and well-designed, it provides good support for future agile development.

It can be seen that the smart method can basically be seen as an organic combination of up and agile. I have no practical experience, but in principle, this should be a good method. According to Ivar, Dr. Huang Bangwei, his cooperation partner, has already practiced this method in many major projects and achieved remarkable results. I will not understand further details.

The above is for your reference, and ask informed friends to point out the error.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.