Skip to main content

Fall 2007

Go Search
Fall 2007
Customer Resource Site
  
Fall 2007 > J05 9-28-07  

J05 9-28-07

Modify settings and columns
Journal for 9-28-07
  
View: 

1. Name

 Jeeyun Lim
 (8%) 
 
 Derek Sessions
 (8%) 
 
 Kevin Le
 (8%) 
 
 Rae Alty
 (8%) 
 
 Yuan Gao
 (8%) 
 
 Felipe Serrano
 (8%) 
 
 Aaron Cottle
 (8%) 
 
 Hubert Lee
 (8%) 
 
 Sohum Misra
 (8%) 
 
 Brad Dodson
 (8%) 
 
 Corey Shaw
 (8%) 
 
 Dave Eng
 (8%) 
 
 Matt Freeburg
 (8%) 
 

Total: 13

2. Milestone Status: Gains made (If possible, include hyperlinks to what you mention here.)

 
For the customer prep team, we came up with more gui mockups since that is what the customer wanted. Specifically we had gui mockups for trust network view, interactive search results, and developer's tools (Links?). We did not come to a consensus on how sponsorship should be implemented so Kevin did a presentation during our customer meeting, which I unfortunately missed because I had to leave early. (but I heard it went well!) In terms of development, I feel like the content view team is meeting often and having specific milestones set up for ourselves in the coming week. We set up a framework for having a video content using silverlight (What all does this framework do at this point? Which features from the overall project are included in it? More detail would be appreciated), and should have a working implementation by early next week.
 (8%) 
 
 
This week, although we had milestones, has mostly been about developing and laying down the architecture. We have some code that will be thrown out shortly, so I'm going to skip writing about it (Don't underestimate to positive impact of tangible results even if it is temporary code. There has to be something you learned from the bad code, like why it needed throwing out...) (the original content display system did not work from a design problem)
Don't leave out a discussion of work even if it is going to be "thrown out" because a) there are often very useful insights gained by doing that work and b) it is important to understand what happened that resulted in the diversion of effort into that work.  -- SW

Since I'm on the content team, I'll focus on that.

Content is finally coming together as from the design. Before, we had it as a strange second layer between the back end and front end that took up space and forced an extra level work for no real reason. Now we are switching to using ascx pages for content display, working directly with the aspx and code-behind. Also, the front end now makes direct calls to the back end, rather than having to jump through our content layer hoop. Otherwise, not much else has happened this week, besides installing a ton of software on my laptop for Silverlight development. We still need the real software keys for this, however (everything is currently on 60-day trial, and I don't want to have to do some kind of blitz development on Silverlight parts to try to finish it all in that time frame)
 (8%) 
 
 
  • Gave a presentation on sponsorships at the customer meeting.
  • Attended two customer prep meetings where we made mockups of the trust network, developer view, and search results view.
  • Uploaded a two step template to profile creation on the Authoring project. Not yet functional.

 

Going on what you wrote above, either you didn't get much done this week (a problem) or you weren't complete enough in your discussion (also a problem).  -- SW

 

 (8%) 
 
 

-Met with my group Monday. There we flushed out more exactly what we needed from the database. That is, what information we needed to do the search and sorting. For the specifics on that, see 0=9-24-07.one and 9-24-2007.doc at  (Search and Navigation Team documents library-> Meetings)

-Assigned research tasks to Dave and Sohum Monday, for figuring out full-text search and learning SQL Server. The exact tasks were due today, and are posted on the Search and Navigation list . Dave has given me his, and I've already talked to Sohum about making sure his is done by morning.

-My task was to talk with Aaron about connecting with the back-end. We decided that Search will essentially be part of the back-end, and thus have direct access to the database. I have also looked through and read the stub-code for the backend, to get a beter idea of how the back-end will work, specifically how we will be able to access the database.

-Brad gave a more specific Architecture design, including the seperations of my team. Though whether or not these are the exact classes is uncertain, the "three pieces" are there. (Indexers, Relationship models, and Search Algorithms). For the full picture, see the Architecture Design and Notes on Architecture Design documents in (Project Achitecture Documents -> Architecture Design and Notes on Architecture Design)

-Met with the team leaders about said Architecture. In it we discussed our issues with the current design. For me, the main change was that the Search and navigation section was moved to the back-end, rather than a front-end section. Was able to ask Brad questions about what he ment by various points I was confused about his naming on the Arcitecture Design. Once we interpretted the classes to do the same thing, I felt much more comfortable with the design.

-Went to the Google presentation with Dave on personalizing Google News. This was actually very applicable, with regaurd to clustering techniques and such. My notes (titled Google) from the presentation are found in here.


Shorter links would be appreciated.
Very much agreed. Try using <a href> tags in Firefox. Good detail here, though.
Also, make sure your link points to the specific document itself. As the folders fill up, it will save the time of figuring out exactly which file you're referring to. --Chelsea
 (8%) 
 
 
1. Found a open source WYSIWYG text editor
The website is http://tinymce.moxiecode.com/
I think we can use this editor in our authoring page since it is well designed and easy to integrate.
2. Worked on the 2nd milestore Felipe signed to me. Tried to make a "My Content" page with multiple draggable and resizable content boxes. This doesn't tell me what you've accomplished. Did you succeed? What came out of your work? Keep in mind that the purpose of this section is to let everyone know specifically what you've done. --Chelsea
3. Attended the customer meeting
4. Attended authoring group meetings to split the work.

I first work on text editor, then I work on "My Content" page. This week I'll work on uploading function.
 (8%) 
 
 
- Met with Authoring team to discuss what our goals are (this was before the original milestone posted by Brad)
 
- We then met again to divide the original milestone and I posted these individual tasks to Sharepoint.
 
- We've received the new milestone, so I've redelegated tasks to Yuan, Kevin and myself from this new milestone
 
- I know this is supposed to be individual progress, but I think that we've made good gains in dealing with the customer and in taking control of the meeting instead of only trying to drag information out of him (It's actually supposed to be for progress towards the final product. This can include progress of the team as a whole. The "Development" questions are for progress in working together effectively and learning to work with the customer.)
 (8%) 
 
 
Progress has been made since last Friday, but most of it isn't completed code. Most people spent a lot of time getting their tablets configured, with, from what I've heard, varying degrees of success, but I think this is mostly complete by now, one way or another.

We had another architecture meeting on Tuesday which was much more productive, discussing the diagrams Brad had produced. All of the team leaders had differing opinions on the diagram, but with a couple of exceptions, everyone left the meeting on the same page, and Brad agreed to make some changes to the diagram.

On Wednesday we spend most of the class period arguing about how data was going to be transferred from the front end to the back end, which was one of the residual issues from the previous night. Brad and I eventually settled on a hybrid strategy which not only placates both of us, but which I actually like better than either of our individual solutions. Rae and I met later on that night to resolve the final issue of Tuesday's meeting, which was how the Search functionality interacts with the backend.

On Thursday we had our weekly leader meeting and discussed some of the DB schema which I had created. Later on, we had our weekly customer meeting. Matt was sick, which was a surprise to many of us, so the presentation didn't go as smoothly as it otherwise would have. We showed more mockups, and Brad gave a brief demo. I think Mr. Scanlon wasn't as impressed by the demo as I was, since he doesn't know how tough it probably was to create (This is an interesting aspect of the project to consider: How do you make sure that the customer is impressed with your progress regardless of how much work it took? Maybe in addition to planning what needs to be done, some thought should be put into how to make it look good.). We also sorted out some important issues and decided on other important things to ponder on for next week, such as the exact model of trust. At the end, Mr. Scanlon asked some very pointed questions about our technical work. I have a feeling someone briefed him in his office during the 20 minutes that he was late to the meeting.

On Friday, we had alumni from old 410 classes who now work at Google present some information, and Hubert and I discussed the backend architecture and milestones for next week in detail.

As a note, I've been working on a Backend Architecture document which should be done tomorrow. Linking to this would be helpful in many places here. Also, our meeting minutes were inadvertently deleted from Sharepoint, so I couldn't link to those either. Hopefully there were backups somewhere that weren't all lost with the crashing tablets...
 (8%) 
 
 
  • Finished last week's milestone - see here for a written description (basically, create database tables reflecting the interface defined by Aaron in the source code repository)
  • Met with customer
  • Talked with Aaron to determine this week's milestone
 (8%) 
 
 
  • We got milestones!
  • We have began coding and prototyping, as a group. Aaron also created a remote database for everyone to use, as indicated by his announcement.
  • Ran another customer prep meeting, this time it was more interactive as more people contributed. We began to finalize our feature set and discuss important issues like trust. The meeting minutes can be found here.
    • Created GUI designs for trust network and interactive search.
    • Brad created a simple, prototype interactive "browser" with pictures. It was basically a proof of concept
  • It seems like the team leaders have come out with a workable and extensible architecture for the project. Why does it only "seem like"? You need to let them know if you don't understand it or don't agree.
 (8%) 
 
 
Well, the milestones for this week are substantially less fulfilled than I had hoped, but I feel we an save ourselves this weekend by implementing a tremendous amount of stuff, which will force the issue of settling a number of design decisions with "best guess" hypotheses, etc. But I'm getting ahead of myself.
The actual concrete gains for the week: we have at least a rough diagram of the system design and division of labor, the production and distribution of which led to many questions and much discussion and I think served to bring at least all the team leaders to a reasonable understanding of how this thing is going to work. (Now how are you going to make sure that the rest of the team knows enough about how it works to implement features of the product?) Additionally, we have quite concrete milestones for this week, and I think that will force the issue of solving miscommunications and errors in design. They can teach you all about SMART goals (which ironically I've seen acronytized in several ways, but generally - Specific Measurable Acheivable Realistic Time-Bound), and I think I'm generally good at this for myself (although I don't always use the mnemonic precisely), I had to learn it the hard way with assigning tasks to other people. Welcome to COMP 410. --Chelsea
 (8%) 
 
 
- Got TFS working on my machines and started checking in code
- Setup projects for the Content Module and Web App
- Created some methods that parse and format XML, for content and its metadata
 (8%) 
 
 
  • I looked up eBay searches as per request by Rae. (What did you learn about them?)
  • I looked up box search and indexing solutions that are available. Details here
  • I met with the searching and navigation team on Monday and Saturday. Notes are here
 (8%) 
 
 
- Created running list of objectives for Customer Prep Team (to be turned into tasks as time permits) [Private Documents > GUI Designs for Customer Meeting 2]
- Created wireframes and mockups for potential developer interface [same location]
- Created a presentation of all the GUI mockups for other Customer Prep Team Members to use
- Modified SimpleBackend and SimpleEntity classes to return default values on all calls instead of throwing exceptions
- Wrote SimpleContent class in same style as the above two
Thanks for the specificity! --Chelsea
 (8%) 
 

Total: 13

3. Milestone Status: Obstacles Encountered

 
We had some miscommunication in terms of who were going to create the gui mockups in our team. I think Kevin mentioned in his journal last week that verbal communication should not be the sole means of communication (If this problem was recognized last week, why hasn't progress been made on it? If you find the answer to this question, you may find a deeper issue that may fix a number of problems you're seeing.). As for the coding, there seems to be a lot of waiting around because of the interdependent nature of our project. For example, we were waiting for the backend team to make progress so we can use the backend in our contents. I think the backedn team was waiting for the search team to get more work done, etc.
Just a thought--is this interdependency a milestone issue, or is a development issue? Perhaps the real problem is how the milestones have been designed and are being carried out (though it has manifested itself as causing technical problems). --Chelsea
 (8%) 
 
 
Most of the old code had to be thrown out (read all) due to design changes, so that was the biggest 'obstacle,' although it was more of clearing the obstacle than anything.

Oh, and Microsoft Visual Studio 2008 Professional Edition Beta 2 install time appears to be proportional to the length of its name. Seriously, 2 hours? You'd think it wouldn't be that bad. But it is. Then again, I think the first word in the name might explain the install time...
 (8%) 
 
 
  • Ran into a minor time crunch this week with a test and problem sets mashed together which meant I got less actual coding done than I would have liked. This will be a recurring problem for everyone in the group. --Kristin
  • I was a little less prepared for the presentation I was to give in the customer meeting than I would have liked. When I run out of things to say or am pressured to give a response, I typically blurt nonsensical phrases that might be more appropriate in a John Madden play-by-play. I was sorely tempted to end my presentation with "...and that's what that's all about."
  • I still have yet to figure out the quirky little working of the Team Foundations Explorer. For example, when I checked in my web forms for the authoring team, Felipe could see it in Source Control, but it would not show up in his Solutions Explorer, even after getting the latest version of the project. (I just thought of something; did you remember to check in the solution file?; i think that you might have to do that for it to show up for everyone else; perhaps I'm totally off base, but it's worth looking at -brad) (If you're still having problems with this, contact a TA so that we know to look into it.)

From our discussion in class the other day, it sounds like you were using a project without including it in the solution.  That causes problems in that the total system is a multi-project affair.  So it is very important to a) include all projects in the solution and b) to check the solution file itself in. -- SW

 (8%) 
 
 
-Uncertainty, at first, on what should be in the back-end and what should be in the front. Became an issue of speed, and needing it to be mostly in the back, but not wanting to "messy" the backend with a possibly changing search algorithm, as criteria and methods of search get added. Although I know what you are trying to say, this paragraph isn't particularly understandable.
 
-Dave got sick Tuesday-ish, and so was unable to work on his designated milestone before Wednesday.
 (8%) 
 
 
1. The main problem is I can't find how to call C# functions in javascript.
I read several articles about this but still can't invoke C# functions.
2. I use JQuery to make the boxes resizable, but it doesn't work.
 (8%) 
 
 
- Very, very unfortunately, my tablet broke on Tuesday and I had to reinstall EVERYTHING from the very beginning which was extremely time-consuming and unproductive. Since I can't commit from my machine, I was basically working on getting my tablet up to speed and it was not a fun process (who knew Vista would take almost 4 hours to install?) I didn't know it took that long to install, but I can certainly believe it, since Derek installed VS 2008 and it took over 2 hours...
 
- In addition, it seems to me now that my team members may not have been clear on their exact milestones and their deadlines. I think I need to be more clear on EXACTLY what I want to see and some sort of timeline of how I want to see it (Bingo.)
 (8%) 
 
 
I couldn't for the life of me get SQL Server to run on my tablet or my laptop. I wasted too much time with this.

Matt was sick and didn't tell anyone (or, specifically, neither me nor Brad, who are his two superiors). This is definitely something that should be taken care of now; communication breakdowns that large later in the semester will have much worse results.
 (8%) 
 
 
Lack of communication between team leaders and group members over the weekend led to a complete lack of productivity.
Is this your own personal milestone, stating that you were not productive at all, or is it pointing out that there was an issue with team communication? It would be really helpful to be slightly more detailed.
 (8%) 
 
 
  1. An unclear definition of milestones and group responsibilities. I feel this was a result of not really having a concrete project architecture down. Things definitely seem to have improved.
  2. Researching SQL Server was quite difficult given that most resources were about making SQL projects efficient rather than just getting started with SQL projects. Luckily I'm familiar with the SQL language, but the whole data access object is kind of confusing.
  3. Researching how other websites do search isn't really fruitful, I feel, because we still have no clue how their algorithms work. We only get an idea of how it is presented. Good point.
  4. We have a constantly expanding feature set. This needs to stop if we actually want to finish the project. Another good point. All these features may sound really cool, but you'll hate yourself if you agree to all of it and can't get it all done. Better to agree to less and surprise the customer when you manage to add a few extras on top of expectations. On that note, has anything been agreed to? I'm having trouble telling what has been promised to the customer; just something to think about. --Chelsea
 (8%) 
 
 
Let's see, I was out of town last weekend for a debriefing session about my trip this summer, so I was essentially unable to oversee what happened over the weekend. I looked Friday at the code that Aaron had created, and thought we had a reasonable shot at making serious progress over the weekend. I came back Sunday night, did a Get Latest Version, and was astonished to see that there had only been a couple of check-ins over the two days. I wasn't happy.
Of course some people had written a little bit of code that wasn't checked in, but most people sat around with excuses like they didn't know exactly what to do or they were waiting on the backend team. These are fair. I had blithely hoped the team leaders would step up and provide direction, but mostly it turns out they were confused about the overall direction too. Lesson: it might be nice if people were proative in finding the info or guidance they need to make forward progress (yes, yes it would), but it's more realistic to assume they'll work on other stuff that's pressing instead (this is very true).
Additionally, it turns out that many people had very little concept of the overall architecture design, and I'd been very remiss in not producing more concrete visualizations of it. I hope this was solved in an expedient manner as soon as I realized the problem (it pains me to think that I could have done that Saturday if I'd been in town, but instead it cost us a couple of very important work days) (Perhaps you should think on what will happen the next time you are out of town. How will you make sure that this doesn't happen again?). I had sort of thought people could work on their part without understandinng the entire system architecture (which in general I think is possible, especially on an existing system, but probably not here). We're not where we should be as far as understanding the system design, but we're getting a lot closer. Lesson: Sometimes when you think people understand, they don't (I know, cliche, obvious, and maybe a little John Madden). Corollary: What's clear to you isn't always clear to someone else, especially when you are using words to describe a visual notion. Corollory2: OneNote documents that you can read are likely unreadable to others, especially if you doddled them in a class and didn't redraw them after you finished the design. Lesson2: Specifying exactly how something will work often raises important questions, clarifies communication miscues, and makes people more comfortable to begin working on a system.
All very good points.
The biggest challenge of 410 is getting people to do what they know they should. In such a large group, it's way easier to point the finger at no one in particular, so problems slip through. It's always a bit of an eye-opener that tasks are simply left complete, but rest assured that it happens every year. You mention hoping for proactive team members--how can this be encouraged/required?
 (8%) 
 
 
- The Backend team was (understandably) behind everyone else, so there was no way to test out what we had done, or really do anything with it for that matter. Is it really okay for one team to be behind everyone else? There could have been stub code set out so you guys could at least do something with your time?
- It turns out that the code that we wrote using XML isn't very useful, and in we'd be making things harder on ourselves by using it.
 (8%) 
 
 
  1. I got very sick on Monday. Still recovering :(
  2. The milestone that Brad set out for us on Tuesday was very vague, so we didn't really know how far to go or what we really needed to accomplish at the time. At the time that we met, the initial diagram made out in OneNote that was supposed to clear all the design questions up did everything but that. It was illegible and not well organized.
  3. I'm really sorry about this late journal entry. Even if it doesn't get any credit I still want to get it up here at least. (It will get credit, you'll just lose points for lateness. Glad you still put it up, since it's helpful to everyone!) Between getting the milestone done on Friday, pre-arranged plans to see Mama Mia, a meeting on Saturday, managing and bringing together 3 people's screw dates on Saturday, and managing all my commitments, I literally haven't had a minute to spare up until now.
I can't really tell whether you had no technical issues, or if you have simply left them off. Make sure to specifically address your personal milestone in each of the milestone sections. --Chelsea
 (8%) 
 
 
- We didn't get milestones for the data management team until Monday, which made a Tuesday deadline difficult to meet
- I don't have a good understanding of how the database is organized -- I need to find out more about this for some of the further progress on my milestones
- I got sick on Wednesday, got worse Thursday afternoon/evening, and ended up losing the rest of the week to 104 deg fever, nausea, and dizziness; the defining factor of the week
 (8%) 
 

Total: 13

4. Milestone Status: Proposed Solutions

 
We have been better about communicating, but it's definitely something that still needs to be worked on. There will be more note taking in meetings to ensure that everyone is on the same page (Realistically, do you go back and read the meeting minutes for every meeting you attend? While it is important to keep records of what goes on and what decisions were made, there are ways to make the important information more accessible. You might consider using more task lists.). As for the interdependency issue, we are having a coding party on Sunday where whoever can make it (presumably most of us) to come to Symonds and code together. I think that will facilitate the communication between different teams. Also, it will foster a working environment and encourage people to do work! (A few thoughts: First, I personally love the coding parties because face-to-face communication really helps software development. Second, be careful that the coding party doesn't devolve into an unproductive mess. Third, while this might alleviate the interdependency problem a little bit, it isn't a final solution.)
Do you really have the time to wait for a coding party to resolve interdependencies?  -- SW
 (8%) 
 
 
For the old code being thrown out, that was the solution for the most part. We just need to make sure things are more planned out and cemented down before we begin coding a bunch. (This might be a good moment in time to consider how to design the parts of your system to make them less susceptible to these kinds of changes.)

For the install time, that was more of a joke than anything, but I guess they could make HxMerge not take 40 minutes. That would be cool.
 (8%) 
 
 
  • The problem lies primarily in the way I prioritize work for this class. Whereas other classes have clearly defined problem sets, do X Y Z, comp410 tends to be more vague and open ended. For this reason, I tend to leave 410 work to be done after all my other classes, which I now realize is a big mistake. I'm going to set aside time just for 410, so that when I'm pounding out code, it won't be at 3 in the morning. (no the prolem lies in the fact that it's vague and open-ended. this will change -brad) I'm going to guess that this isn't a unique problem. As you figure out how to solve this problem for yourself, be on the watch for others who may gain from your experience. --Chelsea
  • One of the main factors in this is the fact that I prepared my presentation mere hours before the meeting, and only finished the PowerPoint minutes before it started. I'm a pretty horrible improviser, and that probably won't change in the course of doing 410. I need time to methodically plan out my approach, and I'll be sure to prepare way in advance before giving a formal presentation again.
  • In learning how to utilize the Team Explorer, I should recognize that the rest of the team is doing the same, and may have had the same problem(s) I've experienced. I also haven't given the documentation much of an examination, which is definitely a possibility given the wealth of information in the comp410 resources site.

Excellent solutions.
 (8%) 
 
 
-Talked with Aaron and Brad, and decided to make the Search a back-end application with direct access to the database. It is still to be a seperate section than Aaron's team, so as to keep it cleaner, but allows the Searches to be direct and thus faster.

-Dave still got his work done by the "secondary" due date (Friday), so all is well. He seems to be feeling much beter now :)
 (8%) 
 
 
1. I will download some examples and try. Have you tried any other avenues, since looking at articles and "trying" already hasn't helped? Have you discussed this problem with teammates to see if they might have any solutions?

Yeah, we can talk about exactly what you want to do, and how it will work. In general, this can't be done exactly (the browser can't run c#), but you can make a server call using various Ajax techniques. -brad (and btw, kristin stole my color!!)

Brad is correct (after all, browsers aren't IDEs); I have a lot of experience with Web 2.0 techniques, so feel free to send me an email. When you get stuck at the research stage, always remember to pull in your people resources. No need to waste time floundering.
2. I am studying the JQuery documentations. I am considering whether the CSS has some effects on it. Maybe I can download the .css file from JQuery site and try again.

 (8%) 
 
 
- As far as the first milestone, all I think that would solve this issue is to go to Microsoft and fix their horrible code. (But do you really hate yourself that much?) I could also try the solution that Dr. Wong gave which is to Remote Desktop into the machine and try to shut it down cleanly instead of force a shutdown.
 
- For the second issue, I need to put a lot more effort into delegating the individual milestones. So far, I've been doing it  with both Kevin and Yuan in the meeting, but I think I need to have some exact idea of what I want before I go in and talk to them. Obviously I need to take their opinion into account, but I think my role as a team leader means some intense brainstorming before I lead them in discussion. (Good insight.)
 (8%) 
 
 
I'm abandoning the concept of individual databases for all. Instead, we'll all remote into Skynet3, which I already have working. In case you change your mind, I've wrestled with this problem on Linux and Mac boxes before (and lived to tell the tale...Windows probably won't kill me, either). If you need a personal DB instance, contact me and I'll help you get it running. --Chelsea

We should pump Matt full of drugs. Once he gets better, we should lock him in an ULPA clean room with a supply of irradiated food, a computer, and a webcam so we can communicate with him via teleconference. If he does manage to get sick again, he should notify Brad and rely on trickle-down notification, not trickle-up. (Haha. If only you could lock up team members. Of course it could get interesting explaining it to other people on campus why you've got jail bars in Symmonds II... But another way to look at this is that while he should have told others, if he's being relied on to do something, others should be in contact with him)
 (8%) 
 
 
Team leaders need to be in closer contact with their team members and keep them updated with what is happening. I guess I should have taken the initiative and asked Aaron for something to do as well. (Yep. Remember that they've essentially volunteered to have more work and more responsibility. However, all of you are responsible for the project. If someone doesn't do their job, can you afford to waste the time hoping that they'll get back on track?)
 (8%) 
 
 
  1. I feel with the more concrete project architecture Brad has a better idea of how to assign milestone work. I think understanding how the architecture will work are just teething problems until we start writing some (stub) code. Relating to which, we should start writing stub code (from a search/navigation team perspective).
  2. MSDN's page on the SqlDataSource object solved many of my problems. I still feel that it is up to the backend team to come up with a standard of how to access data rather than every group doing their own research on the subject. This might be a good call; does the class agree?
  3. The Google meeting gave us a good perspective on how algorithms actually work. I think we should be researching algorithms rather than how websites present it, and it seems that Dave did some good work with his milestones. On a personal front, I need to read all the research data (something I haven't been able to do because of other commitments).
  4. Brad brought it up at the last customer meeting. I think we need to just bite the bullet and write down a feature set. This will allow us to progress concretely rather than abstractly. Ah, this answers my last question. Hopefully this list will make it online soon.
 (8%) 
 
 
I will continue to assign SMART milestones, check-in with people during the week about their progress, and keep a watchful eye on what's being done.
I will also continue to try to facilitate the documentation of design decisions in the most forthright way. Part of this is just continuing to diagram to make the most of visual representation to communicate.
As a part of this, I've decided to add another title to myself "The Sharepoint Aggregator". Essentially I want to watch what goes into sharepoint (and what doesn't and then beg and plead for that), and organize, redact, annd regurgitate it in an easily perusable form. This should go a long way in disseminating important information. At the same time, it may very well consume my life. Yes, it very well could. Be wary of assigning too many responsibilities to yourself, because, as you have seen, people will start to rely on you to do that and things will get very out of whack when you can't keep up with it all. Sharepoint is a tool for the entire class, and the volume of both useful and unuseful stuff posted on it could swamp someone with many less responsibilities than you. Maybe this is another task that can be delegated out. Find the OCD members of the class and see who would be interested in keeping the part of the site they use readable. I feel that problems with the content of documents will resolve themselves, but it never hurts to keep the site organized.
 (8%) 
 
 
Respectively from above:
- While we're waiting for the Backend to have something for us to test on, all we can really do is try and write things as if they were using the Backend. This is okay, but there's only so much you can do until you just have to run it to see if anything actually works. Hopefully they have something by this coming Tuesday.
- This isn't really a problem - writing the code served as more of an exercise, and we're not afraid of throwing it away if we need to. Consider that it's probably not so great to be throwing away code at this stage of the game. You probably shouldn't take it so lightly at this point and instead should look at how you can stop this from happening again.
 (8%) 
 
 
  1. I need to get more rest and stop coughing out my lungs. Tissues and lozenges are my saviors right now.
  2. The next milestone is far more adventurous, but far better written as well. Also, the design diagram has since been cleared up and implemented in Visio(?). Much nicer. We don't think that we're necessarily going to abide strictly by it, but it does give a much better idea as to the architecture of the project. I can't quite tell what role this diagram is supposed to play, if this is the case. Does the whole class see it as a transient document? (This is more a remark for discussion than a journal-specific comment)
  3. The two biggest things I want to see are: Milestone reports on Tuesday when the milestones are due (yes, since they do get graded!), and new milestones issued earlier than Friday. That would seriously help by not having to write up two things on the same day, as well as allowing for more time to get work done on the milestones. Right now these are very ambitious milestones, especially for the little time that we have. The other stuff is just unfortunate timing and my own problem to manage everything.
 (8%) 
 
 
- Having milestones timed so there is at least a full week to work on them should be a rarely-excepted minimum; as these were the first milestones, missteps are understandable if not desired
- For the database, I need to ask Aaron more questions until I understand what I need to.
- Also and particularly, I think we should create some object that handles all calls to the database - those are what I'm confused about anyway. That way all these various SimpleABC classes can call a database control object, which then encapsulates the actual database calls. It only has to be solved once, and if we change the database, then there are a lot less points to be fixed. Every time someone mentions encapsulation in an upper-division course, a COMP210 professor gets his wings!
- Not much I can do to fix getting sick, aside from getting a new flu shot once I get better.
 (8%) 
 

Total: 13

5. Development Process: What seems to be working and why?

 
Both my customer prep team and content view team have set up regular meeting times to meet twice a week. I find it to be extremely useful to meet often so that we make sure we are on par with the goals we have set up for the week and clear up any misunderstanding. (Just make sure that you aren't meeting too often. Sometimes it can be detrimental to have many meeting times in which very little gets accomplished.) Assigning specific tasks to team members is good, though I guess it's too early to have a good amount of work for us to do as of now (You're 5 weeks into the semester. You're not going to be able to use that reason much longer.).
 (8%) 
 
 
For my group (content team) things appear to be going fine. 2 meetings a week, while occasionally annoying (How are they "annoying"? Is there a way to make them better?), seem to be working well.

As an overall group, I think we need more full team meetings, like the one coming up on Sunday for more cross-team communication and try to get some progress going.
Are class meetings not enough, or could they be made more effective? --Chelsea
 (8%) 
 
 
  • Despite whatever misgivings I had about my presentation at the customer meeting, it felt great to talk about my ideas to the rest of the group. Before this, I had never spoken a word at a customer meeting, partially because of positioning, partially because the customer seemed to be directing his questions toward Brad. I know a number of other people as well who spoke more extensively at this customer meeting than before, and the discussion felt much livelier because of it. (yeah you did a great job, and I think your presentation was excellent. -brad)
  • We had our first major absence due to illness (Matt), but even though he was the team leader of the customer prep team and a significant influence, we still got our presentations done without any major screwup. This is hopefully a good sign as to having a group who understands each other's work well enough to carry on with a fallen member.
 (8%) 
 
 
-We finaly have an architecture that is not "big black boxes" (or at least, smaller ones). Although not perfect, it's as much as we need for progress, and will develop with us (Good, you've finally said "Our design is good enough. Lets get something working.").
 (8%) 
 
 
Now we have nice architecture design documents so everyone can understand the architecture of the project and the part that they are responsible for.
What about team dynamics? A lot has gone on in the last week.
 (8%) 
 
 
- We've had some very productive meetings of late. Not just the customer meeting where we hashed out a little more the idea of tags and how exactly they will connect content, trust and users, but also our team leader meetings are becoming quicker, more to the point and more rewarding.
 
- The team breakdown is working well and we're getting better at understanding exactly where the separations lie and exactly what we're responsible for. There's still a little work in this area, but we're getting very close.
 (8%) 
 
 
The teams are communicating together better (although perhaps inter-team communication is not, as detailed above?), and many issues have been resolved. I feel like we're pushing and pushing a boulder that's about to start rolling downhill once we get our skeleton code working. I hope that we get some movement by this milestone.
 (8%) 
 
 
Meetings are key. (How are meetings working? Pointing out something isn't nearly as important as understanding why it's important.)
By the fifth week, we hoped that everyone would realize that three words just won't cut it in any section of the journal. Why are they key? Are they still key if you have a meeting every day of the week and get nothing accomplished at any of them?
 (8%) 
 
 
  • The teams finally seem to be kicking in. Each group is researching on its own which means that everyone has something to do, rather than some people researching and others sitting around waiting.
  • I expect the Advanced Research team to be quite useful in this project. I've talked to Derek informally a bit and it seems like once we are ready to work on views, the research required for interactive displays will be ready to go.
  • Sharepoint is way more organized. Luckily we haven't needed to use the discussion board or Owlspace's forum software.
  • It seems that OneNote 2007 has an integration feature with Sharepoint. This should be useful for teams to share collaborative content.
  • The tablets allow us to visually represent information better (though the Visio diagram shows that sometimes the non-tablet programs are much, much better).
  • A "coding party" has been planned for the weekend.
 (8%) 
 
 
Clearly a lot of this is covered in the above, but I'll say a bit more.
In general the teams are coming together in a more effective way. I'm happy with the progress made by the Advanced Research Group, finding out detials about things like Silverlight and jQuery which will save us a ton of time later on.
Likewise, the stream of feedback from people like Rae, Felipe, Dave and others is doing a lot to streamline our process (as well as point out the holes in my managerial ability). This needs to continue, as I'm not magically going to become an incredible manager overnight. And even if you did, you wouldn't be God. You'd still need the feedback to see what everyone else was thinking.
The customer team did a good job with the last meeting, and I hope they are moving towards getting a good balance between placating customer concerns and driving development forward.
The gung-ho attitude of the content team, driven mostly by Corey, will soon be a positive force I believe, although right now it's a mixed bag I'd say. (Why?)
 (8%) 
 
 
- I think that my team has good chemistry and we work well together, but to get stuff done we need to try and work together at the same time.
- The organizational structure that we have is good, but I get the impression that not much happened last week. Whose fault is this? I think my team met the expectations (despite them being low - there's not much you can do with text content), so that's why I've raised the bar this week.
 (8%) 
 
 
The small groups really seems to help our efficiency, and I feel like that there is a lot of work getting done this week. This is much improved from the weekend before - and the stronger direction in goals really helps as well.
 (8%) 
 
 
There aren't any new developments here I can think of to mention - I have been gone most of the week though. In general I don't feel really pleased with how everything is going as a whole right now. I'll try to go into the two big problems below.
 (8%) 
 

Total: 13

6. Development Process:  What does not seem to be working and why?

 
At times I feel that forced division in work (in an attempt to give people same amount of work more or less) sometimes doesn't make sense. For example, Derek is in charge of implementing video content in silverlight and when we tried to break it up, it seemed unreasonable to do so since the whole component should be implemented as a whole.
 (8%) 
 
 
We need to nail down better team communication and the architecture and get to work. This should pretty much be done now (in light of recent progress,) but we really need to start chugging at the code.

These are huge problems. Maybe they will become less insurmountable if you pick out more specific issues that are cropping up.
 (8%) 
 
 
  • Matt's illness hindered the customer relations aspect of our group in that the customer received no word as to where to meet and what the topics were on the agenda.
  • It seemed like a lot of groups were having problems with vague or undefined milestones.
 (8%) 
 
 
-We were given a very vage milestone this last time, and I responded with vage reseach-oriented personal milestones. This doesn't seem to be smart, as te best way to learn is trial - not pure research. Also, it means we haven't been very productive to the actual result, though we know a bit more about what we are doing. Be sure that as "research" comes up in the future, you keep this lesson in mind. Good insight!
 
-The customer seems to keep throwing out what I would designate as "fluff", and want us to take time out to research and prepare presentation-like stuff for them. He has questions and concerns regaurding things I don't feel are pressing at the moment, and thus takes time away from the hard developement process. We as a group als seem to be wasting time on researching "fluff" features. At the same time, it is good to hear such ideas so that we can keep them in mind for making the project extensible for such, we just need to be careful with how much time we spend on such. Brad did a good job of trying to head this off and confronting the customer about it. (It's good that you're keeping yourselves focused. However, remember that you're doing a project for the customer. You may not always be able to just say "No" to what he wants.)
 (8%) 
 
 
1. The customer complained about there's no documents/agenda posted before the meeting. After the meeting I found Matt posted a private document about objectives in the Sharepoint, but it seemed no one noticed it.  That's one thing that definitely has to be learned in this class: how to organize things like documents so they can actually be found at a later date.
2. We have a profile creation task in the previous milestone, but the new milestone doesn't mention it.
 (8%) 
 
 
- Class time has been wasted quite a bit with discussions that dont' really involve everyone and are sometimes way off topic. (What happened to the time tsar?) We also lost a lot of big group time with the new tablets and the Google reps, but I guess that was sorta to be expected.
 
- We've had a really hard time getting started. It seems that everyone is waiting for someone else to make the first push (except Aaron, he's definitely making great progress in the back end) or waiting for some sort of "ah-ha!" moment where it all clicks together and we can all start coding.
 
- The repository is painful to use. We've had so many issues that I no longer have any clue if something's actually committed or if I actually have the latest version of something. It seems issues with the solution file being out of date versus your projects being out of date don't really correlate in the source control and it's very annoying. According to Patrick, trying to use SVN with VS is 100x more painful than using the TFS repository, so consider yourself lucky :-P
 (8%) 
 
 
The organization for the customer meeting seemed lax. I think this might be because of Matt's illness, but there should be someone to take over when Matt goes down. I think that not all of us really need to keep going to these meetings; at least, now that we all have a fairly good knowledge of the system, some of our time might be better spend doing coding (Derek agrees with you). Perhaps I could multitask and bring my tablet to the meeting.... (But would that look good to the customer, if you are clearly coding and not paying attention to the meeting?)

We really need more code. I haven't seen much from anyone (including myself), so I'm not sure what's going on with all the rest of the teams as much as I'd like.
 (8%) 
 
 
No meetings hurt productivity. (How so? Is there anyway to mitigate the "hurt"?)
Again, would no meetings hurt productivity if absolutely nothing got accomplished in the meeting (as often happens?). Please don't take your cues from John Madden and seriously think out what problems there might be.
 (8%) 
 
 
  1. I've heard a few people voice concerns about the way customer preparation meeting is organized. Many people were still lost in the meeting because they didn't know what was going on.
  2. The customer was unhappy that information about the agenda and the meeting room were still not up, despite him asking for this information last time.
  3. Matt seems to have caught something bad. This is fairly unfortunate because he is a team leader and because he is the head of the customer presentation team, which means that we had to quickly switch to a contingency plan 2 hours before the customer prep meeting. It is also unfortunate that he didn't let everyone know.
  4. A lot of people had conflicting appointments during the Thursday meeting. I sensed the customer getting annoyed as people didn't come/left in the middle. See some of your teammates' journals. Perhaps it would be better for a select number of people to attend the meeting than having the entire class there?
  5. The customer has indicated that the meeting may be a little too broad and it may be a good idea to meet with each group personally.
  6. We use email or physical interaction to conduct discussion between members of a team. This isn't a brilliantly organized way, or one in which every thought can be recorded.
  7. For the first half of the week, it seemed that most people didn't know what they were doing. Although we can get away with doing this now (barely), this will become a major problem if we don't tighten up in the future.
  8. There is no information on when the above coding party will be held and I, for one, have forgotten.
 (8%) 
 
 
Again, much of this was covered above.
I'm not very satisfied with the mulling about the issue of defining search exactly.
Data managment, while doing a good job overall, is very critical to the overall project status, and we need to fix the great wait on them very rapidly. On the same note, while I've been very tolerant and even encouraging of this, at some point Aaron will have to transition away from hero-coder mode to get his team members into real productive coding on the backend. (Then again, last week, everyone was saying that what Aaron is doing is one or two person job...) Btw, I would like to get a status report from Matt, and I'm not terribly excited that he didn't tell us more about his illness so we could find people to take over his responsibilities (on the other hand, he's had a rough time of it it seems, so there's quite a bit of grace on my part) (I understand that he was sick, and I do hope that he feels better, but it doesn't take a lot to fire off a single email to the group stating his situation. If he was a team leader in the workplace and failed to help plan or show up for a meeting he was responsible for, and had not let anyone know, he probably wouldn't get much grace.).
It seems from reading the other journals and looking at code that the content team's rabid desire to see code written (which in two weeks will be the best thing in the world) led to some code that was not well conceived or executed, and pretty much has to get tossed.
Related to this issue, we need to set consistent standards for testing and other good coding practices. I'll have to investigate a bit on the best ways to do this in C#, but I can think of a number of principals (which are enumerated below) that I need to disseminate and enforce.
 (8%) 
 
 
- See above about not much getting done this week.
- Also, we're not very unified on our approach to the project, and everyone is sort of doing something on their own. At some point (very soon!) we need to have our code integrated and working together. This is exactly a problem we wanted to avoid from last year!
It's good to recognize that a pattern may be repeating itself here. --Chelsea
 (8%) 
 
 
As a counterpoint to what I just said, small groups are great in that we get to bond and cherish group coding time and whatnot, but Matt's been sick this week as well and um...that's really bad for the backend team. I don't know if there's much else they can do other than pick up the slack, since recruiting another team member would probably just cause for lost time.
Sometimes I just feel that things are working slowly in terms of management right now. Not to discount, of course, the sheer amount of work that there is to be managed. It's just that the late milestone reports, the poor organization with regards to the HP rep presentation, and the late team milestones make for a less-than-well-oiled machine to put it nicely. I would really like to see this change for next week.
 (8%) 
 
 
There are two issues I'm hearing from others and that I experienced myself on both sides. Those are documentation and communication, and really they are the same thing. By documentation, I mean things that are being said, verbally agreed, "come to an understanding," etc., but aren't written down in a very specific, clear manner. By communication, I mean decisions, etc., that aren't being distributed to the necessary people. In some cases it's a lack of distribution, and in some cases a lack of understanding of who needs to know. I have been guilty of both of these things this week and I have also seen them on multiple levels throughout the hierarchy.
I'm a huge fan of to-do lists on Sharepoint; they worked well for us last year. Another method can work just as well, but I recommend you see this one through.
 (8%) 
 

Total: 13

7. Development Process: Proposals for change--issues addressed and why the change will help.

 
I think that this issue will be resolve itself soon as we have more work to do (This is a reactive solution. The proactive solution would be to be looking ahead to find sections of the project that can be worked on in advance. Perhaps you could use dummy modules to allow components to be developed independently. This is just one way to approach this kind of problem.). It definitely takes practices to estimate the size of tasks that can be assigned to each team member. In the future, we should definitely talk about how much time it took each of us to do our parts so that it can be divided pretty fairly. I also think that in the future there needs to be more communication between different teams (To what end? How will you be able to tell when you successfully communicating?).
While pragmatic concerns are important (ie, how much each group member can contribute), you must be sure to factor customer deadlines into the equation. Has this concern cropped up in milestone assignment?
 (8%) 
 
 
We've mostly taking care of the architecture at this point, so that should be good. For team communication, some appear to be doing well, but we really need to make sure everyone is on the same page.

Oh, and I don't think we need everyone at the customer meetings, most people just end up twiddling their thumbs for two hours. Also, on this subject, I've got a nagging feeling that they presentation team is getting totally wrecked in terms of workload, since they have to keep coming up with presentations every week. We might want to consider rotating the team or dedicating a person to just presentations to clear up some time. (Great insight and ideas! The less time that can be considered "wasted" in meetings the better. Rotating people or assigning the task to a single individual are both great solutions to the work problem. Make sure others hear your ideas!) Check out last year's journals--I don't think we had single customer meeting (until the final presentation) that everyone attended.

Oh, and people should start using the R&D team for stuff they want looked into, but this should pick up as people start working on their projects and have less time to play around with stuff (Perhaps this team should be re-evaluated. Either there isn't as much use for it as there seemed to be or it needs to have a more concrete purpose that fits better into how the rest of the teams operate.).
Remember that everyone else is up to their necks fighting fires to get to short-term deadlines.  Do you think they are really taking the time to do longer range planning?  The R&D team needs to be pro-active and actively look for those long-range needs in the other groups. -- SW
 (8%) 
 
 
  • I actually only found out about Matt's illness through word of mouth. I think the problem could have been easily avoided had he sent out an email to the entire team as to his condition, and we would've have been able to pick up some of his responsibilities. (In addition, think about the fact that this resulted in a lack of communication with the customer. Perhaps there should be better defined lines of communication with the customer. I suggest more usage of the Customer Resource Site.)
  • Felipe avoided this problem by posting task lists that disseminated team milestones into individual milestones for everyone on the Authoring team. This of course puts the burden on team leaders to delegate tasks (This is what team leaders are for. They either have more work than normal team members or are mainly responsible for organization and planning instead of coding.), but it also allows for some oversight into how the team as a whole is functioning.

Don't be passive and simply wait for the team leader to hand out tasking assignments.   You know what you are working on better than anyone, so be pro-active and help your team leader define those tasks. -- SW

 (8%) 
 
 
-The next milestone is up, and has much more "hard" milestone tasks.(Pat yourselves on the back for learning a critical part of what it takes to work together effectively.)
 
-On the note of milestones, as Corey mentioned in class, it would be helpful to have new milestones up before or at least by the roll-over time. Even though we didn't really have as much for the past milestone as we would have likes, as a full group, having the next milestone would allow us to have an idea of what is comming. That way, in the future, if a team gets ahead, they can get started on the next milstone. Yes!
 
What does this imply about team leader responsibilities?
-I heard mentioned setting down a features list, of things we absolutely need and should consider priority. I feel actually establishing this list will allow us and the customer to draw the line between highy important and fluff. With such a list, we will be less likely to waste time on unecessary research and planning. (Great idea! This not only allows you to focus your efforts, remember everything that you want to consider, and give you an overview of the project goals in writing, it will also allow you to have proof for your customer that you understand what he's asking for. By keeping the customer on the same page as yourselves you can avoid misunderstandings in the future.)
 (8%) 
 
 
1. We can post the documents in the customer site instead of private folder in our site. (Make sure that you send an e-mail to the customer whenever you post something on the customer resource site that you want him to see.)
2. Plan well before we start coding. (How does this address the problem? Also this is a blanket goal statement that doesn't have any insight as to how to accomplish it. Perhaps the milestones were written with less priority on the "profile creation task". Perhaps the task was forgotten from the previous week. It's important to know which one it is because both have important implications as to the state of the project.)
 (8%) 
 
 
- I really don't know what we should do with classtime. 50 minutes is too short to really get any discussion or work going, but it's also too long to just sit around. One of the things that we could possibly do is open up the table for any questions/concerns/ideas/presentations/progress reports/etc that people would like to share. I don't know if this would be enough to fill up the time, but it could help us all get on the same page of what everyone else is doing. We could also have the different teams talk about what they're doing/what they've done and maybe. It's a very tricky issue. (One way to think about the problem is "What can we talk about for very short periods of time three times a week that would benefit the class?" One thing is certain: usage for this time should be planned out in advance.)
 
- I think that now that we have good milestones and a codebase to work with, that we'll get moving better. Also, the coding party this Sunday should really help us get moving. I think it's a good idea to have these often. (Especially since Schlumberger will be sponsoring even more pizza for you guys now.) Maybe just one or two teams, or even just one or two people, but it forces you to be productive and it allows for the bouncing of ideas. (While this is all probably true, is there any way to ensure that everyone will get started and make progress?)
 
- I think we just need to play around with TFC to see exactly how Microsoft misdesigned their repository system and how to make it work right. (You might try looking at the tutorials posted on the 410 Resource Site)
 (8%) 
 
 
In general, I think we need to re-evaluate what we want to get our of the customer meetings. (And once you know what you want out of the meetings, you should write it down and go back to it for each customer meeting)

Hopefully, a big coding push this weekend will get things done. (And outside of hope, what can be done to make sure more coding work happens?) 
Is your problem the number of lines of code, or a lack of framework that you can drop things into? It seems like a semantic difference, but answering this question may help solve your problem by focusing your efforts.
 (8%) 
 
 
People need to be more responsive (What do you mean by this? You need to be more detailed.). Matt got sick this week and not too many people knew. This is a problem; not a solution. How would you go about solving the communication breakdown that occurred when Matt got sick and no one knew?
 (8%) 
 
 
  1. We need to have team members more involved in customer presentation. Currently, the customer presentation team comprises of one person from each group. However, there still seems to be a disconnect between the groups and the discussion at meetings. I feel every customer presentation rep must actively ask his team at the end of the week what is to be presented at the customer prep meeting. Also, customer presentation stuff should be done the day BEFORE the meeting, rather than 2 hours before it. The team leader (Matt) must take a more active role in ensuring this.
  2. Again, Matt's sickness threw everyone off but he had promised to have an agenda up last week, so I expect it will be up next week when he is hopefully back to full health.
  3. As someone else suggested, we need to get him back to full health asap... I will not elaborate on any methods because I am a computer scientist.
  4. Conflicting appointments are unavoidable. I think any absences should be noted in the agenda, which will hopefully be posted. To this end, anyone who cannot make it to the meeting should let everyone know, especially the customer presentation team.
  5. Each group can contact the customer directly and set up meetings. I don't know if this would defeat the purpose of a combined customer meeting, though. (Yes, and remember that the customer only has limited time, so he won't like having multiple meetings rehashing the same things any more than the class does.) He seemed particularly interested in the work of the Search/Navigation team so at least that team should get in touch with him. Perhaps the class as a whole should consider why the customer made this request before jumping in to fulfill it. Also, coordination is important when contacting the customer--teams independently emailing him probably isn't the way to go.
  6. Owlspace forum? Sharepoint is still clunky and browser-dependent as Rae's accidental deletion of all minutes showed. Forums are not a good repository for documents like minutes, even if Sharepoint leaves room for accidental deletion. By the same token, I think the method of editing items to provide feedback is ridiculous. Not only do you have to either actively look at each journal or have a million alerts in your mailbox, but having actual discussion that is documented is impossible on Sharepoint whilst keeping yourself alive. -Sohum Granted. But as you've noted, there's a learning curve associated with this technology. It will probably be more realistic time-wise to come up with an appropriate Sharepoint-oriented workflow than growing your own solution. I feel there are other, better content management systems/technology than the version of Sharepoint we have. Considering that Sharepoint isn't free, either, I feel that an issue we should really look at is choosing a CMS that isn't broken to begin with.
  7. Brad has posted milestones for this week, though we only have the weekend to work on it. He has promised to have them up earlier next week, though.
  8. We should appoint someone to add events to the calendar (we had a google calendar for the 415 class last year, which was used for about a week). Perhaps the time czar could take this up as an additional responsibility. This is better than deciding at every meeting who should do it, or just forgetting to do it altogether.
 (8%) 
 
 
Search needs to define itself rapidly. Additionally, we need to evaluate existing solutions like RFD and make decisions about there usage very quickly. This will be particularly important if we delay much longer in deciding what we mean by a lot of things.
I need to encourage Aaron to split up his work fairly soon (this is a little tough since Matt's out of commission).

I need to create some simple, clear, and concise materials describing how we'll create good coding standards.
Among the things I'd like to see:

  • A definition of what types of documentation should be present in all main-line code (i.e. function headers, in code documentation, architecture descriptions, etc.)
  • Emphasis to prevent code duplication. (Although, with 13 people, there is very likely going to be at least some duplicated code.)
  • A definition of what will be expected as far as unit testing goes, and some help in setting up these unit tests, as well as a decision about how we'll do code coverage analysis.
  • Some guidelines about testing your own code that I've found to be a best practice: stepping through code paths, for instance.
  • The code review process.
  • Using asserts to catch your bugs.
  • Designing interfaces which are harder to misuse.

(Note that many of the above are based on "Writing Solid Code" by Steve Maguire, which is an excellent, albiet quite dated book)

 (8%) 
 
 
- I've given my team a lot more difficult of a milestone this week, so that should make us more useful. However, the onus is on Brad to make sure forward progress is made for the week, and it's on the team leaders to put that into motion. I can't speak for the other people on this one. Don't just put everything on Brad's shoulders. You are a team leader; don't just sit back and hope that he gives you something to put into motion. I'm glad to see you've taken some action to try to rectify the problems from last week. Keep an eye on how the difficulty of the milestone affects productivity.
- We need a working backend before we can even hope to have our code work together, so that needs to get done pronto. But that won't solve all of our problems. We should probably try and have more team leader meetings, or joint meetings with other teams.
 (8%) 
 
 
It's as much our own fault too, if nobody reminded Brad about these things. Myself included. Next week if something is amiss we should be proactive in identifying these sorts of problems and rectifying them as soon as possible. Before the problems occur again, how do you think you can fix the problems that occurred this week?
The difficult part of this section is describing how you should implement your solution of being proactive and fixing problems. What setup can make sure this happens? These are the kinds of responses we'd like to see here.
 (8%) 
 
 
The solution to this, perhaps, are "memos," which were mentioned before. These could be emails, or task lists, or both, or something else, but something where verbal communications are backed up (maybe beforehand) by specific written words. The important thing is that there is a persistent record, and it can be referred to by whomever needs it.

I think there should also be more communications from team leaders to team members (some teams might already be doing this - I don't know). I think it will help keep people from getting lost or unsure of what they are supposed to be doing. What about the other way around? Team leads aren't mind readers; is there some process that can open up communication in both directions?

Lastly, for the Customer Meeting team, I am going to spread out the usual work among all the team members, so that if one of us is sick there will be less problem. This will also mean that there will need to be fewer GUI mockups for meetings, since that by far takes up most of our man hours. This really needs to change, and it makes sense since our meetings should start presenting what is going on with our progress on the project rather than lots of GUI ideas.
 (8%) 
 

Total: 13

8. Peer review:  Positive or negative feedback for other class members

 
Even though he was sick, Matt did his best to help us prepare for the presentation as well as do his part at home. Yay for dedicated team leaders!
 (13%) 
 
 
-Brad did a good job with the customer at the meeting. He confronted the customer when he saw a problem (namely when the customer asked for a lot of stuff for the next meeting that is off the "development path".)
 
-The first Architecture design Brad made was unreadable, but he did correct such and make a nice, neat one for us. It was still really good how fast he pulled that out for us when we asked it of him. I think we're all beginning to understand how very important it is to write down what we are thinking, as it is eas for different people to have different thoughts/interpretations of the same thing. And that is a very good thing to understand; it's a lot more difficult to say "but I thought you meant this" when it is clearly written down differently...
 
-Brad did have a "soft" milestone for us last time, using such phrases as "Begin to think about..." and "Get a beter...". I already confronted him about such though, and the new milestones do not contain any such "soft" tasks. Indeed, the task is very ambitious and direct, so we have a lot to do this weekend...@.@ Still, sooner is beter in the future?
 
-I'm sorry if it sounds like I'm fussing at Brad too much, I really think he's are doing a pretty good job, given the situation. And he's done great at taking what we say, and learning from it. This is a new thing for all of us, and he makes mistakes (as do we all, myself included...Case in point, Meeting document list?), but he's willing to learn from them and make it beter the next time. That can be a really tough thing to do, but it seems like he's doing so.
 
-The presentation team (from what I saw) did a good job functioning and being prepared, even though their leader (Matt) seems to be sick.
 (13%) 
 
 
I'm very glad that Aaron is taking the first step to getting our codebase populated. None of us really had an idea of how to get started or how to get our code together in the repository, but Aaron's done a great job about it. (The repository in itself really sucks, but Aaron's work has got us off the ground)
There's always someone who manages to figure out TFS. Maybe some sort of Aaron tutorial is in order to get everyone else up to speed? (I may have had a small code-devouring issue that temporarily derailed a coding party for an hour the day before a customer meeting last year...it's always safer to have a few TFS experts to fix those things) --Chelsea
 (13%) 
 
 
I'll be better able to give advice after this week; I think that I'll be able to see how all the other teams are working by what they check in to the repository this weekend.
 (13%) 
 
 
Some of this has been said above, but I'd like to mention it again:
thanks to rae, felipe, derek, dave, and other for helpful suggestions about improving our managment communications, defining things better and becoming more efficient.
Sohum did an excellent job with the customer meeting, as did Kevin.
Matt, get well soon, and try to keep us informed a bit sooner about your troubles so we can plan.
 (13%) 
 
 
I was a little disappointed that Derek didn't have at least the video player project setup by our Friday meeting, since Jeeyun and I need that to do anything. I understand that it took a lot longer than he expected to install VS 2008, but I would have liked to see him start earlier than Thursday night or Friday.
 (13%) 
 
 
Brad: I don't mean to chew you out, as I already did more than enough of that. Sorry! This is just a reminder that we do need to deal with every meeting, company rep or otherwise, with the same level of respect and preparation.
Matt: Get better!
 (13%) 
 
 
I really want to thank Sohum, Jee Yun, and Kevin for pulling together and doing a great job on the meeting when I was sick.
 (13%) 
 

Total: 8

9. Additional Comments

 
My brother got out of the hospital today. Thanks for your concerns/kind words. =)
You're definitely pointing out key problems. You will get more out of the journals if you focus a little more on the solutions. -- Barnaby
Glad he's doing better!
 (8%) 
 
 
I like the fact that you're coming up with solutions to the problems you're seeing. Even if they don't get used, it keeps both you and the rest of the team on track. -- Barnaby
I agree, you've put forth some great ideas (especially in regards to the secondary teams' functions).
 (8%) 
 
 
notepad saved this journal
Huzzah Notepad! -- Barnaby
 (8%) 
 
 
-Barnaby, you confused me! I asked how to delete a folder within a list, and the process you described made it seem like it would do just that. But then I go and do what you said, and it deletes the whole library instead of just the folder...Note for the future, that deletes the whole library. Bad idea! (D'Oh! I could've sworn I've done it that way before... My bad. --Barnaby)
 
-On the same note, again, I'm sorry guys! I really am! Next time, I won't do things I'm uncertain of at 3am...@.@
If I'm not mistaken, there's a more intuitive way to do Sharepoint organizational tasks. You can use IE and use "Explorer View". This presents the site like a file system and lets you modify it a la Windows Explorer. Hopefully this process will work better for you.
 (8%) 
 
 
A little more thought into what could be better and how to get there is what we're looking for.
A bit sparse this week...
 (8%) 
 
 
Good Journal. --Barnaby
Agreed. Well thought out. --Kristin
Ditto.
 (8%) 
 
 
Pretty good journal. --Barnaby
 (8%) 
 
 
From your journal, one might assume that there wasn't that much that happened this week (which contradicts what some of the other journals are saying). Regardless of whether or not this is the case, you can always have some opinions and do some analysis of the situation. --Barnaby
Please think through your journals and put more than just cursory sentences in each field. It helps everyone to see every different opinion of what is going on each week. --Kristin
I can't tell if you're out of time or trying to keep your journal focused...but you'll get more points if you're late and thorough than if you're timely and flip. --Chelsea
 (8%) 
 
 
I am a little concerned with Brad's idea of outsourcing visual design to someone else. I feel this will not contribute positively to the learning of such skills to those members of the team who are interested in it as a career opportunity (I, for one, am). Of course, the visual design makes a big difference in the long-run, but one must not forget that this is a class and we are all supposed to learn new things. For example, Brad in his spiel for project manager mentioned that he hadn't done a PM role before and wanted to get some experience in it for the future. In the same way, there may be members in the team (I feel I fit into this category) that are interested in UI design and need that sort of experience for the future. Not everyone in this class is going to go into a software company to go into the engineering department. There are others who are interested in other areas of web application development who may be using this class to fill the void caused by the lack of a real UI design class at Rice.

Secondly, I think asking a visual designer to write any actual code would be many steps in the wrong direction. Asking someone to design the interface is acceptable (though very reproachfully, for me) but I think transforming a design into the actual implementation is something that we should do and that we have the qualified people to do. (I agree, but this could just be because I, too, am interested in UI design and was part of the view team last year.) Outsourcing that facet of the project would be a wrong move, in my opinion.

I understand that we are trying to deliver a professional product, but by the same token one must realize that if the customer wanted the perfect product, he would have given the project to a real company, with monetary compensation and a much longer timeline.

On another note, I submitted another journal late. However, today was a very busy day so I couldn't really have done any better.
Late; -5pts. --Kristin
I see where you're coming from with your UI interest, and I also understand the class's desire to present an attractive product. Perhaps there's a hybrid solution--doing the work yourself and getting professional guidance or mentorship, for example. Rice has graphics and design experts on staff; you could consider running your ideas past them. I believe Felipe was in contact with them this summer for O-week design; maybe he can put the class in contact? Good journal.
 (8%) 
 
 

Sorry about the lateness of this journal. I was busy doing something else, and it's taken a lot longer to write this than I'd expected (I think this may set records for length).

It's alright, but we still have to take off 5pts. --Kristin

Good journal. You're obviously internalizing what's going on in the class.
 (8%) 
 
 
I apologize for submitting this journal so late. I didn't even remember it until just now.
Try to think of some more solutions that you can implement. Also, last year, some people set cell phone alarms for every Friday at 11pm. Yes, it might be a pain to write it then, but you also won't lose 20pts per journal. --Kristin
 (8%) 
 
 
Again, really really really sorry for the lateness of this!
It's okay, but we still have to take off 20pts for lateness. --Kristin
 (8%) 
 
 
This journal is late for the predictable reasons ("I got sick on Wednesday, got worse Thursday afternoon/evening, and ended up losing the rest of the week to 104 deg fever, nausea, and dizziness; the defining factor of the week").
I'm going to stick with the standard -30pts for 3 days late, but you're welcome to appeal to the higher court of Dr. Wong.
 (8%) 
 

Total: 13