If you're not thinking about process, you're probably doing it wrong. That's what we say internally, anyway.

I know, process can be a dirty word, but it’s a function of how you approach it. The thing is, process isn’t for the sake of process. Process is for the sake of the people. And if you understand that people constantly change, adapt, and grow, then you must accept that process must also constantly change, adapt, and grow.

Process is an often overlooked but killer competitive advantage. We don’t dare to say that we’ve got everything 100% right, but we take pride in knowing that, when hell breaks loose, we’re better equipped to solve problems together.

Obsess over process. It’s the best advice I can give any team.

This past weekend I had the chance to speak at jQueryTO about creating a stronger developer culture within organizations and teams. Specifically, I wanted to share some of my own experiences and get people thinking about how they can create similar cultures of their own.

It’s a topic I’ve been interested since I started as a developer and one we feel really strongly about at Jet Cooper. This past year, as we continued to iterate on our process, we focussed a lot of energy on what we could do to strengthen both our development process and culture within the studio at large.  In my talk, I shared our insights from inside and outside of projects, which I’ll try to summarize here.

Two Fridays ago, we got the team together to kick off our upcoming company planning sessions. With everyone seated around the Sandbox (our nickname for our team meeting room), we openly discussed topic ideas, session formats, organizing action items, and scheduling, among other details.

Last week, each person had a chance to submit their recommendations on topics they’d like to talk about or see covered. Recommendations typically cover everything from the way we work (process, roles, accountabilities), to the things we work on (new industries, clients, special projects), to the things we use everyday (equipment, supplies, studio space). These recommendations get consolidated, refined and turned into a series of presentations, workshops, and roundtable discussions that are led by our team over a course of 2-3 days where the studio closes up shop. It’s like our own internal Jet Cooper conference. And we do it every 6 months.

Behrouz leading a Futurecasting workshop.

We make some pretty substantial changes to our process every six months through internal planning, where our team regroups on every facet of operations, strategy, design, and development.

The knowledge we glean from reviewing the previous six months is invaluable. However, for operations, it can be a daunting task to implement the sheer amount of process changes all at once. So this time around, I wanted to try out some experiments and track progress on a more regular basis.

Collection of notes from project retrospectives.

Earlier this year, I was about to start working on a new project, when I was told that it would have to meet certain accessibility requirements (in this case it was ADA Section 508). At first, I wasn't really too worried about it. As long as my code was clean and I didn't do anything too stupid, it would be no big deal… right? Well, reading up on the standards confirmed that making a site decently accessible means that there's a lot more to it than just remembering alt tags.

Defining Accessibility

We developers like to talk a lot about accessibility, but what does it actually mean? The W3C’s page on accessibility sums it up fairly well:

“It is essential that the Web be accessible in order to provide equal access and equal opportunity to people with diverse abilities. Indeed, the UN Convention on the Rights of Persons with Disabilities recognizes access to information and communications technologies, including the Web, as a basic human right. Accessibility supports social inclusion for people with disabilities as well as others, such as older people, people in rural areas, and people in developing countries.”

Basically, this means that all sorts of people should be able to access your site, and not just a lucky few. With that in mind, here are some things that I discovered about accessibility over the last few months.

jQuery plugins: friend or foe?

I’m not going to lie — I like using a good jQuery plugin here and there since it can save a ton of time in implementing all sorts of interactive features. However, when it comes to creating an accessible site, a lot of these “awesome” plugins won’t actually work properly. I’m not going to name and shame here, but if you’re trying to build an accessible site, do yourself a favour and try out any plugin you’re considering using only your keyboard instead of your mouse. Sadly, many plugins totally crumble when put to this test. In some cases, it isn’t a huge deal because the plugin can be modified fairly easily, but in other cases, you might need to scrap it altogether.

Takeaway: You might have to write more custom JavaScript, but that’s okay. You’re a web developer and you like writing JavaScript, right?

Accessibility is in the details

Applying the concepts of accessibility in practice will make most people think about things they never considered before. What’s it really like to navigate a website exclusively with your keyboard? What will your colour palette look like to people who aren’t using nice new displays with good contrast — or to someone with colour blindness? Will people who need to zoom in on the website be using browser zoom or changing their browser’s default text size, and what does that mean for your web typography choices? How will people who can’t hear experience audio or video on your site — do you have transcripts prepared? Are your icons and symbols properly labeled so all users can understand your website? Making a site accessible doesn’t necessarily have to be about grand gestures – the little things add up to achieve big accessibility wins.

Takeaway: Making a website accessible doesn’t just help those with disabilities use your site; it can help anybody have a better experience by making your site easier to use and understand.