Project Management

Distributed Everything

Yesterday, I came across this article from Venturepreneur Partners discussing the idea of "Web 2.0: Where everyone, virtually knows everyone" and I thought how applicable it was... not just to this little community, but where technology seems to be leading us in general. Five years ago this concept was possible but unlikely and ten years ago, this was just impossible, but now not only are we a more mobile society in general, but we have the opportunity to be more connected than ever. As Clarence Wooten puts it:

The experience lead me to think about Web 2.0’s impact on social circles. In the physical world, social circles are groups of people who happen to frequent the same places and know the same people — either personally or professionally.

If you haven’t already noticed, Web 2.0 has enabled the formation of “virtual social circles” — circles that are so geographically sparse that they can only exist virtually.

Open Source Can Still be a bit Closed

It's no secret - I'm a huge fan of Ruby.

I had a user recently on the ruby-talk mailing list make it known that QtRuby was acting up for him with Debian. There was some discussion, but no resolution.

A few days ago, I had another Gentoo Developer tell me the same thing. So I investigated. And I found that QtRuby worked fine with Ruby <= 1.8.3, but broke with Ruby 1.8.4.

I dove in.

Interview: Mike Ho of QCodo

This is the second in a series of interviews we're making available to the CodeSnipers community. We have been working to track down people who we thought had something valuable to say about the software development community, tools, practices, or direction. Some of the names you will recognize immediately, others you've probably never heard of, but all of them have made an impact in one way or another. Without further delay... we have Mike Ho the lead developer of Qcodo.

Qcodo had its debut at the Zend/PHP Conference in October and few in our community were there. Can you tell us about how Qcodo came about and what it does?

Well at the risk of sounding like “yet another PHP framework”, Qcodo is in fact a PHP development framework.

It is focused on allowing development teams create good, solid prototypes in a ridiculously short amount of time, and for giving developers a toolset to mature these prototypes into full-fledge enterprise-level applications.

At its core, Qcodo is broken down into two main parts: the Code Generator and Qforms. The Code Generator focuses on analyzing your database to create basic Create, Restore, Update and Delete (CRUD) functionality. Qforms is an object-oriented stateful, event-driven architecture to handle web page and HTML forms processing, similar to .NET or Java Struts. Both obviously work with each other seamlessly. But you could definitely choose to just use one or just the other.

The entire framework originally started out over 4 years ago as just a simple but robust Microsoft SQL Server and ASP code generator while I was working as an independent contractor. Since then, it has been rearchitected and greatly improved upon throughout the years, first being ported to ASP.NET. Over a year ago it was redesigned specifically for PHP 5 and has been made into a full-fledged development framework for use with the many projects I have been fortunate enough to work on. Throughout Qcodo’s life it has been used on a wide variety of projects on all these platforms, from small startups to Fortune 500 companies like Covad and Lockheed Martin and large government agencies like Chicago Public Schools and NASA.

Earlier this year, I was fortunate enough to be invited to speak at the MySQL User’s Conference, where I talked about the code generator, specifically, and how code generation techniques could be used to greatly accelerate enterprise application development. The feedback was so overwhelming, not only for the technique, but for the code generator itself, that I realized that the market has a huge need for not just the code generator, but an entire framework like Qcodo to be open sourced. So I spent the next couple of months cleaning up the code and ensuring that it was clear of any proprietary or IP constraints, and released it as an open source framework in time for the Zend/PHP Conference.

Wrap Party

The final installment; part six of a series of storied experiences on a small project at a large consulting company in the Pacific Northwest.

Six weeks go by quickly, and the project is complete. Now it's time to take a look back to see what we can learn about what went well and what did not.

Beta max

Part five of a series of storied experiences on a small project at a large consulting company in the Pacific Northwest.

"Can we add a link for Trip Reports under the Correspondence section?" Brett, our client on a small web application project, asked during the alpha demonstration.

"Of course," was my gut reaction, "Do you want it below the link for Meeting Minutes?" And with that, the scope crept incrementally.

Overall, the alpha demonstration went very smoothly. We used Live Meeting to share our desktop with the client, which worked great, even through the firewalls. Brett was happy with the progress we had made in short order, and besides the few new features they asked for during the demo, we were right on schedule.

Down to business

Part four of a series of storied experiences on a small project at a large consulting company in the Pacific Northwest.

It was Monday, and I was finally starting to feel at peace with my job and personal life. Friday's confrontation with Robert ended amiable enough with an agreement that we were basically on the same page; the problem was that we didn't know each other well enough yet for trust and understanding to develop. Even the confrontation started building our understanding of each other and brining us closer together as a team instead of driving a wedge between us.

Alpha blues soup

Part three of a series of storied experiences on a small project at a large consulting company in the Pacific Northwest.

To: Rusty/SEA
From: Robert/SEA
Sent: Fri Oct 21 08:35:20 2005
Subject: RE: Just when you thought it was safe to go out...

I will be in late this morning (about 9:30), and will drop by. Can Angela get started with training docs?


Team Friction

Part two of a series of storied experiences on a small project at a large consulting company in the Pacific Northwest. (Part One).

Robert held his key card to the electronic light of the entry door to the third floor office space. The light greened, and he opened the door while gentlemanly holding it for the team to pass through.

We were working on a project to develop a web application that managed documentation related to contracts and communications for a regional power utility district. The team consisted of Robert, Project Manager; Ryan, Developer; Angela, Graphics/Usability; and myself, Lead Developer. The client had requested a six-week final delivery schedule to coincide with opening their next big project using the web application. A break-neck project to be sure; six weeks to gather requirements, develop an interface, code, and document; forget about time for testing. Registering my complaint about the over-ambitious schedule at our internal kick-off meeting fell on deaf ears, but at least it was on record.

Our Team Palace

"You're not going to believe it," the project manager quipped in his cagey style as he lead my development team from our cubicles to our first meeting in the team room reserved for our latest project.

After a brief pause where I attempted to evaluate whether I should expect to be pleasantly surprised or morosely let down, I guessed the former, "I bet it's like the Taj Mahal." After which Robert's only reply was a chuckle, preferring to keep his game going instead of acquiescing to my correct assertion.

The four of us boarded the elevator on the fifth floor and went down to the third floor. Our company occupies all of the fourth, fifth, and sixth floors (the top floor of the building), which are all well connected by stairs. The third floor, of which we occupy only half, can only be reached by the elevator. People on the third floor complain they feel cut off from the rest of the company; I don't think they even have a fridge or a microwave down there. Not a great sign to start off this project.

How to work for free and keep your sanity

If you make websites, surely you've had some friend or relative say "Hey, can you make a site for my non-profit group?" … you think, I'm a nice person and this cause is just. And here's some extra practice and something to put on my portfolio, SURE! Not a problem. I have recently had a frustrating experience with something like this and I've learned a few things…