Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do.
-- Steve Jobs
Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

Thursday, November 3, 2011

Agile – Specialisations Still Matter | #AltDevBlogADay

Agile – Specialisations Still Matter « #AltDevBlogADay
Now I’m concerning myself with only the technical side of an agile team but I’ve seen this raised in a number of different agile circles. In those cases there seems to be the impression that swapping a database, physics or audio developer with any other specialization like UI, animation or graphics and an agile team should be able to roll up their sleeves and perform the different roles to the same level with the same level of outcome.

But we have specialist developers for a reason. They are great at what they do, they understand the area in which they work and they know how to get the best results in the shortest amount of time. They have a passion for the area they are focusing in which usually means they’ll go a step further to research their area and keep up with developments which other developers may not have the time or the understanding to do.
By spreading your talent thin and assuming that people can fill each others shoes leads to the following issues
  • You are not respecting the knowledge, skill, experience and passion that a specialist can bring to their work and as a result not respecting the developer themselves
  • You’re reducing the impact these people can have on a team and it’s often the experienced specialists that inspire younger members of the team into an area they are interested in
  • The ability of those specialists to learn more about their area and pass that onto others is drastically reduced.
  • The ability for the team to push their development boundaries will be indirectly reduced as everyone on the team aims for the ‘generalist’ role to fit in

Wednesday, September 21, 2011

How We Scrum | #AltDevBlogADay

How We Scrum « #AltDevBlogADay
We‘re a small indie company of six. Four programmer/designer hybrids, though each of them proficient in other areas too, one artist/designer and one community manager/marketing/designer. Only half of us have ever worked in other game companies and only one of us has ever contributed to a AAA game (though uncredited). We have no strong ego running the business, but a very collaborative atmosphere. That’s why we need a clear methodology for working efficiently. We have a rigid structure for our creative process in order to live the freedom that it gives. The system we’re using is loosely based on scrum but finely tuned to our situation. I don’t believe in off-the-shelf design methods. So we tailored our own. Here’s how we scrum.

Tuesday, September 6, 2011

What I Learned | Rails Test Prescriptions Blog

What I Learned « Rails Test Prescriptions Blog
Here are a dozen or so oversimplified, fortune cookie-esque things that I think I learned in the last four years. Some of these are probably blog posts in their own right, which I may get to one of these days.

Thursday, September 1, 2011

Truck Factor | Agile Advice

Truck Factor (Agile Advice)
Truck Factor (definition): "The number of people on your team who have to be hit with a truck before the project is in serious trouble"
Clearly "hit by a truck" is an extreme thought however you could easily substitute "take vacation at the same time" to get the same idea. If any part of your project has a truck factor of one then you are in a particularly fragile situation. If that one person leaves or is unable to work on the project, you will suffer the consequences.
Over time, anyone can be replaced. Truck factor is an indication of how expensive it will be to replace specific people.
Succeeding with Agile: Software Development Using Scrum Agile Project Management with Scrum (Microsoft Professional) The Agile Samurai: How Agile Masters Deliver Great Software (Pragmatic Programmers)

Life After Pair Programming | Jay Fields' Thoughts

Jay Fields' Thoughts: Life After Pair Programming
When I first joined DRW I noticed that the vast majority of developers were not pair-programming. I was surprised that a company that employed so many smart people would just simply disregard a practice that I considered to be so obviously beneficial.
note: it's so easy to judge people who don't pair-program, isn't it? You can write-off their behavior for so many reasons:
  • They simply haven't done it enough to see how much value it provides.
  • They've used the wrong setup, and turned a positive ROI into a negative ROI situation in the past.
  • They must be anti-social or not team players.
  • They must guard their code because they are too proud or believe it's job security.
Never once did I consider that their behavior might be correct based on their context. There was no context in which pair-programming wasn't the right choice, right?
Almost 3 years later, and on a different team, I basically never pair.
Extreme Programming Explained: Embrace Change (2nd Edition) Planning Extreme Programming Extreme Programming Installed

The 4 Characteristics of Highly Effective Developers | JW Tech Blog

The 4 Characteristics of Highly Effective Developers
It seems like everyone is busy these days. Especially when you are in IT. You are constantly being asked to do more and do it more efficiently. But, the important question is, how truly effective are you? In other words, you may work 100 hours a week and perhaps you do a particular task faster than anyone else, but that does not necessarily mean that you are effective.
Practices of an Agile Developer: Working in the Real World (Pragmatic Bookshelf) The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series) The Agile Samurai: How Agile Masters Deliver Great Software (Pragmatic Programmers)

Wednesday, August 24, 2011

It's Not Just Standing Up: Patterns of Daily Stand-up Meetings | Martin Fowler

It's Not Just Standing Up: Patterns of Daily Stand-up Meetings | Martin Fowler
The daily stand-up meeting (also known as a "daily scrum", a "daily huddle", a "morning roll-call", etc.) is simple to describe: the whole team meets every day for a quick status update. We stand up to keep the meeting short. That's it. But this short definition does not really tell you the subtle details that distinguish a good stand-up from a bad one.
Given the apparent simplicity of stand-ups, I was quite surprised the first time I saw one that wasn't working. It was immediately obvious to me what was wrong but I realized that it was not obvious to the team. I realized that my team was not aware of the underlying principles and details that would allowed them to diagnose and solve problems with stand-ups.
People who have experienced good stand-ups will generally know what can be done when things aren't working well. For novice stand-up attendees, when things go wrong, it is much less likely that they'll figure out what to do. One way to approach this issue is to claim that it's all a matter of tacit knowledge and novices just need to attend more well-run stand-ups. I believe, however, that it's much more likely that given no assistance, novices will simply abandon the practice of daily stand-ups. This would be unfortunate since well-run stand-ups add significant value to projects.
This is my attempt to communicate some of the previously tacit knowledge on the benefits and consequences of common practices for daily stand-ups. These patterns of daily stand-up meetings are intended to help new practitioners as well as remind experienced practitioners of what they might already know in their gut.

Lessons in a 21st Century Tech Career: Failing Fast, 20% Time and Project Mobility | Google Testing Blog

Google Testing Blog: Lessons in a 21st Century Tech Career: Failing Fast, 20% Time and Project Mobility
If your name is Larry Page, stop reading this now.

Let me first admit that as I write this I am sitting in a company lounge reminiscent of a gathering room in a luxury hotel with my belly full of free gourmet food waiting for a meeting with the lighthearted title "Beer and Demos" to start.

Let me secondly admit that none of this matters. It's all very nice, and I hope it continues in perpetuity, but it doesn't matter. Engineers don't need to be spoiled rotten to be happy. The spoiling of engineers has little to do with the essence of a 21st century tech career.

Now, what exactly does matter? What is the essence of a 21st century tech career that keeps employees loyal and engaged with productivity that would shame the most seasoned agile-ist? I don't yet have the complete story, but here are three important ingredients...

The Application of Pareto's Principle to the Adoption of Agile Practices - Part 1 of N | BigJimInDC

BigJimInDC: The Application of Pareto's Principle to the Adoption of Agile Practices - Part 1 of N
If you believe in Pareto's Principle (otherwise known as the 80-20 Rule), then you believe that it can be applied literally everywhere. At its heart, Agile practices are about doing what works and ignoring the rest (at least until the time is right). In a world where people are constantly searching for silver bullets, getting distracted by zealot turf wars, and feeling the crunch of deadlines, novice adopters of Agile practices need to learn what out of"agile" is immediately important for their situation, and what they can safely ignore until a latter point in time.

Monday, August 22, 2011

Solving Symptoms - Esther Derby on Agile Retrospectives | Agile Zone

Solving Symptoms | Agile Zone

Esther Derby on Agile Retrospectives:
Too many people teaching Scrum or Agile short-change retrospectives–teaching new ScrumMasters and coaches to make lists, rather than help the team think, learn, and decide together.

Thursday, August 18, 2011

Open Offices for Agile Teams May Be Bad for Workers | DevX

Open Offices for Agile Teams May Be Bad for Workers
Most agile development teams work in open office environments, which improve communication, collaboration, and teamwork. However, several new studies suggest that theses layouts may actually be harmful for the developers who work in them. One study found that moving to an open office space caused a 32 percent drop in workers' well-being and 15 percent decrease in productivity. Another found that 90 percent of open offices caused higher levels of stress, conflict, high blood pressure and high staff turnover.

Monday, August 8, 2011

The Elusive “Quick Iteration”: Tips for Indie Devs « #AltDevBlogADay

The Elusive “Quick Iteration”: Tips for Indie Devs « #AltDevBlogADay
From agile and scrum to extreme programming, everyone’s trying to nail down what it takes to iterate on products quickly and efficiently. There are a lot of methodologies that you can employ to guide you through shipping products. But today, I’ll be talking specifically about video games and how, as a developer, you can use a loose process and follow some basic rules in order to get quality games quickly out the door. You might argue that in today’s day and age, with the Valves and Blizzards of the world, that taking your time speaks volumes for the quality of a game. Well, yes and no. For big AAA companies with a reserve of cash, that might make sense but as an indie developer you live and die off of shipping. The importance of quality and fun has not changed. However, the games industry is much more accessible and now developers utilizing fast iteration can make ridiculously high quality games in very short amounts of time. It’s one of the few things we can do better than big developers.

Tuesday, July 12, 2011

Why every programmer should learn Python or Ruby | ReliScore.com

Why every programmer should learn Python or Ruby | ReliScore.com
If you are a student, you probably know C, C++ and Java. A few know VB, or C# / .NET. At some point you’ve probably built some web pages, so you know HTML, CSS and maybe JavaScript. By and large, it is difficult to find students who have any exposure to languages beyond this. And this is a shame because there are a number of programming languages out there which will make you a better programmer. In this article, we give some reasons why you must learn Python or Ruby.

Saturday, July 9, 2011

Tools Journal - Top 15 Kanban Tools In An Agile World

Tools Journal - Top 15 Kanban Tools In An Agile World

Kanban, also spelled kamban and literally meaning "signboard" or "billboard", is a concept related to lean and just-in-time (JIT) production. According to Taiichi Ohno, the man credited with developing Just-in-time, kanban is one means through which JIT is achieved. Kanban is not an inventory control system. Rather, it is a scheduling system that tells you what to produce, when to produce it, and how much to produce.

In our continuous effort to bring you the most powerful software tools built for all the requirements of global IT Community across various categories we have been listing the best tools in each of the categories across software development life cycle. In this article lets have a look at over 10 of the best "Kanban" tools available in the market. Obviously i may have missed one or two and would appreciate if you could leave your comments with regards to any missed tools or ones listed below.

The new user story backlog is a map

The new user story backlog is a map
Why the flat user story backlog doesn’t work, and how to build a better backlog that will help you more effectively explain your system, prioritize, and plan your releases.