CS 481 - Team 49 Meeting Minutes Initial Customer Meeting Thursday, August 30, 2007 8:30 - 9:30 am JEB 324 Recorder: Brandon Riggers -------------------------------- Meeting Summary This was the initial customer meeting that involved our sponsor, Bruce Mayes. Bruce joined us over the phone for the first portion of the meeting, and provided some important information, which included an overview of the project and code turmoil, and his thoughts about the platform (or environment options for the project. The second portion of the meeting (after the teleconference with Bruce had concluded) involved Bill Junk navigating and evaluating our web site, and a brief discussion of the performance of our product and our responsibilities over the next few weeks. Attendees Brandon Riggers, Shruti Upadhyaya, Peter Brown-Hayes, Travis Thoroman, Bill Junk, Bruce Mayes (for first portion, over the phone) Topics Discussed Bruce elaborated on the following main topics during the first portion of the meeting: - Overview of Project and Code Turmoil Bruce mentioned that he works on firmware for printing products, which now includes both Laser and Inkjet printers. His lab consists of about 120 people, and there are about 400 working on the entire project. He talked about how code turmoil gives insight into the productivity of people working on the project and ways to improve. Turmoil also provides a means to predict defects, based on history (Bruce mentioned they have about 10 years worth): given 1000 lines of code, they can expect to see "x" number of defects or determine how many weeks of development they have left. Bruce gave an example of how much turmoil can be associated with a project: a product that's like a copier, required about five million lines of code, and out of this, they touched about two million lines, or, somewhere between 40 and 50 percent of the total. He also mentioned that the total measure of turmoil consists of lines added, removed and changed, and it's this total that's important. - Current Tools and Platform Bruce first mentioned that the current turmoil tools don't work on Subversion (HP's new "industrial strength-type CVS"), and our task will be to change the tools we have, or create new tools. Either way, our product will have to work on Subversion, and we'll have to know how the current tools work. Bruce explained a little about the current tools: they use the Unix diff tool, and the Smart Comment Stripper (SCS, from previous CS 481 classes). (Bruce suggested we spend time with diff between now and our next meeting, which is mentioned below.) SCS operates on the files that are all code (or comes close). Part of our action will be to use SCS as a filter, manipulate the control logic that decides what files to send to SCS, and use diff after SCS to compare to a previous version. (Bruce also mentioned that SCS is in production now, and is used in four or five labs at HP. They rely on turmoil metrics a lot, so the work we do this semester can be a basis for future CS481 labs - like with the SCS tool.) He then talked about the platform (in response to our inquiries about Cygwin), and communicated three possible options: 1. Load Cygwin and run the Unix tools as is. 2. Move the tools (the logic behind them) to essentially recreate the diff utility using Subversion. 3. Use patch files Which of these roads we take requires analysis and maybe some modeling. In between the discussion of code turmoil and the current tools and platform considerations, we scheduled another meeting with Bruce - he will be in Moscow - for 10:00 am next Thursday, Sept. 6. We will meet after the lunch hour at 1:00 pm, and Bill will likely join us at about 1:30. Bill explained that this meeting would not be a concept presentation (as originally expected), but will instead be a "good meeting (where) we get to where we make a decision." Bill suggested we do some significant preparation for this meeting to get a good grounding in the problem. Bruce and Bill suggested we have specific topics and questions communicated (emailed) to Bruce before this meeting to give him a chance to prepare some answers and discussion topics. It was also suggested we get Cygwin and Subversion and try to get familiar with them. Bill started the second portion of the meeting (again, without Bruce on the phone) be checking our individual accomplishments for the week. He then navigated our team web site, and began talking about testing after reminding us to add testing to the "Quality" section of our team values. Bill mentioned the following considering testing and our product: - What HP has is a set of test cases for printers and not the turmoil tool. - Bruce should be able to replicate our tests and verify the same results. - Bruce may (or will) try a big project with our turmoil tool. - We should ask Bruce about speed/performance issues. Considering performance, Bill said we should plan on having performance benchmarks with our releases, and that we'll have to get a large collection of stuff in complicated (Unix) directory structures. We'll start with small test cases, and move on to something larger to get a performance measure. Bill then mentioned that SCS was written in Perl - a language that runs on Windows and Unix - and that a previous team had version problems with Perl while developing SCS. Bill continued evaluating the team web site, suggesting that we add "leadership assignments," move the release dates back on the "project milestones," and add something about trying Subversion to our task list. The meeting conclued with Bill reminding us that we'll need CVS on our account, and looking forward to the next few weeks. He said we need a "concerted effort" over the next few days in order to be prepared for our next meeting with Bruce. Overall, he said it "looks like we're doing... pretty well," and the next few weeks will seem frantic. We need to get through it, and figure out what we don't know.