2026-02-20 One week in the rack and we see pretty decent progress with many teams already connecting with clients to sort out our mission needs in detail. Effort so far is a mixed bag.

Generally good comments offered to team members with peer mentoring. The counter has updated so now is a good moment to look and see what tips others may have shared to you. If you don't see much then that might be the basis for your next week's tips to them. "Hey, will love to have your best tips for upping my game!"

2026-02-20 The team engagement survey discussed in class on Thursday is now open on the mentors site. I'll harvest data early Tuesday in time to read for class, so please participate by late Monday.

2026-02-19 More discussion about discovery practices we can use in class projects.

2026-02-17 Lab today to go over lessons from the scrimmages and relate this to discovery practices, hoping these improve our launch of class projects, which are under way now.

2026-02-15 Class project tasking is up! Check out the info in your personal folder. It should tell you the team and a folder where your new team can share information. The team list, your clients and a new VM to use is also listed there. Did I get it set up all right? I hope so! LMK if you find issues.

Some reminders ...

While we use a variety of resources in all these projects, please keep all graded material and PII limited to this folder. Much of the code we might maintain elsewhere will be shared and extended later, and nobody wants an inappropriate data spill due to missing items to be removed before sharing.

We have practiced meeting one another in different ways, and now we do it for real to see with what effect. Humor me: don't toss all that out and revert to the 'old ways' of moving forward on team projects. Update your goals statement, then let's come up with a team charter by late Friday. ("charter.docx") We will discuss this in class Tuesday. A charter is not huge, but it is important and at a minimum will include practical information like times each week the team will have an all hands face to face, how to touch base daily and expectations for performance.

To be abundantly clear on the assignment, our timeline document is now in effect, as are our expectations for logging tickets and weekly peer mentoring. To say the timeline simply: You have four weeks to get me to agree to a plan what we will build to solve the problem. You then have four weeks to build the product according to your plan and convince me it is complete, as in ready to put in the hands of our customers. And then you have almost four weeks to observe your product in customers' hands and, once you are sufficiently horrified at the results, refactor the product to what you should have done in the first place. Deliver that.

2026-02-13 Scrimmages are in, grading is happening at best speed. Have a great weekend, a new semester starts Monday.

2026-02-12 VMs should be back up, LMK if you have further issues.

Lab today covered practices on tickets and mentoring, plus team time to get details figured out on scrimmage 3.

2026-02-12 Sorry for (what I hope is brief) interruption of VMs. The server suffered some issues this morning, and I was able to take the VMs down softly for safety. I should be able to get things back up once CS staff rolls in this morning to get me access to work on it.

2026-02-11 In case you are are tracking such things, note that Friday of this week is the last day of schedule adjustment. I always work hard to make sure students get back some graded materials in time to make an informed decision about whether to remain, and we have achieved that this semester: the grade server is up to date as always and everyone can calculate a trajectory. The extended drop-add time window though ends just when scrimmage 3 is due with its tranche of points. We don't normally get to factor that in before drop-add, but here's the opportunity: If a team would like the project scored earlier then you can feel free to send me email once it is submitted and I will queue it up for processing. The only promise I can make is to grade at best speed but the hope is that anything in my hands by early Friday morning (for realistic values of "early") can get you a grade back by late afternoon. (Depends on demand, these are graded FCFS, and I'll release comments only after the deadline.) This is probably irrelevant to most teams! One look at the grade server confirms most of you are in the zone to different extents, and you should continue apace to submit by 5PM Friday. Everyone has missed some points, but if you hadn't then that would mean I am not yet challenging you, which would be a shame. Someone who has missed a lot of points, especially if that is attributable to not paying attention to details or deadlines, might realistically want to reflect on how those temperaments will work out when the details and deadlines get more complex, then plan accordingly.

2026-02-10 Discussion today on principles of software engineering - what we will practice applying through the balance of the semester.

2026-02-09 A public service announcement for those interested in such things: The 22 course points that will be accounted for by end of schedule adjustment period (Friday) are on the server now. We all know the algorithm for success: collect the points, get the grade. A lot of the easy points are behind us, so feel free to extrapolate the trajectory to see what course grades are still achievable. Plan carefully.

2026-02-08 Some more fuel for your weekend reflection on where we are so far. It has to do with the quality of our plans.

In class Thursday we asked the question how we would recognize an effective plan. One way is to run it and see if it works, but of course that is pretty expensive. If it doesn't work or caused excessive investment into unnecessary activities, then there is no chance to try a better plan. You've committed. There is no do-over. How do we plan?

We're still going to be contemplating this for a bit in class, but here is perspective for a cold weekend morning. I bet we already have a sense of whether our plans from scrim 2 are worthy of confidence. Ask yourself: could you hand your team's plan to students freshly out of, say, CMSC330 to build and expect success? If they had a week to build it as you do now. Would following your plan work? Would you trust it if you got the grade for what they build?

If that thought makes you queasy, then we understand the importance of effective plans.

A variation on this question: What if we trade plans? One way we've taught planning in the past is to take plans from scrim 2 and swap them around. We all go build according to the plan created by a different team. We're not doing it this semester but I bet you take the point. The temptation is for a team to ignore the plan given to them and build what was in their heads anyway, except grading is based on adherence to the plan too. It becomes a high tech repeat of the "Martian makes a PBJ sandwich" exercise, which you may have done in the past. (Look it up if not. It is a great demonstration of why we care about clear directions. And no, we are not talking about Astronaut Mark Watney on Mars.) We generally conclude that poor plans are perceived as worse than useless.

2026-02-07 A terse scoring sheet is in the repo for both scrimmages now. Feel free to followup with questions - that is the invitation for further discussion, not the conclusion. Grade server is up to date and we are looking at scrimmage 3 submission next Friday.

To assist in your weekend reflection please consider these supplemental materials. Quality improvement is an on-going game after all.

  • LinkedIn Learning is a useful place to fish for fairly compact tutorials on software process and team practices. The material there by Chris Croft is a very nice starting point. And you can't beat the price.
  • Theme Thursday is a resource I mentioned in class. Check it out after you've completed your Strengths reflections. This site features Gallup coaches working with project managers to tease out what the various strengths bring to the game.

Last but not least ... Anticipate that we will invite one round of peer evaluation at end of the week. Ideally, after the scrimmage is submitted, fill out advice notes which will appear on our mentors site. If I loaded it correctly then you will see an opportunity to give an evaluation to each team member - including yourself. (ADVICE->ADD) You'll say what each team member did on the project, how well they did it and indicate whether you would be willing to team with them again.

You can update it as you like up to the deadline. Ideally this is something you'd do after the team submits the project on Friday, or at least after the bulk of the work is done, so we have the best input, but in any case I will harvest the data at 6PM on Friday which is after scrimmage 3 is due.

These data are only for me; they are not shared. Later we will have a weekly obligation to offer mentoring tips to team members, and those data will be anonymized and shared. But that starts the next week.

Historically these reviews have been very well received by students, since at this point in our careers we often do not know much about how we are perceived by others. This is a way to get tips on how to up our game and make an even more effective team.

The site is open now in case you want to play with it, and you can (and should) update it with the final values on Friday. The site will fully refresh once we start the class projects.

2026-02-06 Scrimmages one and two are now in the rear view mirror. Pretty good job on the first, and I am grading the second at best speed now. A thumbnail report is in the repo, and as always we'd like to have you compare the rubric you made for the assignment (what you thought constituted "doing the right thing") with mine.

2026-02-05 Discussion today continued on planning and process, while introducing questions about how we tell what is a good plan and what other obligations come with use of a process-centered development environment.

2026-02-03 Finally we get to meet in person!

We lightly discussed what we mean by process and planning, and cast these in terms of our prior projects - and what we are practicing this week. We tentatively agreed that some plans are better than other plans, and eventually we will need a way to measure and compare them before we commit to one. (Oooo - cost estimation and risk analysis. Cool.) We did the world's fastest zoom through examples of how we know process has been done poorly, which is based on seeing previous software disasters. We learn a lot about what might be addressed in our plans by studying such things, and we will want to stay alert to useful lessons that appear in the news.

We pick up with deeper and classical discussion of process on Thursday, and will take the next steps towards identifying Principles of software engineering, which are what will guide us through one or another process.

2026-02-01 A reminder going into the new work week that if you haven't yet submitted materials from the first individual exercises (poll, goals, Gallup, resume) then you should get them in so right away. We will continue to rely on these as we move ahead.

In addition: The slow semester start may mean next week becomes a little crunched, so we will move up a tiny deliverable to this week. Maybe this slightly declutters the agenda later? Specifically, new survey released. Today I pushed a CSV file to your personal folder, showing 400-level courses taught in CS in recent years. Please go through this put an X in the first column of all such courses you have taken successfully or are taking now. Save it and commit it back in place by sometime on Friday. These data are invaluable when it comes to pairing effective teams with class projects. CE majors are free to append entries for relevant upper level engineering classes, and anyone is invited to list grad courses you have already encountered too. Why not take care of this today?

2026-01-30 We end the week with a long retrospective sent to your email of record. It rolls up the action items and gives the reading assignments. Let's pick up the pace!

2026-01-29 As I see your infographic posted in the repo I will add it to the "Meet" folder inside the class repository.

2026-01-29 Most updates were sent directly in email over the last two days, since we wanted to make sure we were getting through. Now to get back to the routine of posting updates here.

The first individual exercises (due this morning) were graded, and I will shortly be entering to the grade server. Same for the poll on Tuesday. If you have not yet responded, then we'd still like your affirmation of those basic views, or questions if you have any about those views.

The details of how we will pivot with Gallup materials were sent in email to all. To summarize here: we would like the Strengths Reflection document posted to your repo folder as "superhero.pdf" before SOB on Monday, 2 February; same for your teaming infographic (in a PDF named according to your directory ID). The latter I will post in a class folder to help you shop for partners on the scrimmage exercises. Follow the detailed directions in the email.

While the deadline is Monday, sooner will be better than later to send those materials since we want to help with teaming quickly. The deadline to be on a team is the deadline for submitting (as a team) the first scrimmage deliverables, which is Friday the 6th.

Scrimmage 1 (the first group exercise) is a two-foot putt: By 0700 on Friday, February 6, set up your assigned VM as a web server. Put up something that would convince a skeptical visitor landing on that site that the server relies on a database. Ensure your VM itself evidences basic care, maintenance and security. (Some students are cyber mavens - cool, so to be clear, this is not an obligation for you to go nuts with defense!) Per convention for group assignments, please submit a cover sheet, according to the conventions for digital signatures with the template in your group folder. This exercise serves as a forcing function to get everyone on a group in some form or other; it lets us practice conventions for projects; and it is a good opportunity to practice following our "do the right thing" directive.

Heads up! Scrimmage 2 will be due at COB that same Friday. This is also an easy target (problem statement is below), but will require talking as a group in order to sort it out. Write a "plan" for how you intend to solve the problem. The deliverable is your plan in Word document as "scrimmage02.docx". It should persuade me as an ostensible product manager that you are on track and can solve my problem. (Cover sheet: yes.)

Scrimmage 3 is due at COB the following Friday (February 13). For this just follow your plan. Foreshadowing: by that point we will have surveyed all sorts of simple ways that a product can fail for want of technologists anticipating what users actually need. Your mission is not to replicate such defects in this exercise. Don't just write a program; solve the problem. (Cover sheet: yes.)

The problem - a capability we'd like to have: We'd like to have an easy way to visualize (read: "graph") data from a collection of uniformly-structured spreadsheets.

There, how's that for simple? Give me what I need in order to succeed.

Okay, a few more details are probably in order...

The starting point for this tool is a set of "uniformly-structured spreadsheets" - what are those?

  • I'll be using Excel (XLSX) files having tabular data with some arbitrary number of columns and rows, either of which may or may not be labeled. We should work based on the user designating either the symbolic label used in a row/column or the usual Excel labeling convention for cells.
  • The layout of each sheet in the set is likely to be 'more or less' the same, though sensible engineers will make a product that is robust in the face of variation.
  • We don't particularly know how many sheets there are in any given use but it might be potentially large. We'd like for this to be something the user doesn't have to pay attention to in order to succeed.
  • Examples: I might have sheets generated day by day to track weather properties; I might have stock reports generated week to week showing fluctuation in values; I may have student performance data tracked session to session.

And what do we want to do? Enable the user to select and graph one or some of the properties over the whole set of input files. If sheets capture weather then we might want to identify a TEMP row name and value field(s), then our product will select those values from the set and pop up an appropriate display. If it was stock values, then we'd identify one or some stock ticker values (if they appeared as the labels in each sheet) and display the graph of those over time. If sheets were about student performance then we'd offer the list of student names (again presuming these appear as labels in each sheet) and see the trend of values over time.

Some considerations to put on your radar early: First, we will be pretty concerned with usability and work flow. A system that technically allows visualization but with high-overhead data entry costs is probably a non-starter for us. Next, we are interested in rich display options; flexibility in what we name and how we select them is important. And as noted, we want something more than a toy; let's do this at scale.

Finally:

  • We're not defining many details. "Do the right thing." By now I hope you're all figuring out that ambiguity is something we erase by exercising initiative to find what is necessary for mission success, not something we interpret for our own convenience. The 'client' in this problem seeks a reasonable way to understand more about arbitrary data sets. Help him win this illumination.
  • The VM as assigned to you is available as a shared team resource. That doesn't mean you must do it there or that I would run it there, but it should facilitate coordination. However you reach a solution, though, limit yourself to run time services which are local (to the VM or where I work.) A back door to AWS servers, G**gle environments or any cloud resource in general is a non-starter.
  • We strongly advise that solutions be based on coordinating efforts of all team members. Drawing straws to see who is stuck building the whole system is a great way to fail, not the least of which because I may randomly ask team members to explain or adapt one or another part of the system, and it goes poorly when they don't know what is going on. In any case, I bet this is just beefy enough a problem that there is something for everyone to work on.
  • Engineering is problem solving under constraints. Find the best way forward with the time and resources we have available. A perfect solution which can't be completed until end of semester is not a solution. A toy that only enables simulation, not real analysis, is not a solution. A work flow that demands huge investment of my time to test with all the data from students in this class - or recent semesters - is not a solution.

2026-01-29 To reproduce here a few points which came up in office hours either Tuesday or Today...

  • "On time is late. Two minutes early is three minutes late."
  • The grade server's zero-weight instruments ("phony baloney bonus points") are a way to offer insight on how other professionals might see your performance. We notice! So thanks to the several of you who jumped on the first assignment before class today - the early initiative got points. So did the intrepid adventurers who were first to engage in class with questions. Thanks! Looking forward to hearing the rest of you engage too!
  • There are many ways we can interact, and commit messages on repository activity is another of them. These let me offer feedback and mentoring tips. If you're not tracking the messages we push from time to time then you aren't getting full value of the course.
  • In steady state our work week will typically be a Tuesday discussion with some kind of lab activity on Thursdays. At start of semester we'll be a little out of cycle while we set a foundation; towards end of semester we'll err on the side of having more team time.
  • Work week is for work. Pour it on. Weekends are for reflection. Let the lessons soak in. Plan accordingly.
  • Scrimmage assignments will be posted presently with the first due Friday week.
  • Details count!
  • Identify your textbook and support materials now, if you have not already.
  • Track the grade server.

2026-01-26 Well that didn't last long. With Tuesday as another campus weather day, we will continue as in the email I just sent to all students of record: continue with the individual exercises due Thursday, remember to bring your Gallup materials to lab (hoping we do meet) and study the syllabus, FAQ and other materials on the class site in order to answer the basic questions in our survey on the mentors site. I will hold virtual office hours in my zoom room at 12:30 Tuesday in case you'd like to informally chat.

2026-01-26 And we're under way in a new semester! Repository credentials will have been emailed to your address of record as of this morning, so per usual convention, if this is a surprise to you then check your spam folder or contact me soon so you can get set up. The initial assignments are due as detailed in the 2025-12-30 post below. We'll see you in class Tuesday.

2025-12-30 A new semester is just around the corner. We're sharing the the first assignments for those who want to get an early start.

  • Review our guide on Expectations Management! Please make sure we are all clear about what we're getting into by reviewing the guide Is 435 right for me?

  • Get started on the first assignments! Getting these very small tasks out of the way will keep the decks cleared for more interesting things once the semester arrives.

    1. Purchase your Clifton Strengths assessment. This skills assessment is for our exercises on team building and is available for a student discounted rate from the folks at Gallup: Clifton Strengths for Students (The "Top 5" report is adequate for our needs, but the student version offers those and more at the same price.) Save and study the PDF reports, which are specific to each person; we'll have you place the Signature Themes Report in your Subversion folder (which you will receive first day of semester.)
    2. Update your resume. Prepare this as a PDF document. Please only share details with which you are comfortable. We use the content later in sorting out talents for teams and projects, and to figure out early who knows how to follow directions (which is one of the most basic skill sets of our business.) Place this in a PDF document "resume.pdf" in your repository folder as well.
    3. Prepare a thoughtful statement of what you want to get out of 435. Craft this as a Word document, and place it in your Subversion folder as file "goals.docx".

     

    In general we judge more than just the payload of your submissions, so please remember that evidence of timeliness, preparation and planning always count. Everything you do reflects on you.

  • Students on the waitlist should plan to attend the class from day one and perform the above assignments in anticipation of being admitted to the section. We will issue repository credentials to waitlisted students so you are able to participate in the labs and complete the exercises for on-time credit once you are able to add the class. Let's emphasize this: you need to participate and do the work from day one in order to get the credit.

  • Pro tip: Commit to success from day one. We rely on workmanship offered in early assignments when making decisions on teaming and tasking, so consider seriously what we will have to work with. Overall, exercise of initiative in the interest of quality is rewarded, so pay attention, demonstrate decent critical thinking skills and focus on success from the start. Do that and we'll make the semester worth your while.

  • Assignments On the first day of the semester we will email credentials for access to the class repository (which is one of several ways we will communicate this semester) to each student registered. Our first assignments (as above) will be due by SOB on Thursday, January 29th.

  • Teams We will form four-person teams starting the first day of class. These teams will conduct practice exercises ("scrimmages") early in semester in order to get used to some of the basics before we tackle the class project. You're free to form these teams as you like, though don't panic if you don't know anyone else in class since we'll make time available adjacent to each class in order to meet one another.

Copyright © 2017-2026 James M. Purtilo