Rosenberg, the author of dream code, conducted a field survey on the Chandler project hosted by the open source application foundation, followed it for years, and tried to reveal some fundamental problems in software development through Chandler's development process.
Scott Rosenberg, writer and editor, graduated from Harvard University in 1981 and co founded the Salon website with others in 1995. This guy is a writer. He wrote a novel called dream breaking code. Because he knows programming, he added popular science and code elements to the story, which makes the book read better.
If you only want to read this blog to complete your blog notes, click here , this guy summarized in more detail than anyone else.
The main line of this book is a group of experienced code cattle. Under the guidance of advanced software development mode and without financial pressure, under the leadership of more cattle, it was originally planned to develop a highly anticipated personal information management software Chandler in one to two years. Later, it took seven years to complete this initiative, but it has fallen behind the times for too long.
I understand that the reason why it took so long is that this group of big cattle discussed many details but did not put them into practice. They are too focused on details and want to ensure the development of perfect software at one time, just as I inadvertently pursue the perfection of the code, resulting in the software engineering program fully meeting the requirements of the boss (brother min). However, ironically, The need was a random thought. So I decided to learn from the past and change the past. In short, it's very painful. I can complete the specified things within the specified time in the software. I don't think about what I can do. Anyway, I put the technology there and have time to fine process it later.
Cough, cough, pull away. The branch line of this book is the explanation of terms and concepts in many software engineering. The author skillfully makes a natural transition. It's not very laborious and fun to read.
The background is Kapur, who founded lotus company. The company is very successful and earns him millions of dollars every year. But this was not in line with his values, so he "retired with success" and went to Chandler.
Spray: Writing for a living is different from programming for a living, or the books written by the former are more popular with our readers.
Next is the explanation of the terms that are useful to me.
I think the most important thing in this book is the stories in it, the small stories under the big stories. This is called "taking history as a mirror can clarify the gains and losses". It allows me to write the stories I have read and don't know whether I have forgotten. Do I owe you?
Chapter 0 software time
Cardiac flow: You are so immersed in the logic of line by line code that you don't realize it for a long time. When we write a long code or optimize a function with an algorithm, we will enter this state. Of course, it's very easy for me to get into this state----Just open an action game. No silver bullet: Friedrich, an expert who has made many achievements in the field of modern software research·Brooks wrote an article entitled "no silver bullet" in 1987(No Silver Bullet )Famous papers. The article compares software to the monster that people feared most at that time---Werewolves, and silver bullets can kill werewolves. Unfortunately, the author holds a negative attitude towards the silver bullet that kills the werewolf.
Chapter 1 is dead [July 2003]
Discuss software progress: The progress is advancing by leaps and bounds, and sometimes stops in the road for some reason. When you think the great achievement is about to be completed, you are at the end of the mountain and water. You spend half a year and get nothing.
Chapter 2 spirit of Agenda [1968-2001]
Brooks Law: The ideal development team size is one person----A single developer who doesn't have to stop working to communicate with colleagues. Boot strap: When you first start the computer, memory is empty. This leads to the paradox of chicken and egg: computer hardware needs operating system software to load programs, including the operating system itself. The inventors of computer systems"bootstrap loader (Bootstrap loader (bootstrap loader), a small program, enables the machine to have just enough capacity to load a large operating system into memory and start normal operation.
Chapter 3 prototype and Python[2001 ~ November 2002]
python It's an interpretative language. It's popular science python Advantages and disadvantages of Elevator lobby: When you are lucky enough to meet someone with power and money in the elevator, you can blurt out and convince him in a short time.
Chapter 4 LEGO kingdom [November 2002 ~ August 2003]
LEGO hypothesis: Future programs will be composed of reusable components. Components will be available worldwide. The key to a good project is reuse, not repeated invention.
Chapter 5 control of geeks and dogs [April August 2003]
Quality triangle: Things that are good, fast, cheap and satisfied at the same time are unlikely to happen. It seems that the book says to meet two at most. Geek: A deadly person with strong programming ability but poor communication ability. Qiao: Immerse in the details until the abnormal state. (Isn't it a good quality to be willing to analyze the underlying code?)
Chapter 6 completed design scheme [July November 2003]
about Linux The author of Li nastowatts said: Don't do big projects. Start small, and never expect it to grow. If you think so (referring to large-scale software), you will over design and think it is too important. Worse, you may be intimidated by the hard work you imagine. So start small and focus on details. Don't think about big picture and good design. If the project does not solve some requirements, it is mostly over designed. (That makes sense!)
Chapter 7 detailed view [January May 2004]
"Eat your own dog food ": Bill Gates proposed that it means that developers must use the products they are making.
Chapter 8 post it notes on whiteboard [June October 2004]
Chapter 9 methods
Waterfall model: The project is divided into several independent phases in sequence, such as requirement definition, design, implementation, integration, test and release. Each phase needs to be completed before the next phase begins. This approach seems logical on paper, but in practice it always leads to delay, chaos and disaster. Each stage takes no time, but none works properly. (I strongly agree with this sentence) Spiral model: Cut the development into six months to two years of "iteration cycle" -- a small waterfall to produce working code faster, get feedback from the use of partially completed products and guide the next iteration. (Yes, this is also the programming method we need to adopt)
Chapter 10 engineers and artists
Is writing software an art? If you think so, I have nothing to say.
Chapter 11 road to dog food version [November 2004 ~ November 2005]
Ending long bet [2005 ~ 2029 and beyond]
Egg: share the dream break code pdf file (my baidu online disk share)
Extraction code: 1024