Is it time for Basecamp 2?

November 18, 2009
Basecamp’s a great product and clearly customers are happy with it. Recently I’ve noticed Basecamp appears cluttered. Basecamp’s traditionally sparse look-and-feel has been replaced by visual clutter; this is a feeling.

I went back and looked at 37Signals’ ‘Getting Real’ development manifesto and came across the section on avoiding feature bloat and it got me thinking. Is it possible Basecamp has become bloated?

If Basecamp could be re-imagined what would it look like? Perhaps it’s time to for a clean break and 37 Signals could build Basecamp 2?

Lightening Talk – Project management’s three-ring circus tags:agile,project

November 17, 2009
I’ll be presenting at Tonight’s Lightening Talk:

Project Management’s Three-Ring Circus

Learn about the three factors that influence every software project.

Organizational culture
People and uncertainty
Dealing with unknowns

XP Toronto Lightening Talks – 7:00pm At Ryerson (tags:project,agile,xp)

November 17, 2009
XP Toronto are hosting their Lightening Talks this evening at Ryerson. The talks are short presentations on the latest topics in agile software project management.

 

Tuesday November 17, 2009 at 07:00PM

Ryerson University George Vari Engineering and Computing Centre 245 Church St. (Room ENG 288 / 289 )


Koyana introduces it’s new website.

November 12, 2009
Koyana’s website has been moved from Apple’s MobileMe to GoogleApp Engine. We’re using a combination of Java and Flex to provide more flexibility and control over content.
If you’re looking for old content we’ll be making it available in the next six weeks.


The best definition of engineering elegance …

November 6, 2009

A designer knows he has achieved perfection not when there is nothing left to add, but when there is nothing left to take away.

Antoine de Saint-Exupéry


Google’s Privacy Centre announces Dashboard

November 5, 2009

Over 11 years Google has offered many innovative products and stored a lot of data. Now you see your data stored with Google via ‘Google Dashboard’.

Google Privacy Centre

Google Dashboard


Koyana open-sources Basecamp-data importer

October 13, 2009

We’ve released code for a Basecamp data-importer as project Texa hosted on BitBucket. The importer is based on Grails. Texa imports your Basecamp account XML file and stores your information in a database you can configure.

We use Texa to create a database for customized project tracking and reporting applications written in Grails and Flex.

Rob MacGregor


The FreshBooks hiring lament

October 8, 2009
I follow a few blogs maintained by people and companies that have interesting perspectives. One of those companies is Toronto-based FreshBooks. Today I read there blog with uncharacteristic disappointment because of a blog post from FreshBooks’ Chief Cat Herder Corey Reid.
FreshBooks is hiring and Corey is lamenting the quantity and quality of the resumes he is receiving. Corey then goes on to describe his formula, known as the three ‘Be’s, of getting a job. With a tragic lack of imagination the three ‘Be’s are; be specific, be relevant and be discerning. Corey’s post carried a tone of tired solipsism that sounded like whining.
The first ‘Be’ is ‘Be Specific’. This is good advice for job seekers and employers alike. For job seekers be specific in your resumes as Corey describes. FreshBooks and Corey should be specific in their role-descriptions. Here’s an example where improvement could be made, let’s examine a FreshBook’s role description for a Software Developer:
“Love the fast-paced and creative environment of a start-up, but could do without the stress and chaos? FreshBooks has been around for more than five years now and has a fanatical fan base of over 900,000 people who use our groundbreaking Web 2.0 application. Whatever “Web 2.0” means.”
As a jaunty up-beat summary it’s OK. But it needs to be specific; what does FreshBooks need from software developers beyond developing software? Software to do what? By when? Create new features? Punctuation matters too; the last sentence needs a question mark. This paragraph was wasted because it fails to inform about FreshBooks intent.
Next comes skill areas and there is nothing specific:”3 years’ experience building online applications” – What kind of applications? Which target markets? Which implementation languages? What architecture?
“Serious SQL chops” – Does that mean I make every SQL query seriously? I know where to get a book on SQL? Does it mean I can formulate arbitrarily complex SQL queries?
The last bullet-point is the worst because it’s a reprimand: “No desire to waste our time because you don’t actually have some of the qualities described above”. Given the prior vague descriptions this is self-serving at best. Here’s a tip Corey; don’t reprimand the people your trying to recruit.
Corey’s second ‘Be’ is ‘be relevant’. Corey deplores applicants who, in his opinion, haven’t matched their skills to the role. Here’s another perspective; beyond the message that FreshBooks does invoicing there is little to information describing FreshBooks’ culture, revenue-model or intent. Without more information candidates cannot fill-in the gaps for a hiring manager. BTW FreshBooks’ 2 minute video is amusing but gives the impression FreshBooks is Facebook. Why not have employees describe why they joined and remain at FreshBooks?
The third ‘Be’ is ‘be discerning’. Discerning means shrewd, astute and selective. Corey’s point is applicants should tailor their applications to aid FreshBooks in identifying relevant skills. The driver for discernment is ‘Five-page resumes full of thick paragraphs, endless lists of acronyms and long columns of bullets just make you look like everyone else.’
If you don’t specify length/pages you’ll get everything because applicants want to present a complete work-history. If you want less volume ask for it in the application process. If you’re seeing similar resumes it means you’re getting consistent responses to your role descriptions. E.g. if you asked for SQL you’re going to see a lot of SQL in the resumes!
Here’s some tips that make hiring easier:
1) Make time to read resumes; all of them! Applicants made the effort to send them to you so you read them. If you see a resume you don’t like contact the applicant and explain how to improve it.
2) Hold a regular open gathering where people can come into FreshBooks, meet employees and talk to you. Think of this as a small scale job fair with one employer. If you have a Friday Beer/Pizza party this is a good venue. Meeting potential hires lets you talk to them in groups so you don’t repeat yourself and makes a relaxed atmosphere. Encourage friends-of-friends to attend. Keep doing this regardless of headcount; always be recruiting.
3) Don’t put reprimands in role descriptions.
4) Avoid adding questions at the end of requirements: “Experience with “Agile” development methodologies (whatever “Agile” means)” because it looks cynical. If you don’t know what it means why is it a role requirement?
5) Improve your job title. Do you want to be recruited by a Cat Herder?
Cory Reid, Chief Cat Herder – better stick with herding cats Corey until you improve your hiring process!

I follow a few blogs maintained by people and companies that have interesting perspectives. One of those companies is Toronto-based FreshBooks. Today I read their blog ( bit.ly/44zZ52with uncharacteristic disappointment because of a blog post from FreshBooks’ Chief Cat Herder Corey Reid.

FreshBooks is hiring and Corey is lamenting the quantity and quality of the resumes he is receiving. Corey then goes on to describe his formula, known as the three ‘Be’s, of getting a job. With a tragic lack of imagination the three ‘Be’s are; be specific, be relevant and be discerning. Corey’s post carried a tone of tired solipsism that sounded like whining.

The first ‘Be’ is ‘Be Specific’. This is good advice for job seekers and employers alike. For job seekers be specific in your resumes as Corey describes. FreshBooks and Corey should be specific in their role-descriptions. Here’s an example where improvement could be made, let’s examine a FreshBook’s role description for a Software Developer:

“Love the fast-paced and creative environment of a start-up, but could do without the stress and chaos? FreshBooks has been around for more than five years now and has a fanatical fan base of over 900,000 people who use our groundbreaking Web 2.0 application. Whatever “Web 2.0” means.”

As a jaunty up-beat summary it’s OK. But it needs to be specific; what does FreshBooks need from software developers beyond developing software? Software to do what? By when? Create new features? Punctuation matters too; the last sentence needs a question mark. This paragraph was wasted because it fails to inform about FreshBooks intent.

Next comes skill areas and there is nothing specific:”3 years’ experience building online applications” – What kind of applications? Which target markets? Which implementation languages? What architecture?

“Serious SQL chops” – Does that mean I make every SQL query seriously? I know where to get a book on SQL? Does it mean I can formulate arbitrarily complex SQL queries?

The last bullet-point is the worst because it’s a reprimand: “No desire to waste our time because you don’t actually have some of the qualities described above”. Given the prior vague descriptions this is self-serving at best. Here’s a tip Corey; don’t reprimand the people your trying to recruit.

Corey’s second ‘Be’ is ‘be relevant’. Corey deplores applicants who, in his opinion, haven’t matched their skills to the role. Here’s another perspective; beyond the message that FreshBooks does invoicing there is little to information describing FreshBooks’ culture, revenue-model or intent. Without more information candidates cannot fill-in the gaps for a hiring manager. BTW FreshBooks’ 2 minute video is amusing but gives the impression FreshBooks is Facebook. Why not have employees describe why they joined and remain at FreshBooks?

The third ‘Be’ is ‘be discerning’. Discerning means shrewd, astute and selective. Corey’s point is applicants should tailor their applications to aid FreshBooks in identifying relevant skills. The driver for discernment is ‘Five-page resumes full of thick paragraphs, endless lists of acronyms and long columns of bullets just make you look like everyone else.’

If you don’t specify length/pages you’ll get everything because applicants want to present a complete work-history. If you want less volume ask for it in the application process. If you’re seeing similar resumes it means you’re getting consistent responses to your role descriptions. E.g. if you asked for SQL you’re going to see a lot of SQL in the resumes!

Here’s some tips that make hiring easier:

1) Make time to read resumes; all of them! Applicants made the effort to send them to you so you read them. If you see a resume you don’t like contact the applicant and explain how to improve it.

2) Hold a regular open gathering where people can come into FreshBooks, meet employees and talk to you. Think of this as a small scale job fair with one employer. If you have a Friday Beer/Pizza party this is a good venue. Meeting potential hires lets you talk to them in groups so you don’t repeat yourself and makes a relaxed atmosphere. Encourage friends-of-friends to attend. Keep doing this regardless of headcount; always be recruiting.

3) Don’t put reprimands in role descriptions.

4) Avoid adding questions at the end of requirements: “Experience with “Agile” development methodologies (whatever “Agile” means)” because it looks cynical. If you don’t know what it means why is it a role requirement?

5) Improve your job title. Do you want to be recruited by a Cat Herder?

Cory Reid, Chief Cat Herder – better stick with herding cats Corey until you improve your hiring process!

FreshBooks is hiring and Corey is lamenting the quantity and quality of the resumes he is receiving. Corey then goes on to describe his formula, known as the three ‘Be’s, of getting a job. With a tragic lack of imagination the three ‘Be’s are; be specific, be relevant and be discerning. Corey’s post carried a tone of tired solipsism that sounded like whining.

The first ‘Be’ is ‘Be Specific’. This is good advice for job seekers and employers alike. For job seekers be specific in your resumes as Corey describes. FreshBooks and Corey should be specific in their role-descriptions. Here’s an example where improvement could be made, let’s examine a FreshBook’s role description for a Software Developer:

“Love the fast-paced and creative environment of a start-up, but could do without the stress and chaos? FreshBooks has been around for more than five years now and has a fanatical fan base of over 900,000 people who use our groundbreaking Web 2.0 application. Whatever “Web 2.0” means.”

As a jaunty up-beat summary it’s OK. But it needs to be specific; what does FreshBooks need from software developers beyond developing software? Software to do what? By when? Create new features? Punctuation matters too; the last sentence needs a question mark. This paragraph was wasted because it fails to inform about FreshBooks intent.

Next comes skill areas and there is nothing specific:”3 years’ experience building online applications” – What kind of applications? Which target markets? Which implementation languages? What architecture?

“Serious SQL chops” – Does that mean I make every SQL query seriously? I know where to get a book on SQL? Does it mean I can formulate arbitrarily complex SQL queries?

The last bullet-point is the worst because it’s a reprimand: “No desire to waste our time because you don’t actually have some of the qualities described above”. Given the prior vague descriptions this is self-serving at best. Here’s a tip Corey; don’t reprimand the people your trying to recruit.

Corey’s second ‘Be’ is ‘be relevant’. Corey deplores applicants who, in his opinion, haven’t matched their skills to the role. Here’s another perspective; beyond the message that FreshBooks does invoicing there is little to information describing FreshBooks’ culture, revenue-model or intent. Without more information candidates cannot fill-in the gaps for a hiring manager. BTW FreshBooks’ 2 minute video is amusing but gives the impression FreshBooks is Facebook. Why not have employees describe why they joined and remain at FreshBooks?

The third ‘Be’ is ‘be discerning’. Discerning means shrewd, astute and selective. Corey’s point is applicants should tailor their applications to aid FreshBooks in identifying relevant skills. The driver for discernment is ‘Five-page resumes full of thick paragraphs, endless lists of acronyms and long columns of bullets just make you look like everyone else.’

If you don’t specify length/pages you’ll get everything because applicants want to present a complete work-history. If you want less volume ask for it in the application process. If you’re seeing similar resumes it means you’re getting consistent responses to your role descriptions. E.g. if you asked for SQL you’re going to see a lot of SQL in the resumes!

Here’s some tips that make hiring easier:

1) Make time to read resumes; all of them! Applicants made the effort to send them to you so you read them. If you see a resume you don’t like contact the applicant and explain how to improve it.

2) Hold a regular open gathering where people can come into FreshBooks, meet employees and talk to you. Think of this as a small scale job fair with one employer. If you have a Friday Beer/Pizza party this is a good venue. Meeting potential hires lets you talk to them in groups so you don’t repeat yourself and makes a relaxed atmosphere. Encourage friends-of-friends to attend. Keep doing this regardless of headcount; always be recruiting.

3) Don’t put reprimands in role descriptions.

4) Avoid adding questions at the end of requirements: “Experience with “Agile” development methodologies (whatever “Agile” means)” because it looks cynical. If you don’t know what it means why is it a role requirement?

5) Improve your job title. Do you want to be recruited by a Cat Herder?

Cory Reid, Chief Cat Herder – better stick with herding cats Corey until you improve your hiring process!


Article via InfoQ – Encrypting the Internet

September 22, 2009

Encrypting Internet traffic is necessary to maintain privacy. SSL over HTTP provides encryption and introduces processing overhead. This article, by Grover,Kang, Kounavis and Berry, is a three-pronged solution utilizing new CPU instructions, a novel RSA software implementation and  web-server load balancing.

Encrypting the Internet


Project management disputes and techniques to resolve them

September 6, 2009

Sept 14, ADR Institute office
234 Eglinton Ave. E.  Suite 405

Poor project management is a common cause of disputes in technology projects of all kinds.  Unrealistic expectations, lack of communication, undocumented changes in requirements, multiple parties working at cross-purposes can all contribute to disputes that rapidly escalate if they are not managed and resolved effectively and efficiently.
Our speakers, Ori Schibi and Robert MacGregor, are project management experts who have experience dealing with all of these problems.  They will speak about how and why disputes arise and how effective project managers deal with them.

Following their presentations, there will be a round-table discussion on the role of mediation and arbitration in the dispute resolution process.

Ori Schibi is an entrepreneurially-minded project and change management expert with twenty years experience in financial services, IT, telecom, not-for-profit and education sectors. He is an educator, trainer and facilitator committed to collaborative working environments and results.

Robert MacGregor is the principal of Koyana Inc., which specializes in saving software projects in crisis.  His methodology identifies the symptoms and causes of software project failure and applies effective countermeasures to improve project management and manage conflict.