A balance of trust and quality
Projects are risky. Specifications are nearly impossible to define on most projects due to technical or communication gaps. This is the age old challenge many people fight. One popular solution for unclear specs is the fail fast methodology. It's founded on brief iterations that lack polish, frequent tests by a client and an over abundance of communication. This strategy is common for rapid prototyping and is effective for clients that can get their hands on something visually. All too often we fall into the trap of quality. Quality, to me, is only a metric of a final deliverable. It should
It's not you, it's me
Bad projects are toxic. While most staff within a company focus on the bottom line, the bottom line is no guarantee of project success. It's impossible to look in your crystal ball and make this call before a project begins. Hindsight is 20/20, right? This could be due to any number of different factors. Some I have seen include: clashing personality between teams, a lack of participation on behalf of the client, unclear expectations of roles and responsibilities, client changes the requirements throughout the project, client cannot provide the clarity of the requirements, etc.When things
An Agile Spree
At the heart of Agile is flexibility. This is designed into sprints that are intended to account for changes rolled into subsequent sprints.But, think of an overall backlog. A high level estimation will yield a given number of sprints. This structure actually is not very flexible at all. Unless, of course, each sprint has time allocated for reviewing, testing, and bug fixing. This is a slippery slope; a more substantial change can really throw off a sprint. So, how do you address the issue of quality?I have recently been reading a lot about corporations paying others to hunt bugs in their
Risks and Unwavering Swagger
Push aside the user stories, contracts, and legalities. When push comes to shove, the developer delivers the goods. In my mind, there is huge risk to a project with the role of a developer. Let's be clear though. Every project has risks. Every project has some complexity behind it. What this means is that there is a dark art to the design decisions made by the developer. I've never seen a client accurately define what content types or modules need to be installed. Again, if they were that educated about what needed to be done, they wouldn't be paying you to do it. The developer must learn
The role of the noob
Peter Nixey describes good developers as both technology proficient and hard working in his blog post. His concept of "simplicity" is worth noting. I highly encourage developers to create code that limits complexity. But, there is an even more important aspect of complexity: usability.Simplicity and excellence are most reliably attained by starting with something, anything, that gets the job done and reworking back from that point.Enter the noob. Every project should have someone in this role. Technologically detached. Familiar with project goals, but does not look at one line of code. No
Migration Tips and Tricks
The Migrate module is, hands down, the defacto way to migrate content in Drupal. The only knock against it, is the learning curve. All good things come to those who take the time and learn it. I have summarized some tips and tricks I have learned. Thank you to Mike Ryan and Alex Ward for helping me get up to speed. Drupal's Migrate module is a code-centric approach to migration. As such, I highly recommend leveraging Drush during development. Here are some tips I have used, some of which require Drush to be installed. 1. drush mreg Quick and dirty way to register new Migration classes after
Towards organizational efficacy
As organizations evolve, traditional metrics and philosophies are being thrown out the window to further organizations. Such factors include efficacy, employee satisfaction/ownership, innovation, etc. I offer no beneficial contribution to this discussion, short of agreeing in principle with these efforts. However, I point you in the direction of two things I have found to be relevant: 1. Blog post from Github: http://zachholman.com/talk/how-github-no-longer-works/ Very limited management, remote employees, rapid change and growth. Read on... 2. Rework book by 37 signals: http://www.amazon.com