Distributed Teams in the Same Room

When you’re in the same room, often your communication is done via waving at each other, overhearing a conversation, happening by a desk, etc. It’s accidental communication in many cases, and it’s good. But it can have detrimental side effects to productivity when interruptions can happen at any time. That was the main impetus behind deploying HipChat to our organization–having a way to allow people to communicate without directly interrupting. Let people come to the communication, rather than taking the communication to them ...

April 24, 2012 · 2 min · Mark Simoneau

Pull Requests on Private Teams

Pull Requests are used often in the open source world, but less so on private teams. They are a great way to provide an automatic, team-wide code review mechanism. If your private team doesn’t use pull requests, I’d encourage you to investiage it. Why would you move your team over to pull requests? it provides a mechanism for code and source control review it gives more visibility and accountability to the whole team you can (optionally) restrict access so only trusted members bless the merge What is the Pull Request process like? There are lots of resources about how to submit pull requests out there, but the basics go like this. ...

April 24, 2012 · 2 min · Mark Simoneau

Always Fight for Simpler

If there is one thing I have said over and over again in one form or another, but never seem to learn completely, it’s “Always Fight for Simpler.” Everything could be simpler. Sure, we think it can’t, but it can. Don’t assume you need a feature in an app, a gadget in your life, or a certain amount of money… fight first for simpler. Ask yourself, for any given situation, what the simplest possible solution to the problem is. Maybe it’s not good enough… but maybe it is. Fight for the simplest solution and go from there. ...

March 8, 2012 · 1 min · Mark Simoneau

Complexity and Elusive Perfection

About three or four times a year, I find myself wishing my application wasn’t so complicated. I wish I was some stud developer who always made the right architectural decisions and didn’t back myself into a corner. I read about OO ideas regarding change management and coding for change even when you don’t know what that change is and mostly, I find myself baffled. Hindsight is 20/20. I can see easily how the decision that seemed good at the time to make a Model.seed! method that allowed you to specify all the department data in the database AND change it in the app was a bad idea. I can see that allowing users to change values of reports from within the reports, like a spreadsheet without using the adjustment-as-a-line-item pattern is now a bad idea… but we’re 3 years on and it’s just not something we’re going to be able to convince the users to change or the management to invest the money in fixing. ...

February 29, 2012 · 2 min · Mark Simoneau

Scary Complicated or Richly Awesome?

When you look at a new piece of data, most of our initial reaction is in relation to the complexity of that data. Usually this scares me, but after you get to know the data, the more the merrier! What was scary becomes rich and awesome. How do we move from scary complicated to richly awesome? Comprehension, comprehension, comprehension. And what is the best way to grok something like that? Dive deep into the guts of the code or the task and find out why the data is there and what it does. Why was it modeled that way? In what way could it have been modeled different? Do I have the power to change it? Is it a good thing to change it? Do I understand the system fully enough to see the richness of the data and of the model itself? ...

September 27, 2011 · 1 min · Mark Simoneau

Feedback Loops and Estimation -or- What Rubik's Cubes Taught Me About Making Software

Estimation is hard. It may not be listed as one of the top two problems in computer science, but it’s at least a close third. Over the years I’ve gotten to try all sorts of methodologies for estimating. Waterfall, Agile, Points, Stories, Requirements, Features, Epics, Pomodoros, Billable hours… you can go on forever with the Jargon of Management, trying to get information from a developer about how much longer The Client has to wait until The Feature is finished. ...

April 4, 2011 · 3 min · Mark Simoneau

How to Stay At Inbox Zero

I saw a link recently on how to get to the ever elusive “Inbox Zero” and it seemed kinda lame–label everything “oldinbox” and archive everything in Gmail. Maybe that’s the only way to do it when you have 10K+ e-mails in your inbox, but it seems like the best way is to never get there to begin with. Personally, I haven’t had more than 50 e-mail in my inbox at any given time in over 2 years. I ruthlessly archive and delete items and as soon as I’ve processed something into an action for “Things” I get it out of my inbox. For e-mails I just need to look at, reference or respond to, I use the stars feature, but I have only 8 starred items right now. I think at some point I had nearly 20… that’s about the max. ...

January 4, 2011 · 2 min · Mark Simoneau

The Importance Of Speed in Automation

We are impatient people. This is something that we must work to fix in order to grow as individuals, but it is something that serves the automator well–or can be our downfall. Joel Splosky wrote on the “Joel Test” that having anything less than the best tools money can buy is rediculous for a development team. The reasoning is this: If you’re paying developers what they are worth, then they are expensive, and wasting their time while they’re reading the Onion waiting for a build will kill your productivity–and your bottom line. ...

December 3, 2010 · 2 min · Mark Simoneau

Simplicity

I’ve read quite a bit lately about simplifying our lives–mostly from a personal perspective, i.e. having less stuff, doing fewer things, focusing on the right things. It made me wonder how that translates to the professional level. Apple, 37 Signals and many other companies make a living making software simple AND effective to use. That’s one way that it translates–on the macro level, but how about on the micro level? What is your absolute minimum work setup where you are free from distractions and free to do everything you need to do? Are there things that initially seem like “extras” that are actually a big deal? Are there things that you have in your workspace that you could easily do without now? ...

February 23, 2010 · 2 min · Mark Simoneau

iPad - The Future of Casual Computing

I read a great article last week about the complexity and power of computers vs. what most non-Gen-X-ers want and it really got me thinking about the iPad. The audience for the iPad is larger than the audience for the iPhone, even larger than the audience for a Mac. It’s a nearly complete computer replacement for a whole segement of the population. Some college students have the potential to get by without a computer at all. Imagine if everything fit into your $800, top-of-the-line device that you carried around under your arm. You could read your textbook, take notes, listen to music, watch movies, check e-mail… scratch that, check Facebook, browse YouTube, compose your paper, balance your budget and map out where to eat after study hall. It’s a fully functional device that is a tiny dent in their pocketbooks compared to a laptop. ...

February 2, 2010 · 3 min · Mark Simoneau