The importance of language in Agile

Reading Adrienne Clarkson’s essay on the ‘Why language matters…’ (Globe and Mail, Sept 15, 2018), reminded of one of the problems I’ve consistently had with the language of Agile as it makes it way into software development in higher education.

Agile is important development for eduction; it can bring great benefit. It codifies and defines ways of thinking and development methodologies that make the planned changes transparent and open. However, I think we need to be careful bringing ‘strict’ agile into education, and one of the reasons is language.

Ms. Clarkson illustrates the problem with ‘Referring to doctors’ patients as “clients” puts a whole new meaning on the relationship between the healer and the to-be-healed’.

I would argue a similar problem exists in Agile development in education, which uses the term ‘Product Owners’ and considers students as ‘Stakeholders’. Again, language is important.

Typically IT departments in higher ed are concerned with delivering ‘services’ to students: lists of potential courses, registering for courses, viewing a timetable, accessing course resources (typically through a Learning Management System), taking a quiz, submitting an assignment, and eventually getting grades and a transcript.

The focus here is ‘service’. This delivery of services can be comprised of many products, some off the shelf and some developed. Agile is useful in the development of in-house products (or applications) that are considered part of the overall services offered.

It’s especially important in situations, where the services provided to students are primarily from one in-house developed application, that the ‘service’ and ‘product’ do not get blurred.

Indeed, one way to look at the delivery of services to students, is that there is a ‘Service Owner’ who is responsible for products/applications that students interact with. This could include: login requirements, email accounts, supported laptop policies, how students get their content, implementing policies in content delivery etc. In this scenario, an in-house application’s ‘Product Owner’ works closely with, and provides a product to, the Service Owner who is ultimately responsible for the students’ (and other stakeholders) experience.

Some language has already started to be re-defined for education. There is a robust education definition of ‘stakeholder’. However, I’m not sure Agile deployment in education is recognizing this definition yet.

The ‘Product Owner’ term is much more problematic. There is no ‘product’ to sell. There is no place or website that customers can go to buy the product. There is no relationship between the number of products sold and the employment status of the managers, employees, and developers involved in the creation of the product.

The success of a product in education is much more nebulous. It can be gleaned from student survey results, usage statistics, and relationships with the stakeholders. The employment status of the administrators and developers is also much more nebulous and slow-moving, but it still tied to performance, user perception, and usage.

The introduction of Agile development to eduction is still relatively new. It has great promise, and with a little bit of adjustment can be a great benefit to increasing the level of service delivered by administration to students and employees, all of them as education stakeholders.

 

Posted in Uncategorized | Leave a comment

Migrating Blackboard Journals as FoM ePortfolios

Background:

The Faculty of Medicine MD Undergraduate Program (MDUP) used the Blackboard Journal tool as an ePortfolio during the 2015, 2016, 2017 academic years as part of the MEDICOL program delivery of resources.

However, as of Sept 1, 2018, Blackboard was no longer available as a resource, as UBC had moved from Blackboard to Canvas as the institutional LMS (Learning Management System).

This meant that the student ePortfolios, housed in the Blackboard Journal tool, needed to be extracted from Blackboard before it was decommissioned.

As well, the Faculty of Medicine had deployed Entrada as its learning platform, starting with Years 1 and 2 as of Sept 2017, and completing the entire curriculum in Sept 2018.

Identification:
There were two types of ePortfolios on Blackboard (Curricular Portfolios and FLEX Notebooks), and three cohorts of classes. Fortunately, all ePortfolio entries for a type and a cohort were each in a single Blackboard course. This meant that six Blackboard courses needed to have their journals extracted.

High Level Procedure:
1. Archive six Blackboard courses
2. De-construct Blackboard course archives to determine journal component
3. Determine desired output result
4. Write program to extract journal content from archives
5. Work through archived anomalies and omissions.
6. Integrate journal output with Entrada.

Outcome:
Twenty Curricular Portfolios and thirty FLEX Notebooks were processed and migrated. This resulted in a total number of 30,018 portfolio entries, 5981 comments, and 30,489 attached files.

Portfolio entries, comments, and files were migrated to Entrada and made available to students and Portfolio administrators.

There were a total of thirty attached files that were not included in the Blackboard archives. These were recovered by hand and included separately.

100% of the content of the Blackboard Journals was recovered and delivered to students and faculty.

This result is a significant win for the Faculty of Medicine’s MDUP, (now called UnderGrad Medical Education (UGME). Students now have an archive of their past ePortfolio work easily available in Entrada as part of their profile.

Addendum – Details

1 Blackboard Archives

  •  It initially appeared that some Journals were missing from the archives. However, either another attempt at archiving, or choosing different archive options (include ALL files even those outside of the course) recovered the missing Journals.
  • Some of the archives were very large, around 12Gig. This was testing the limits of downloads from Blackboard and may have contributed to some of the difficulties. The archive size was directly related the size of student file attachments.
  • Blackboard journals reference users with an ID that is not related to their Blackboard ID. Therefore a translation file was needed to translated the internal journal user id to a student number. UBC IT provided a document based on a Blackboard database query that made this association. The migration process would not have been possible without this translation file (thanks Jeanne!).

2. De-construct Blackboard course archives to determine journal component

  • The Blackboard archive is a series of files and folders that document and contain all content within a Blackboard course. The controlling file (imsmanifest.xml) defines all of the components of the course and references files and folders within the archive.
  • The archive contains ALL content for the course. We were only concerned with ‘Journals’, which were implemented using the Blackboard ‘Blog’ component. Therefore, Journals appeared in the archive as Blogs.
  • There is no documentation that defines the structure of a Blackboard archive, but with some trial and error, the structure for Journals was determined and used in the extraction program.

3. Determine desired output result

  • Initial discovery of the archive lead to an html file output structure with one subfoldered website for each student. However, this quickly proved unworkable.
  • With the realization that there were a finite number of interested journals to extract, and that the journals could be identified as entries, comments, and files, it was determined that an ‘Entrada-like’ database structure and file delivery was the most appropriate.

4. Write program to extract journal content from archives.

  • A PHP program was written that was run against each of the six course archives. It read the archive controlling file, cross-referenced archived entries with Journals already identified, and then wrote the entries, comments, and files references to database tables, and copied the actual file attachments to the Entrada storage area.

5. Work through archived anomalies and omissions.

  • Files with n-dash. A number of files names included the unprintable character ‘n-dash’. The extract program and the file copy program could not successfully process these files. A utility program was written to change ‘n-dash’ to a dash (‘-‘) in the supporting files and to rename files thusly (thanks Trevor C!).
  • Files with names too long. The Blackboard archive has a file size limit of 130 characters. Files with names longer than this were not included in the archive, and could not be recovered. These were recovered by hand and provided separately.

6. Integrate journal output with Entrada.

  • A program was written in Entrada that displays all the journals to a Portfolio/FLEX administrator, based on student number.
  • A similar program was written for students and available through their Profile area. This program showed all of the students’ past Curricular Portfolios and FLEX Notebooks.
Posted in Uncategorized | Leave a comment

Linux Mint video tricks

Installed Linux Mint at home on my desktop. Works great, except I wasn’t happy about the resolution of my only Samsung flatscreen (as 2nd monitor), which was stuck at 1024×768. Finally got around to researching, and I found some tricks that actually work! So here’s the goods.

Linux Mint: 18.04
Monitor: Samsung SyncMaster 931c (2nd monitor as VGA)
Old resolution: 1024×768
Desired resolution: 1280×1024

xrandr shows:

$ xrandr
Screen 0: minimum 8 x 8, current 2304 x 1024, maximum 32767 x 32767
DP1 disconnected (normal left inverted right x axis y axis)
... snipped 1st monitor as HDMI
VGA1 connected 1024x768+1280+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00* 
800x600 60.32 56.25 
848x480 60.00 
640x480 59.94 
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

Get specs for new resolution:

$ gtf 1280 1024 60
# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync

Commands to switch resolution (use text after ‘Modeline’ above in –newmode definition):

$ xrandr --newmode "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
$ xrandr --addmode VGA1 "1280x1024_60.00" 
$ xrandr --output VGA1 --mode "1280x1024_60.00"

Now. Making it stick after reboot! Next challenge.

 

Posted in Uncategorized | Leave a comment

Requiem for the UBC Granola Bar

I went to buy my (almost) daily UBC granola bar today.

Since I first discovered them, I’ve been hooked. I have my own list of kiosks/cafe’s where they are sold. I have often relied on them to get me through the afternoon, and definitely the bike ride home. I’ve taken them to meetings, cut them up and passed them around, and literally saved those meetings.

A nice women at one my kiosks befriended me, knows me by name, and sometimes even saved one for me. I’ve often bought more than one and passed them around the office, and have made believers of a number of my co-workers. They were probably the best granola bar I’ve ever eaten.

The bar was a wonder to behold: thick, dense, sweet, minimal chocolate (good), lots of nuts, oatmeal and dates.  You could probably fill your backpack with them and hike the West Coast Trail. And I’m not the only one who was hooked.

And now they’re gone.

When I approached my local kiosk, hoping against hope that they still had some in stock (my friend has moved on), I saw a stack of the *new* UBC Granola Bars. They were three quarters the size (same price), crumbly, broken in the middle, and from the stack remaining, it appeared the weren’t selling well. The women behind the counter told me that they were a newer healthier version, but seemed a bit sheepish.

I purchased one, and with trepidation unwrapped it, and was deeply disappointed. It fell into three pieces, then broke again when I picked it up. I was left with a wrapper full of crumbs. The taste was ok, a bit dry and had some sort of smokey flavour to it. It was nothing to write home about.

That will probably be my last one.

I’m not sure why the UBC Granola Bar was targeted for health update. The other options in my local kiosks haven’t changed: date squares, croissants, cinnamon buns. They are by far worse, health wise, than the old UBC Granola Bar.  And now, I’ll be driven to other options; after the old UBC Granola Bar, I can never go back to just granola bars.

Posted in Uncategorized | Leave a comment

Old vs New

Chain broke on my bike ride home.

Olden Days:
– push the bike the 2 miles (now 3 km) home.

Now:
– Find an Evo car(with bike racks!) with my smart phone and book it.
– Unlock the car with my smart phone (ala Jack Bauer)
– Watch a 1-min video on YouTube about how to use the bike rack.
– Press the ‘help’ button in car and talk to the nice Evo man on the in-car phone while driving (to tell him about the previous damage to the car)
– park the car outside of my house and take the bike off.
– lock the car with my smart phone.

Nice…

Posted in Uncategorized | Leave a comment

ead drained my battery

I had the lovely yearly experience of changing my CWL password the other day. This is sort of a forced-march; trying to login quickly to get something done, then *boom* — slow down… login to change your password, type old and new(twice), then logout, then login again. Now, where was I??

Because this happens only once a year, I tend to forget of the other consequences. Such as:
– in the middle of meeting, why can’t I access that website? Oh yeah, re-authenticate to wireless.
– why didn’t Joe* get that email? Oh yeah, stop and start Outlook to re-authenticate.

But the part the surprised me was when I checked my phone on the way home on the bus, the battery was dead (well, 2%). It was fully charged in the morning. I had noticed that it was down to 1/3 in the late afternoon, so stopped everything I could on it, if that’s even possible.

After getting home and plugging in, I had a chance to look more closely and see what was chewing on the battery (android, you can do that). It was ‘Exchange Services’.

There it was, the phone spent the entire day trying to connect to Exchange with the wrong password. I should put a timer on this post to re-send it to myself one year from now when it happens again.

 

*not really Joe. Name has been changed…

Posted in stuff | 1 Comment

ghost in the machine

We finally got around to switching our Shaw cable service from analog to digital. I know, I know, it took a long time, but one of the reasons I procrastinated as long as I did was because of the FM radio stations that are bundled with the analog service, specifically KPLU, the NPR jazz station from Seattle hosted at Pacific Lutheran University.

Basically, our FM dial has been stuck on KPLU for the past 15 years. There’s nothing else like it. This is the way a jazz station is supposed to be. I’ve grown accustomed to all the great programming over the years.

Marion McPartland’s ‘Piano Jazz’ was a constant source of surprise and wonderment. I remember many times stopping in mid-stride in the kitchen as Marion and her guest went on another musical escapade. Think of it, what a great premise for a show: two musicians get together and talk and play live on the radio. Brilliant, and brilliant it was.

I must admit, Ken Wiley’s Sunday afternoon ‘The Art of Jazz’ was lost on me until I visited New Orleans and saw the musical heritage of jazz for myself. From then on, I listened to it with a new ear and appreciation.

As well as: Saturday and Sunday nights All Blues, ‘Stardate’ updates, Car Talk-before they retired, great jazz programming anytime you turn on the radio – very seldom hearing a repeat, NPR news.

But, that’s just the background: here’s the real story.

After we had been successfully switched to analog to digital, I just thought I would try KPLU on the stereo. To my surprise it worked, and I went back into the kitchen listening to Joshua Redman. After a while I started to think the song was going on a bit long, so started listening a bit more closely. The song was in a loop, repeating itself about every 30 seconds.

I came back the next day to check, and we seemed to have regained KPLU. There was news on, but I didn’t listen that closely. Next day and ever since, it’s back to looping. It’s now stuck on 30 seconds of the same song, don’t know who (Not Joshua Redman and Shazam doesn’t do well with jazz).

I’m calling this the KPLU ‘Ghost in the Machine’; an echo of a time past. Snippets spinning out from the analog, bleeding inconsistently into the digital world. A shadow, an echo, no real explanation. I think all the William Gibson books I’ve read has helped in this interpretation…

Posted in Uncategorized | Leave a comment

The oscars almost melted my laptop

It’s true! While watching the Oscars, I had my laptop on my lap, setting up a demo.
Here’s what was going on:

  • MySQL
  • Eclipse.
  • Chrome
  • had already closed Firefox as it was eating 1.2Gig
  • Oracle Virtual Box
  • Blackboard VM (in Virtual Box)

That’s all. While in Eclipse, the screen started to flash every 2 seconds, then it when blank and re-appeared inverted.   Yes, the application bar was upside down at the top, start button in the top right corner instead of bottom left, Start menu opening down, not up.

I managed to manouvre the mouse to click the Start button and find shutdown. This was a real exercise in spatial transformation, up is down and left is right.  A restart didn’t help, the menu was still at the top and upside down. Using the same spatial skills I had just learned I managed to right-click->Screen Resolution on the desk top. Who knew there’s an Orientation of ‘Landscape Flipped’ that had somehow been enabled.

All I can think of was that I had pushed the memory of my poor Lenovo past the breaking point and a bit flipped somewhere, (or it sensed that Gravity had won one too many Oscars and it was rebelling, ) or maybe we just all have memory problems.

Posted in Uncategorized | Leave a comment

Hosted WordPress – installing themes with SAFE MODE

Second time I’ve had to do this, so why not document?

If you are running WordPress on a hosted site with a VM (such as Plesk) you may have difficulty installing new themes as WordPress/PHP wants access to the /tmp directory and you don’t have it.

The error will be something like: SAFE MODE Restriction in effect.

This is good. You don’t want your service provider to disable PHP safe mode, but you do want to install new themes.

So, here’s the trick. Create a directory (I call it wp-tmp) in your WordPress directory, and tell PHP that this should be used as a ‘/tmp’ directory when installing themes.

Let’s say my website is www.webbob.ca (it’s not. Hmm it’s free. Maybe I should get it…). On my hosted site this would make my home directories:

Home: /var/www/vhosts/webbob.ca
Web home: /var/www/vhosts/webbpb.ca/httpdocs/
WordPress home: /var/www/vhosts/webbob.ca/httpdocs/wp

Create a folder called wp-tmp and make it world writable (777)

WordPress tmp: /var/www/vhosts/webbob.ca/httpdocs/wp/wp-tmp

Add the following to the wp-config.php file:

define('WP_TEMP_DIR','/var/www/vhosts/webbob.ca/httpdocs/wp/wp-tmp');

You can now install themes!

Posted in stuff | Leave a comment

BB9 – Feature Loss SP11-SP13

Moving from BB9.1 SP11 to SP13 introduced  the removal of the inline Folder View from a course. The only method of seeing a Folder View of the course as of SP13 is from a pop-up window.

Supposedly this change was put in for the user’s benefit, as displaying the Folder View on a course took up too much screen area, but has resulted in a more awkward and less useful user interface.

SP 11 – inline Folder View in Course.

 

SP13 – Course Folder View only available as pop-up browser window.

Posted in bb9 | Leave a comment