environment (10)


Inspired by Behat

Pride comes before a fall – A person who is extremely proud of his or her abilities will often suffer a setback or failure, because he or she tends to be overconfident and to make errors of judgment.  Latching onto Agile as a weak guide can give people a false sense of security. 




Job Title is dead

I have been looking for something to write about that I can title “[xxxx] is dead”. And finally found something I feel I could safely damn. A recruiter said to me the other day, “It’s not obvious from your resume you have worked in Agile environments”. After some quizzing why (after, I have spent the last 12 years almost exclusively on Agile projects), the “problem” was the job titles. I shouldn’t be a Senior Tester, I should be an Agile Senior Tester. My history is littered with misleading Job titles, titles not easy to remove as that is how I was hired. Is is OK to change your job title, as you see fit? Or is it down to people searching to be more semantic about it?




PHPSpec BDD for PHP

There is no reason you can’t use BDD for any programming environment. Here is slideshare presentation of PHPSpec, and BDD tool for PHP development.




Test Automation

Test AutomationAn often rushed consideration, when the ideal is it’s runs parallel to development. Ad in a decent acceptance testing framework such as Fitnesse, and you have effective environment to maintain effective testing.

We have skills in Fitnesse, Selenium, Specflow, AgileToolkit, Visual Studio Team Test, and other test tools (we follow an ATDD approach to automated testing).  We can either work with the tools you have, or recommend ones best suited to your resources and environment.

Developers build, integrate their code changes back into source control, then a continuous build tool will periodically (typically nightly) build, test and report failures.  This follows the Agile philosophy of developing smaller features and integrating/testing early.  It has also caused one of the major Agile misunderstanings in business – that Agile is risky.  It is, in fact, a lot less risky.

One of the core principles of iterative and incremental development (Agile fundamental), is …

build -> integration -> test -> iterate

By ensuring developers are working from the same codebase, then integration issues (by far the most common issues in the software development lifecycle) are minimised as caught early.

The risk area is with implementation and management of the process, and having a test automation strategy will keep development process tighter. The Acceptance Testing framework, can be used as project monitoring tool, for use by all on project.  Anyone should be able to run tests with minimal technical knowledge – it all helps wit the all-important Agile transparency.




Can’t see wood for the trees

Business needs to move away from Procrustean solutions approach, which inevitably affect the way projects are managed.

A Procrustean solution is the undesirable practice of tailoring data to fit its container or some other preconceived structure. A common example from the business world is embodied in the notion that no résumé should exceed one page in length.

Look at any job spec, and you will see this attitude. The person writing the job specs generally lists the experience in technologies and processes, that is required for the role. That spec will never be completely fulfilled, as its firstly unrealistic – the equivalent if a very large fishing net. Secondly, you will simply encourage applicants to embellish and customise their real selves to suit what they think you want. That at least can be changed, but we also need to change the way we educate, and the way we currently think. That seems like an even taller order! I can’t directly change the way business operates, but I can change the way I operate, and work on promoting that attitude to others.

Business still leans to the X Theory, assuming that people don’t want to work, therefore have to be actively managed and driven. Well, that does sound like they have given up already. You cannot deny there are elements of truth to the assumption, but it is a sliding scale and having Y Theory approach (assuming that work can be a fulfilling experience) would be provide more inspirational environment, and more working done.

A start-up is generally closer bond naturally (there are fewer people, and and an “all in it together” feel. Also no room for wallflowers, or unproductive people. So almost self-maintaining. I have worked at poor start-ups (usually started by ex-blue chip), where application of blue chip business philosophy creates a very strained environment.

But what is forced by circumstance, is a plot harder to apply in reality. Though we all appreciate the benefits of Kanban, it goes against our fundamental education system. The hardest part to understand is when exactly does the project finish, if management of work can change at any time? Well, that’s where skill comes in – project management are supposed to be managing expectations and have skills in planning. After a long time of Agile projects having project management of vastly differing ability, projects have collapsed or succeeded based on the quality of the developer(s). The crunch is you need skilled people. Methodology or tools never fixes that problem.

You can have happy workers, but they also have to work effectively. Now this is point where I have been harsh on the business world. Changing to the modern styles of development, let alone the way we interacted with business, was hugely underestimated early on. Some coped by just cherry-picking Agile practices that suited their needs, or even just what they understood. what has become apparent over the years, is that Agile development was rarely ever implemented properly. But because it was under the hood, the project management took the blame. Agile salesspeak includes many references to “efficiency”, “speed”, “quality” – words business likes to hear. As with any advert, the product rarely matches the glossy ad. But, to be fair, our brains just weren’t ready and we need to change the way we educate ourselves and others. Its a tall order – but there’s no choice.