Archive for agile
Now we’re rocking! DSL story driven development and testing in Java!
December 9th, 2008 • 1 comment Business, Internet, Java, Productivity, Ruby, agile, software development
Tags: linkedin
At TechnoPhobia, we have an interesting challenge to implement a technology agnostic requirements capture process that (in my mind) will enable us, with very minimal effort, to repurpose these documented requirements into fully automated browser tests. I’m thinking that the process could look something like this:
- The project and client team write end-user functional requirements as User Stories and Scenarios
- The stories are stored as plain text in SVN or GIT and made immediately available to the development and test teams
- The development and test teams create a few executable padder files, wrapped around these stories, turning them into fully automatable browser tests
- The executable files are run, they read the stories and interact with the browser to determine if the stories successfully pass
Pretty cool, huh! No more massive team specific documents, just good old plain textual stories that are shared by all on the project, including the client.
Making this happen across multiple technologies
- In Ruby, we’ve already used this parts of this approach on a live project using Cucumber (formally RSpec story runner). It worked pretty well.
- In Java, easyb seems to be the a good forward. Here’s a little more about using easyb
I am WAY TOO EXCITED to see an implementation in Java! This opens massive opportunity to progress with a technology agnostic approach. Now to find a suitable solution for .Net and perhaps PHP
Dave Thomas: Security as a measure of effectiveness
October 26th, 2008 • 1 comment Business, Productivity, agile, gtd, software development
Tags: linkedin
I really like this approach – Assess the state of security within a development team and project as an indication of how well a project is going and how effective processes are working out.
It’s another one of those many obvious tests that we all do, but at times i’ve certainly found myself accepting insecurity within a project team as one of those things because the team are new to the pressures or software projects are always uncertain and as such stressful. With a little consideration, it’s clearly more useful to use perceptions of insecurity as more direct indications that change is required.
What might we be looking for? A few possible ideas:
- How secure are the developers about the quality and stability of their code?
- How secure are the developers about rolling code to the various hosting platforms?
- How secure are team members about their relationship with others on the team?
- How secure is the project manager about hitting the deadline?
- How secure is the account manager about conversations with the client?
- How secure are senior management about project and team performance?
The overall intention of improving security is to make everyone feel relaxed. Software development is meant to be fun after all!
Source: Agile Toolkit Podcast ‘No fluff just stuff 2006 tour’
synchronous scalability: the meebo.com success story
October 10th, 2008 • Internet, agile, software development
Tags: linkedin
Last Friday, i attended a presentation by the meebo.com crew where they explained their challenge and how their tackled it. I enjoyed their agile approach and the challenge they had to solve – how to make a synchronous web app that handles thousands of users without bringing down the server.
Scalability is an old story, but meebo.com’s challenge was different. They needed to scale in ways that asynchronous web apps (facebook, myspace, twitter etc.) do not.
- They use the long-polling technique that results in the web server maintaining thousands of open connections with each user and that has significant affects on the server.
- They have a single gaim instant messenger process per user to allow the user to connect to MSN Chat, Google Chat, etc. and this had other effects (and significant benefits).
- They initially used Apache and it had some affects.
It was clearly a fun challenge to have and as their user numbers ramped up, they followed a streamlined and effective approach that resulted in a lean, fit for purpose and extensible app. A great success story.
The big picture
September 18th, 2008 • Business, agile, gtd, software development
Tags: linkedin
Software development is fun, there’s no doubt about it. All the collaboration, client interaction, protoyping, system architecture, and all that lovely code.
But, what happens when we, as developers, get too close? What happens when we get too involved in the code?
It all sounds rather obvious, but it can happen:
- We don’t take a regular step back.
- We lose the wider perspective.
- We lose visibility of what ‘finished’ looks like, what parts make up the whole and how close we are.
- We strain relationships with ambiguity, overly detailed feedback and uncertainty.
Getting this wrong can result in project failure. Getting this right takes a strong, close, confident and brutally honest relationship between all members of a project team. All members maintain a focus on the scope, plan and budget; especially the seniors. Daily catchup meetings provide a platform for team members to demonstrate their responsibly to the rest of the team and a platform for all members to consistently establish their awareness of the whole. Challenge is normal and data is king.
With all this in hand, projects flow and risk is clear and manageable. Team members are empowered and in every way are a part of the solution. Resource management is possible early and in perfect balance. Reporting and escalating is possible iteratively, keeping everyone empowered and in the loop.
How do developers get to this place? More to follow…
Uprooting agile
September 14th, 2008 • 2 comments Business, Internet, agile, software development
Tags: agile, business process, linkedin, software development
Agile methodologies are being bantered around again and are quite often discussed as if for the first time, with an energy that is exciting, but at times with a level of certainty and yet incompleteness in some people that just doesn’t seem to fit – I’ve recently sat through presentations and had discussions where people seem to be looking for some kind of fame or self-certified expert opinion without getting to the roots of this clearly historically evolved perspective – They are grasping at small aspects of what appears to be a much broader subject that requires careful review. Don’t get me wrong, i love the banter, but either i am just well far behind everyone else on this subject (which is most likely true), or they are just blagging.
So, my mission is to uproot the agile working methodology and get an understanding of:
- What are its parts?
- What are its predecessors and its history?
- What is its scope and who does it impact (it’s clearly a lot more than TDD, although some people don’t seem to think so)?
- Is it actually possible to “do” or “not do” agile, or is it valid to adopt only some of it’s parts (This sounds like an obvious one, but i’m fed up with hearing “we do agile” and “we don’t”!)
- How can we benefit from its many parts?
I’ll be posting more as I progress my uprooting.