It’s Friday and it seems like my last few posts have been quite serious (complete with references even) so today I’m just going to mention a few Web sites that are useful for doing research on doing research, and mention an interesting research workflow.
Much has been written about process improvement in the software industry. The SEI has developed the CMM (now known as CMMI) for about twenty years, yet according to a survey of 2000 government and commercial organizations about 50% are still CMM Level 2 or lower . This is not surprising considering estimates of project failures typically run very high (some estimate over half). The higher levels of CMM are designed to insure repeatability of successes as well as identification of and improvement on failures, so we might assume that organizations operating at a higher CMM level have fewer failures. This leads to an interesting question. Why would a company not improve their process by means of application of CMM KPA’s or other forms of process improvement?
If I could only recommend one book that every software engineer must read it would NOT be The Pragmatic Programmer: From Journeyman to Master, but to be fair I’m not sure what it would be. I will say that when you graduate with a B.S. in Computer Science your university should send you a copy of this book.
As a method of rating different items that I post reviews for I will use beers. Basically, I’ll relate the quality or enjoyment of the item to the equivalent enjoyment in beers. The scale will go from -5 beers being something that was really unenjoyable or of very low quality, to 5 beers being something that was very enjoyable, high quality, or simply something I can’t live without.
Scott Adams is a genius. His blog on specialness is right on target. My research centers on the use of machine learning to solve some software engineering problems. One of the first times I described a few of my ideas to another person I was told that they would not work because only humans can “really do software engineering” for reasons that amount to humans are special and computers aren’t. Now I have further developed the approach and shown accuracies close to ninety percent. By comparison excellent baseball players hit a baseball into play only thirty percent of the time. When we humans go to school we get A’s for achieving ninety percent accuracy within a subject.
About a week ago I realized that all the searching I do as part of my research is very repetitive. Rather than spend time executing the searches and checking web pages and PDFs and articles to see if they contain any new information, I would be much better off refining my search. It would be nice if I had a software agent that scoured the web and collected anything that seems important. No more waiting for large PDFs to download only to find they are not related to my work. It would be nice if that agent had a little intelligence built in. I’m not asking for anything like HAL. Just a little intelligent, maybe some clustering of the results, and maybe some filtering so that if I find an article I think is relevant it can show me everything it thinks is related. Yes, this would be nice. I decided last week that this tool was so important that I needed to write it. It would change the way I do research.