Marcello Duarte is the lead developer of PHPSpec and heads the Training at Inviqa, a leading PHP consultancy business in Europe. As an Agile coach, Marcello has coached many teams in many organisations into Agile processes and development practices like Scrum, TDD, Refactoring, Collaborative Product Ownership and Software Quality.

April 20, 2014

Compromise vs collaboration

When it comes to software development I see 3 predominant forces: production, production capability and demand. Production is the development, the team at work, taking responsibility for their commitments and managing their own work. Production capability is a separate force, it refers to sustainability, a force that makes sure production will continue and it will not become cluttered after 2 months down the line. The third force is demand, the business. These three forces pull in different directions and are ideally performed by discrete roles and individuals.

Continue reading →

March 31, 2014

PhpSpec proof of concept package deleted

If you are looking for phpspec/phpspec2 package on packagist you are looking for the wrong package. This was once used for the proof of concept of PhpSpec 2.0 and has now been discontinued, all the packages versions were deleted. We have also renamed phpspec/phpspec2 to phpspec/phpspec2-proof-of-concept on github to eliminate any chance of people taking it to be PhpSpec 2.0. The actual repository for PhpSpec 2.0 is

Continue reading →

March 19, 2014

PhpSpec 2.0 is out

I am very happy to announce the long awaited release of PhpSpec 2.0. PhpSpec is an amazing tool, and the work of many PHP developers who are enthusiasts about developing better code. Extensive kudos to all of you, but specially to my colleague Konstantin Kudryashov, with whom I spent so many sleepless nights discussing the ideas behind this tool and making it so that developers would really enjoy emergent design in PHP.

Continue reading →

March 18, 2009


Scrum is one of those very simple things that turns out very hard in different levels. It's basically a framework with some few rules that is designed in ways that makes responding to change, or creating necessary changes easier. It takes a two-days workshop and a few hundred dollars to become a Certified Scrum Master. You get out of this session with some really good ideas on how to go about your Scrum implementation to apply back at your work environment. Some people read about Scrum on the web or a book and think this is a good idea and start using it (or some of it) to get things done.

Continue reading →

October 22, 2008

Team Resonance

People and groups vibrate. When you first join a group you can sort of sense their vibration and feel whether yours resonates with theirs. Have you been in a gathering where what people say makes perfect sense to the other individuals of that group but makes no sense to you? Or have you travelled to a distant country and the exposure to a new culture felt somewhat disturbing? When a person is long enough in a group or culture the vibration of the group will affect that of the person and eventually things that didn't make sense before suddenly start to become more sensible.

Continue reading →

October 18, 2008

Connected Leadership

Last week at the London Scrum User Group's meeting the topic kept coming up, in a form or another, of how to convince the client, within a waterfall organization, that managing their project with an agile methodology can sometimes be the best approach. This could be an external or an internal client with some sort of formal requirement that would be somewhat incompatible with the artifacts already being produced.

Continue reading →

August 8, 2008

Is PHP an Agile Programming Language?

In raising the question about whether a specific programming language is agile I want to avoid exploring what makes a language agile, or comparing PHP with other languages. The intention here is not to associate PHP to agile as a natural relationship, as much as to try and understand if we can find the ingredients in the PHP world, for creating an agile environment.

Continue reading →