I don’t think I really realized how important ergonomics are until these past couple of weeks. Unfortunately, the setup at work is less than ideal, and my neck and shoulders have been in a lot of pain this week. Continue reading “Office Ergonomics”
For more than half a year now, I’ve been trying to get an issue tracker fully implemented for our IT team within the library. I admit that I’m still working on it. Getting the system up and running was easy enough, but trying to work it into people’s workflow isn’t so easy.
Choosing the Issue Tracker
There are a lot of issue trackers out there, but we are a small team and I wanted the issue tracker running easily and quickly. It’s not something I wanted to spend a lot of time getting up and running, because we had a lot of other projects happening.
Other requirements included:
- support multiple projects
- non-members being able to report issues
- support email issue management (either built-in or plugin)
- low to no cost
- support CAS or LDAP login (either built-in or plugin)
- documentation area and/or wiki
- code repository integration
- open source
I asked around a little bit, and these were the recommendations I got:
- Asana: 2
- FogBugz: 1 Against: 1
- Footprints: – Against: 1
- Github: 2
- JIRA: – Against: 2
- Pivotal Tracker: – Against: 1
- Redmine: 5
- Request Tracker: 1 Against: 1
- SupportPress (for WordPress): 1
- Trac: 3 Against: 1
Trac and Redmine seemed to be the two forerunners. My problem with Trac was that it didn’t have clear project organization, and no one could confirm that the email issue management plugin worked.
Installation & Setup
Our system administrator took a couple of (not full) days to get it installed and going, and following the instructions were apparently fairly easy. Then it took me maybe half a day to set up all the projects and users with the settings I wanted. The e-mail creation also worked well out of the box. We just had to make sure we had the right settings for what we wanted.
Staff Issue Creation & Management
In order to make it so that staff can file issues without ever having to see Redmine, I created a form in our Intranet (webform module in Drupal). The form had most of the standard fields:
- Name: automatically filled in with username
- E-mail: also automatically filled in
- Related to: options which were essentially the project names
- Need: options equivalent to tracker e.g. Support, Bug Fix, etc.
- Priority: options equivalent to priority
- Summary: email subject line, which then turns into issue name
- Description: issue details
Once it’s submitted, a copy is sent to our team’s email. Through a cron job (every 5 minutes or so), the email is picked up, and filed.
If the user already exists in the system, Redmine will use the email from the user account to match it to the user, they will automatically become the ‘reporter’ of the issue, and get a copy.
If the user does not exist in the system, Redmine will say that ‘Anonymous’ reported it. This will always happen the first time someone reports an issue as I did not add everyone on staff to the system. So, the first time this happens, I then add the user to the system, and add them as a watcher to the issue.
The one issue I ran into was that I forgot you have to set both the email plugin and each project to accept issues from anonymous users. Simple carelessness really.
Getting Staff to Change their Workflow
I think the hardest part with implementing any issue tracker is getting staff to use it. Within the team, it hasn’t been too difficult. We have a small team and the developers in particular have no problems using it. The only problem I sometimes have is making sure they close issues when they’re done with them.
But even within the team, sometimes it can be difficult to get people to report issues using Redmine. While our manager wanted us to start using it just for the website, it has worked well enough, so we’re strategizing how to get the rest of the staff using it now.
We’ve concluded that it kind of needs to be an all or nothing. So we’ve decided that all non-urgent issues should be done through the intranet form regardless of the project, and that should people email us, we’re going to be emailing them back to submit it through the form.
For any urgent issues and for immediate support, they can still call us. After all, trying to walk someone through editing something on our website or intranet is much easier by phone anyway.
Before we start enforcing it, we’ll be introducing this workflow to staff through various committee meetings in part to gather feedback.
So… we’ll see how it goes.
by Matt Thompson (absent), so actually Gunner
Processes & Tools
The process and tools, and how things are done should be open. Etherpad – like a google doc. Collaborative, and in Mozilla, tied to conference calls.
Give guidelines, not direction.
Some are a little open, but to be truly open, everything is open not just the nice looking bits. For example, the Firefox mailing list is open. The discussion on Chrome “kicking their butts” was a public discussion.
Need to pro-actively report out, especially for offline conversations.
If you’re going to work in the open, it’s about the community. Have to ready to share: ownership, control, everything.
How to contribute from day one. Make a wishlist (e.g. documentation, testing – never done). Ask for things to be added to the wishlist.
Have core community values.
Having a Narrative
Naming the contributors, and having an ongoing story.
Give other voices a channel. Invite others into the narrative. e.g. put someone else’s story into your blog.
Still have to have governance though. Study other successful projects, e.g. wikipedia. Key is a benevolent dictatorship with radical openness.
Risk aversion and fear is failure before even beginning.
Study the licenses and pro-actively license your content. e.g. GPL, Mozilla
Leading with questions to ask one-on-one why they
E-mail and IRC suck.
Best practice is to move to audio/video if the e-mail and IRC is not working.
Setting frame for discussion. Turn it from “Do you want a vitamin?” to “Do you want the orange or purple vitamin?” Another example would be to share only benefits of two choices.
Use open paradigm. For example, Twitter uses volunteers to localize, so even though it doesn’t use an open platform, it uses an open model.
But propriety, locked down systems are in the process of dying. There are companies that are open software corporations e.g. Firefox, Redhat. What really makes you special is customization, service, etc.
Start internally. It doesn’t need to be open externally. It can open within the organization first.
Learn from Others
Study the successful open companies and organizations.
Model for success, status quo and failure as a win, because you have learned what not to do again.
Think ahead and think aloud.
While I admit that I have not gone to many library conferences, I thought I would reflect on attending my recent outing to Seattle.
Funding & Limitations
Fairly obvious, but it was important for me to know how many conferences I might be able to attend in a year. If hired as a permanent position, most librarians get a set budget for attending conferences and other events, but on contract, it’s a per-event approval process (as it tends to be at most institutions).
Based on what I heard from others, I think it is key to know what kind of policy administration usually has. I’ve heard from some that non-permanent full-time librarians get absolutely no funding, and even permanent full-time librarians sometimes have to wait 1-2 years before getting funding.
There is, of course, the choice of funding a trip yourself on your own time, but these costs can be prohibitive for new graduates or those with lesser financial means.
Choosing the Right Conferences
On a bit of a side note, I think it is also up to the individual to pick and choose what’s right for them. There are so many conferences being held all the time, it can be very difficult to choose. Being able to only choose 1-2 conferences in a year, I decided against the larger, more general conferences (such as CLA, ALA, or the provincial ones) because I felt that many of the sessions were just not relevant to my interests and position. Instead, I decided to focus on technology related conferences, namely Access and Code4Lib.
Other more local events, which only involves work time, with little or no fees and travel costs can help to supplement or be alternatives to larger events as well, especially regional versions of larger events. Once again though, depending on the policies of the organization, this might involve an individual paying their own way and using vacation time to attend.
How Can We Help?
One of the discussions I got involved with while in Seattle was, how can we help new graduates/librarians (and librarians in more restrictive positions perhaps) attend conferences?
While many conferences offer discounts on registration fees or free attendance for volunteers, registration fees are not usually that high (at least not at library conferences). Even airline tickets are fairly low cost when flying within the US (though admittedly to/from/within Canada can be quite expensive). What makes a trip prohibitive then is usually the hotel, which generally costs at least $100/night.
Then, what can be done to help with these costs?
- Scholarships: many have student scholarships, which is great, but maybe they can be opened up or a couple can be made for those in need (who are not necessarily students) – it was the only reason I could attend Code4Lib this year
- Roomshare/Rideshare: while we had this at Code4Lib, I’m not sure how well it was advertised (but then I got in late in the game). Maybe if it was advertised on the main webpage or somewhere in the registration process, a list of people willing to share can be generated.
- Hostel Room: Similarly, facilitate a way for a group to get a hostel room together (while they might still be strangers, personally, I would not mind so much with fellow conference attendees as opposed to complete, possibly unfriendly strangers).
- Ask Locals to Offer a Couch/Floor/etc.: I admit that this would be probably difficult for large conferences, but if locals could offer a place to sleep to those in need, I think it would be a great way to encourage new folks to attend. (Organizers can consider writing a simple guideline, such as only if a person doesn’t have any funding sources to attend.)
I’d love to hear other ideas, which might be passed on to conference organizers, especially for Code4Lib 2013.
by Bethany Nowviskie, University of Virginia
She began by expressing that it is great to have a speaker from the inside the community and lots of thanks to the invitation to talk. Then continued to talk a bit about her background and where she is coming from, including Blacklight and Hydra. She is now in the library world, where she was introduced to many issues such as open access, class issues.
Frequently, lazy consensus gets formalized, such as in committees. When a decision needs to be made, a proposal is put forward. Some might agree, but the default answer is yes. If there are objections, then you go back, but usually just some adjustments. In order to object, people need to take the time to think and take the effort.
Some might think that there are fortunes for the bold. However, with this social contract where we already agree that if you don’t say yes or no, “we’re not waiting on you,” inertia can work with you or against you.
Your team should work in lazy consensus. Use it to do what you know is right. How do you know what’s right? Make sure you’re one of the good guys. Act and speak up when you need to.
- skunkworks / R&D operations – trust them to have a plan
- developer-driven 20% time
- rabble-rouse… in disguise – organize smartly to fit in
- knowing your enemies (trends, not people) – extract personalities, because usually fighting bad trends, not people
- finding your friends (people, not just trends) – check data preservation, open access, digital humanities people
Your (Ethical) Obligations
- always share information freely – it will fail otherwise
- never shut out the public services and user experience
- practice what you’d teach – think mentoring a promising novice
- if you screw up, confess
- try not to screw up in the first place
If you have a bad technical plan, the library administration might not notice whether you implement it to the letter. They probably care more about the spirit than the letter of it. However, do genuinely try to explain to all levels of the organization.
Never do it alone. The word consensus is in there for a reason. You need enough people who agree on the direction to take that can be implemented reasonably and sustainably.
Keep talking to people.
If you produce, administration will have your back, but then you need to deliver a product that will make everyone look good, even the dead weights.
The library is not involved enough in larger issues at the university, national, or government level. One common example is the research that is produced, peer-reviewed, and then sold back to the university at exorbitant prices.
It’s up to you to make contact with the leadership level of the organization. If you have a problem, put it on the agenda. Make the first move.
There should a bias toward action. Stagnation is a far, far greater danger than taking measured risks.
Drive it like you stole it.
Q & A Comments
Does this reflect reality? Sometimes it is the person. – Act like it is the trend, even if it is the person. This will work better in some areas than others, but it is flexible.
Some believe that they are righteous and do not care about consensus. – Power to the people. Get enough of the staff to implement a directive.
How to deal with it going wrong? – Hard to do sometimes in formalized way, and need to do collectively.
EDIT: Bethany has now posted her version of the keynote talk on her blog.
An afternoon of more presentations, which were a bit more technical in terms of data indexing, storage, and use. As a result, there are no detailed posts, but here are a few notes and takeaways.
- Be careful when you try to parse a bunch of files you download from the web. Parse and store, distribute up front, and build a test index first.
- Making Software Work – read it
- The results of one study is not the truth.
- It’s hard to make a study repeatable.
- Does agile work? That’s the wrong questions. Really, when does bug fixing has the highest cost?
- High-risk bugs should be done as early as possible, instead of the easy bugs.
- What language? Depends on the problem.
- Make developer happiness hours. (block off time with no meetings)
- Give people open sight lines instead of high cubicle walls.
- Be as transparent as possible (e.g. JIRA) including progress.
- Put projects into short iteration cycles.
- No code without passing tests!
- Slides (PDF) for the last talk: Practical Agile: What’s Working for Stanford, Blacklight, and Hydra by Naomi Dushay
In-browser Data Storage and Me
by Jason Casden, North Carolina State University
- Suma: data collection application using in-browser storage.
- Indexed database API (aka IndexedDB, WebSimple DB) is where things seem to be going, but limited browser support.
- Web (DOM) Storage is basically universally supported.
- Web SQ DB still viable option.
- lawnchair: object storer, but have adapters for a long list of DBs/APIs.
Whether it’s an internship or co-op, students should take advantage of the opportunities available to them during their work term. Recently, @otowncoho wrote a blog post on strategies for those who hire students in government. Being near the end of my own co-op term, I thought I would reflect on advice I would give to students coming into a similar situation.
Before the Term
Might sound like common sense, but students should remember to ask about procedures for the first day and if they need to bring in anything (typically finance/pay or security related information).
Consider Not Taking Classes
I know students want to finish as soon as they can, but I have heard from a lot of students (and hearsay of supervisor comments) that taking one or more classes while on a full-time co-op term can be very stressful. If tired and/or stressed, you might be likely to underperform, be less enthusiastic, or seem less “present”. Although you might do your work well, it might be hard to leave a really good impression on the employer.
At the Beginning
If one isn’t provided, ask your supervisor or a coworker about an orientation guide, which might include student employment policy (including stat pay and hours/overtime), how to set up phone and/or e-mail, use policies, contacting support services (such as IT), facilities, and useful links (like where to eat). I would expect an employer to (have someone) show you around the office and introduce you to coworkers, but if some are absent, remember to introduce yourself when they return.
You may not like paper work, but it is a necessity. Make sure that HR/pay forms, tax forms, etc. are all completed on your first day or as soon as possible. Ask to see if direct deposit is available. Most of the time it’s not a problem, but I have heard too many stories about paycheques being lost or missing, which can be a big problem for students trying to meet rent and what not.
Work Plan / Objectives
Many schools and programs require the work or learning objectives are written and discussed with a supervisor. If not, it’s still a great platform to discuss with your supervisor what you want to get out of your co-op term. Topics you might want to cover:
- Technical skills to acquire/work on
- Interpersonal skills to learn more about/improve on
- Weak Skills/Traits to work on
- Knowledge Areas to learn about
- Career Areas to learn about
- Strategy on how to meet your objectives (applies to you and your supervisor)
- Strengths/Areas where you can contribute
- Communication frequency and style: set a method of to regularly update your supervisor and discuss your progress
Typically, steps to achieve these objectives might be written for each objective or an overall strategy might be determined, depending on how interrelated they are. Objectives should also be specific and measurable in order to measure your progress and completion of your objectives. For example, “Learn more about information management” is a great goal, but very vague. Many advise using the SMART method, and though not all the questions always apply, it helps to turn a vague goal, into something more specific, such as:
Learn more about information management by reading about one methodology and the policies it puts into practice within the first month of the term.
Regardless, I believe the most important part is discussing objectives with a supervisor so that they might accommodate or at least share information and resources that are of interest.
Work Term Project
Many co-op positions (common in government) allow for an individual project to be completed during the term. You might discuss with your supervisor about the possibilities and set a work plan including how much time you can set aside, working this into your objectives. If you know beforehand that you will have this option available, consider thinking of possible projects ahead of time as not all employers will prepare one for you. If you don’t have any ideas, ask your supervisor if there is anything they have been wanting to do, but just haven’t had time to do. Ideally, the project would be something that you are interested in or an area that you want to explore, and contribute to the team or organization.
Want to convince your supervisor of the benefits? Start with these reasons from the student strategies blog post I mentioned earlier.
By having such a project exists, it serves a number of functions:
- Something to Show – It gives the student a finished product to add to their portfolio. It’s an actual accomplishment, rather than simply conducting routine functions on a daily basis.
- Time Management – Depending on your office, sometimes things can get very busy, very fast. It can often be easy to forget about students that you may have working in your office. This project ensures that they always have something to work on.
- Contribution to the Group – In a busy office, sometimes you lose sight of the bigger picture. The capstone project ideally will fulfil some sort of need in your unit that is a “nice-to-have”, and will contribute to your unit in a positive way.
During and Throughout
Building a Portfolio
If you haven’t started already, begin building a portfolio. You might consider school work that you have done as well as work that you do during your co-op term. Depending on what you want to showcase, this might be digital or in a paper format. The work term project if you have one is a great addition. Remember that it’s not just about the products, but the process or methodology in creating the products that you may want to capture. You will also want to discuss with your supervisor how much can be made public and if not, if it can be used for interviews at the least.
Keep Current and Learn
If for whatever reason you have some “free” time, use the time to learn more about the organization or read more on topics related to your work. You might:
- Attend workshops or information sessions at your organization. For example, library students in the National Capital Region (NCR) should make sure to take part in library tours and socials organized by the CLA Government Section.
- Ask coworkers about their sources of information.
- Subscribe to relevant news, blogs, twitter, etc. feeds or mailing lists.
Essentially, keep up to date on the field and organization you’re working in.
Take Part and Get Involved
I wrote about my experiences in this last week, Reflecting on Communities through Collaborative Tools in the Government of Canada. I didn’t join in on communities with networking in mind, but of course it helped. More than anything, I met a lot of great people and had fun doing it.
Find out whether there are any initiatives going on either inside or outside your organization. In large organizations, such as government or universities, there may be interesting interdepartmental initiatives, groups, community of practices, etc. that are not only interesting, but relevant to your work (if perhaps indirectly). If you don’t get work time to participate, find ones that allow you to participate outside of work time. Just one or two can help you meet others, find out what else is happening, and network! Take part in socials too.
Network and Get Bridged
I am sure every student has heard a million times by now that networking is very important. Particularly in more ‘closed’ systems, jobs are rarely externally or publicly posted. People are hired through recommendations, or just good timing. Consider getting business cards to give people (even just your name and contact info with a line or two about yourself), or asking people for theirs. Alternatively, ask if they are on a social media platform like LinkedIn and for their e-mail address to find them.
In particular, the federal government has a student bridging program which expedites hiring of recent graduates who have done a co-op or FSWEP term during the time of their studies. If you do a co-op term in the federal government, find out more about bridging and add yourself to the National Inventory of Bridgeable Students [internal link].
At the End and Afterwards
Again, this may seem like common sense, but I’m surprised to hear how many people don’t think of it. Find a way to thank the people who helped you during your co-op term. This might be as simple as a thank you card addressed to everyone on the team you worked with.
Keep in Touch
When networking, you need to continue to network and keep in touch, especially with your supervisor who will be providing your references and possibly recommendations for positions (again, this applies particularly in more ‘closed’ hiring systems). I will admit myself that I haven’t necessarily been the best at this, but I plan to work on it!
Hopefully this post isn’t too much of a rehash of what others have said, but if it’s been heard before, I think it just reemphasizes how important some of these things are.
I’m sure everyone has experienced it when they change jobs. Everyone has experienced the shift and the need to adjust to a new job, manager/supervisor, and organization. I think what’s really hit me is that I’ve gone from one end to the pendulum to the complete opposite (or so it seems).
At my old job, I was basically given a one liner on what I should be doing, “go do x, and if you don’t know how, just read up on it and give it a go.” If I needed help though, my coworkers would be more than happy to. I used my time as I saw fit in working on projects, and attended workshops on campus.
Now, I get lots of detail on what is being asked of me. I also send everything to be vetted by my manager and sometimes other coworkers. I keep a list of everything I’m working on and completed as well. I ask permission to go to anything my manager hasn’t directly sent me to.
In general, yes, things were divided by units or departments, but we got good response time for the most part and had a fair amount of control over what we could do. It was fairly easy to contact people and find out what information you wanted or needed.
Now, things are not only divided, things sometimes frustrate me, because we get minimal to little support in some areas. I also find it difficult to get information, having to through unusual ways to get it frequently. Though I admit, I think a lot of it is having no control and being allowed to be given any. It’s irking especially to know that you could probably fix it yourself, but it’s not your job. Then again, it seems I’ve just been “lucky” to encounter a number of issues and it’s not that common for a lot of the little things to happen that have been bothering me. Don’t get me wrong, a lot of things do go very well. I have found people very helpful and willing to help, and IT help desk is great!
There is no better, just different and what fits better with your work style.
general, yes, things were divided by units or departments, but we got good response time for the most part and had a fair amount of control over what we could do. It was fairly easy to contact people and find out what information you wanted or needed.
Disclaimer: The purpose of this is not a criticism of anyone, but simply a reflection on the reality of things. Opinions written here are also my own and do not necessarily reflect the organization I work for, nor is it necessarily a reflection of what goes on in my organization as I have experience participating and managing numerous wikis. (This more or less applies to anything on my blog really…)
Normally, when you have a wiki, the idea is that the community collaborates to create and manage content. Others will not only suggest changes, but make them. There is little in terms of crossing lines or boundaries or stepping on someone’s toes beyond general netiquette, because what you begin, change, and read is created by a community of users whether that be a partner, team, organization, or the whole world (as is the case with large wiki sites such as wikipedia).
Nevertheless, because the wiki is a very open space, organization and managing content can become very unwieldy. Thus, in order to keep everything working and useful (i.e. not just a hodgepodge of pages), there is one or more wiki administrator and moderators.
So, what happens when a wiki is created within an organization? Hopefully people are educated about the purposes and the workings of a wiki. Then hopefully, as a result, if people start suggesting or changing things (especially moderators and admins), people do not ignore them or complain. However, in an organization where a set of content was traditionally created and managed by a single person who had complete control over what they do and how they do it without that really affecting anyone else, the idea of the wiki itself is hard to grasp for a lot of people, let alone the fact that it’s for community use and other people may come in and change things.
Many people also have a hard time grasping categories as it’s a different kind of organization and many people treat it like tags using their own personal organization without realizing that other people might change the hierarchy and/or use of the category as the wiki evolves. Most of all, because they use it as a personal tagging system, they don’t think about the larger use or organization of the wiki.
Because it’s obvious that some things are related to a specific unit’s or person’s project (but which will be used for greater use and public viewing), as one of the wiki moderators (and the one tasked with a specific area of it), I generally try to make suggestions instead of simply changing things in the hopes of not stepping on anyone’s toes. In some cases though, I simply get ignored or essentially get told “I/we don’t need your help, leave me/us alone”. Sometimes it’s all the harder because not only am I on a part-time contract, I’m also a student (which in some people’s view means I’m not fully qualified to do my job and/or make decisions for the organization without approval).
Perhaps the fact that I’m a student is an easy excuse or out, but whatever the reason, I think the real problem here is that our organization is changing the way we create and disseminate information. People will have much less control than they used to. This can mean more time for them to do other things, but as one who likes to have control over things, I can fully understand that people might not want to let go.
Getting people to understand the new system is one thing. Getting them to accept it is something altogether different. (And please don’t misunderstand, some people have been great about accepting and working with the changes that have been going on. I might even say the majority, but I don’t really know.)
What might be most interesting is that I will soon be passing this work onto someone else. Who that is, I don’t know, but I suspect it will be the next student to come along. It’ll be interesting to see how our wiki develops.