patrickwilsonwelsh.com

Agile coding, agile testing, agile coaching, the agile enterprise, and Network Weaving.

Archive for the 'Agility' Category

Selenium RC Patterns: Self-Verifying Page Objects

[Part of a series of posts on Java Selenium RC patterns I find useful.] What we Want: Expressive, Succinct Tests Let’s say I want to test that I can log into an app. I want my Selenium RC Java test code to look something like this, because I want it to read, aloud, the way [...]

Selenium RC Java Patterns: Watch this Space

My opinion about through-the-web-GUI enterprise-app-testing, in general, is that it is like driving on ice in a blizzard: not something you want to do lots and lots of, because sooner or later you’ll get into deep trouble. But given your context (living in MI, for me), driving on ice in the snow is something that [...]

Automated Acceptance Tests: Hold on Just a Second Here

Long Live Storytests, Dang Blast It The recent claims made by a well-known agile coaching thoughtleader notwithstanding, I work hard to get clients to adopt real Storytesting practices, with real Storytesting tools (FitNesse is still my tool of choice; I work mostly with Java teams). I will continue to do so. I find no false economy [...]

“Lingos” and “Lingual Design”

Hypothesis: Good OOD Programming is “Lingual” Design As is often said and written, the history of programming, and programming language design, is about programs becoming more expressive, fluent, lingual. All of the Object Oriented programmers I know and trust most would say that when they program, they are creating what are, in effect, languages. So, [...]

The Tao of Tester/Programmer

Balancing a Classic Software Duality In the West, we are very dual. Our opposites tend not to touch or integrate, much less balance. The true, intertwined and balanced nature of duality comes more easily to Eastern cultures than to us. Opposites naturally include and oppose each other in the East. Yin includes some Yang, and [...]

Agile Team Lead, Take, Um, Three

Background By way of even more background, my original post on this topic is here. Patterns are Emerging In response to several comments and conversations with people in the industry, several of us, most recently Chris Beale, Gary Baker, John Huston, and Daryl Kulak, have been converging on a definition of this new role, this new [...]

Agile Teams Challenge Corporate Assumptions: Part 1

The Old Atomic Unit of Production: the Project I came up in a software industry in which the atomic unit of production capacity was The Programmer. Programmers were largely assigned, as needed, to ephemeral entities called Projects. Yes, it had a Taylorist mechanistic undertone, and often still does. Cut to scene: The Project Manager whisks into [...]

Agile Team Lead : Useful New Role?

My pal Abby Fichtner, the HackerChick, blogged today about emerging agile team leadership patterns and practices, as had been reinforced for her by a recent presentation by David Spann. She lists beliefs and behaviors that, according to Spann, when held by whomever actually manages an agile team, tend to help or tend to hurt. These resonated [...]

Low-Maintenance Selenium RC Web App Test Code

In my rank procedural coding days, I might have written through-the-web-app-GUI test code that looks like this (we’re using TestNG here, though at first it may look like Junit 4): @Test public void canCreateRightTriangle() throws Exception { //selenium setup SeleniumServer jettyProxy = new SeleniumServer(); jettyProxy.start(); DefaultSelenium selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com"); selenium.start(); selenium.setSpeed("0"); [...]

Wasteful vs. Necessary Types of Variation and Complexity

Premise: No, Software Dev Ain’t Like Manufacturing So it’s pretty old news that software development is not manufacturing. The reason many of us have questioned manufacturing metaphors  is that software development involves inherently much more variation. Compared to a factory line for a sports car, building the average corporate CRUD web application (not to mention [...]

Next Page »