yellow/gary

Not logged in - Log In / Register

Lightning talk notes

AJAX über alles

Most everything we do should be AJAX. Corollary: Webservice should rule most everything. Corollary: we should dump old Zope and Launchpad form machinery, and we should have to defend why we need to build a given non-AJAX page for a given feature.

This can give us faster and more fun development. Also, when we make the webservice the way we deliver to the browser, it opens up the same mechanisms to other platforms, such as the desktop (GroundControl), Android, iOS, and so on.

(No progressive enhancement, no graceful degradation)

(Pages are for context; overlays are for aspects of it)

Functions Are Pythonic Too

Python is a multi-paradigm language. Object-oriented is one approach. Sometimes, and maybe more often than we as a team expect, functions are nice.

We are not using Java: not everything has to be an object in Python. Functions are idiomatic. Don't forget them, and don't reject them.

Prototyping Goals with User Documentation

Prototyping with user documentation works. If doctests are the bathwater, one of the babies might be user documentation as design tool. I have not used that tool lately, and have come to regret it. I hope to try some new variation of the basic idea again.

Prototyping can be expensive and hard. It still is cheaper than building a full system and getting it wrong.

One approach to getting some of the benefits of prototyping is mockups. We do that now with screen mockups for user-facing features. You can also make API mockups, which we sometimes do too.

You can combine both or either of these with trying to make user documentation mockups. These can end up feeling like a next step past a screen or API mockup.

How would a user accomplish each task of your feature? In your documentation mockup, describe each task in a friendly way to your potential user. This allows you to describe the workflow you intend, maybe the error handling you propose, and/or maybe other parts of the story.

When you are writing them, you are telling the stories of your ideas to yourself. Listen. Do they make sense to you? Do they make sense to your colleagues? Do they make sense to your stakeholders?

I and others have found this to provide a window onto your ideas that can let you think critically about them, from the perspective of your users. My experience with this technique, and the experience I've seen with others, has been very good.

Ideas not for the talk

We should do a better job on really defining completion requirements with SMART goals in our LEPs. "We are completely done when..."

For feature work, try week timeboxes, with end-of-week demos and review of plan and goals. Ship (deploy) every week.

yellow/gary (last edited 2011-01-19 06:00:37 by gary)