Archive for the 'eXtreme Programming (XP)' Category

FOTB slides: Memo to the CEO

I've just put my slides up from my Memo to the CEO session at Flash on the Beach. Download them here (PDF, 3MB).

I thought about exporting QuickTime and Flash versions of the presentation too but, frankly, I couldn't justify it. The QuickTime version has all the bells and whistles of the transitions but it staggeringly large. The Flash version, well, let's just say I'm sure that Apple didn't cripple the Flash export on purpose but in terms of size (it's large) and performance (it doesn't have all the effects), it really doesn't make much sense. Again, I'm sure it's not a case of Apple favoring QuickTime over Flash! At the end of the day, the PDF version seems to be the best bet. It contains the information and is small. There you go, you just read a whole paragraph on why you've got my session slides in PDF format. Truly, could there have been a better way for you to spend the last thirty seconds. Thirty one. Thirty two! :P

While searching around for a picture to include in this post, I also found some reviews of my session. Here are some links:

Flashing at BarCampLondon

Aral Balkan's Agile Development and Usability presenation at BarCampLondon.

BarCampLondon was a blast! Over the course of a weekend, I got to meet some amazing people, catch up with friends, learn some great stuff (including a new game called Werewolf) and get inspired. Big thank-yous to Ben Metcalf, Ian Forrester, Murray Rowan, and Paul Hammond for organizing the event and for your tireless omnipresence throughout the weekend. Similarly, thank-yous to Yahoo! UK, eBay, BBC Backstage, TechChrunch, Chinwag, and Belkin for sponsoring the event with food, drinks and network cables! And, of course, thank-you to everyone who attended for making the event what it was, for sharing and for lynching me so early in the game -- I wasn't a werewolf dammit! :)

My first session was titled Agile Development and Usability. It was a one-slide presentation in which I talked about the three big problems I see our field faced with today. Namely, a lack of understanding of development process, of the importance of the user and of application architecture. I followed this up with a high-level overview of solutions to these problems, including the use of Agile Development (with examples from eXtreme Programming/XP), User-Centered Development and usability patterns and pattern-based architecture. I ended the half-hour session with a brief glimpse into how these solutions can be implemented in projects for the Flash Platform using Flex 2, Arp and open source tools.

After my first session, I got a couple of requests for more information on Flex 2 and decided to hold a separate talk on just that subject on the second day. In that talk, I gave an overview of the Flash Platform, Flex 2 SDK and Flex Builder 2, using my Flex 2 Quick Starts for the examples.

In addition to presenting, I also got to attend quite a few presentations by other people. You can find notes from those sessions in the BarCampLondon category. Without fail, the sessions I attended were all highly engaging and informative. I can only surmise that the quality of the attendees and the BarCamp format had a great role to play in this.

You can find links to other media from the event on the BarCampLondon What Happened wiki page.

So, when are we going to have the next one? :)

Not procedural coding but spiking

Spikes aren't painful at all... in the software world!Intoxo Poxed has a post on procedural coding in AS3 in which the author states:

OOP is swell and all, but I feel procedural coding still has its place. This is particularly true when you’re not entirely sure what you’re about to make, or when you have a problem to which you haven’t yet worked out a full solution but are ready to stab at it one bite at a time.

The post goes on to give an example of a procedural bit of code that creates shapes with the Drawing API.

Although the author calls it "procedural coding", and although the example does contain procedural code, there is a better name for the process that the author is describing here. In eXtreme Programming (XP), we call it spiking.

Spiking refers to creating a throw-away experiment during development. Spiking is useful both at the very beginning of a project, where there may be technical issues that you are not sure exactly how to handle and throughout the lifetime of the project. It becomes especially useful as a project grows and where experimenting within the actual codebase becomes slow enough to be deemed impractical.

Even before I knew the term, I would always start a new FLA and do a quick test whenever there was something I wasn't sure of when developing a Flash application. Although I call them throwaways, I do keep these experiments in a separate folder and don't really throw them away. They can sometimes be useful to come back to later.

If you don't already do it, I highly recommend adding spiking to your development process. Just remember that the spikes are for you, not for the client or your boss or to impress your girlfriend with (OK, you may use them to impress your girlfriend but I wouldn't bet your whole strategy on it!)

Finally, on a related note, you should check out Keith Peters' Brevity as it is the perfect environment in which to spike out visual algorithms. If you haven't heard of it yet, Brevity is basically Processing for Flash.

Photo credit: Copyright sh0dan. Released under the Creative Commons Attribution License.






Bad Behavior has blocked 0 access attempts in the last 7 days.