andrewlocatelliwoodcock

Thoughts on Software

Archive for the ‘PHP’ Category

Waterfragile: Agile development in the Enterprise

with 3 comments

Waterfragile is my term for the most popular development methodology in use in Enterprises today.

Waterfragile is a heavily modified Agile methodology that adopts the best practises of Agile and Waterfall: the flexibility of Agile to adapt to changing (increasing!) requirements with the rigour of Waterfall to deliver promised features on a promised date. Waterfragile teams take on Agile overhead such as scrums, sprints, retrospectives, etc. but do not take on the bits they can’t be trusted with such as responsibility for the release or deciding which features should be included in each release or the deployment schedule. In fact, one of the central tenets of Waterfragile is that feature sets should only ever grow throughout the release cycle. Advanced Waterfragile practitioners refine this further by removing the ability to de-scope features as this focuses the team on developing 20 hours a day to meet the all-important external deadlines.

To do Waterfragile properly, only the development team should do scrums, sprints, etc. (it’s a development paradigm after all, no point wasting business analysis and test team time on this stuff!) and they should be slotted within a fully waterfall analysis, test and release cycle. If you fail to properly integrate the development team into the waterfall cycle, they may well miss their deadlines or skip features. Test teams should be fully prepped to pick up on all small visual defects – there’s no point spending too much time testing deep feature behaviour as that’s what development’s unit tests are for. Test teams should work to their own schedules and not waste time preparing tests ahead of the start of their test cycle so as to maximize their workload throughput.

Remember: what you are aiming for is separation not only of concerns but also of goals and responsibilities – teams should never be measured holistically on the successful delivery of a project but only on their part of it and the person responsible should never be the one making the decision as this can lead to dropping of features, missed deadlines, etc. The ability to add features, never remove them and still hit deadlines is Waterfragile’s killer feature – a minimum feature set and absolute delivery schedule can now be included in PowerPoint presentations about the project and as we all know “set in slide” is simply “set in stone 2.0”.

Done right, Waterfragile delivers all the benefits of Agile (faster release cycles, ability to make late changes to requirements) without losing any of the benefits of Waterfall (feature sets and delivery dates known months if not years in advance), a development methodology that has never failed to deliver even once over the last 40 years.

Written by andrewlocatelliwoodcock

November 14, 2013 at 19:08

How websites work, an introductory tech presentation

with 6 comments

I recently gave a tech intro session entitled “How websites work”, a kind of 101 session on the basics of web technology. The session references PHP specifically as that’s the development language at my current employer but most server-side languages work in a similar manner.

Readers of this blog will mostly know this stuff anyway but I was asked to make it available for download so here it is: enjoy!

How Websites Work

 

Written by andrewlocatelliwoodcock

June 11, 2012 at 22:28

Posted in PHP, Talks, Websites

Tagged with , , , ,

Debugging PHP: Setting up XDebug with XAMPP on Mac OSX

with 9 comments

Have been introduced to PHP recently when I was asked to take over a site developed for some friends by a third party. It is basically a customized WordPress site and the original developer had done a good job on it. I installed PHPStorm (I’m a big JetBrains fan), XAMPP (an easy to install Apache, PHP, mySQL setup) and then spent a number of very frustrating hours trying to get things working. Pretty permalinks was one issue I encountered (see my earlier post) and once that was resolved I needed to get debugging working. Now, I admit that I am very much a PHP noob but surely it shouldn’t be this fiddly to simply debug a website? ASP.Net / MVC just work out of the box for example …

Read the rest of this entry »

Written by andrewlocatelliwoodcock

January 3, 2012 at 19:58

Posted in Apache, PHP, XAMPP, XDebug