Over a million developers have joined DZone.

Streamlining Freelance Productivity with 1-person Scrum

DZone's Guide to

Streamlining Freelance Productivity with 1-person Scrum

· Agile Zone ·
Free Resource

The Agile Zone is brought to you in partnership with Techtown Training. Learn how DevOps and SAFe® can be used either separately or in unison as a way to make your organization more efficient, more effective, and more successful in our SAFe® vs DevOps eBook.

In a blog post  based on a talk given at a Wordpress meetup, Codeable.io CTO Tomaž Zaman adapts Agile to a single person with a series of tips he'd wished he'd used as a freelancer. Zaman advocates for splitting discreet tasks up into user stories.

A user story is basically a set of actions that someone or something (yes, the user can be non-human as well) has to take to achieve something. It's not necessarily a feature, as I'll describe shortly.

Thus allowing a more organized and communicative list of steps needed to complete a task on a project. An interesting point that Zaman makes is encouraging a step away from the estimate-by-the-hour freelance go-to:

Part of user stories is also estimating and there's one rule to follow: never, ever estimate by hours! Hours are evil because they don't take into consideration the uncertainty of development (you're nodding in agreement just now, right?).

Instead, he elaborates a fibonnacci system that allows for more flexibility and buffer time. Along with dailies with the client (short meetings) and sprints (which he defines as the period in which a major feature gets implemented), Kanban organization could majorly help freelancers organize and work more effectively.

Check out the original post  for more detail.

Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap, brought to you in partnership with Techtown Training


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}