Category Archives: Agile

Articles that discuss the agile development methodology. We look at the costs and benefits of agile. We also try and reconcile agile approaches with structured requirements and user experience approaches.

Specializing Generalists and the Politics of Agile

A successful agile team requires someone on the team to act as the voice of the customer, someone to lead the developers, someone to lead quality assurance, and someone to organize, coordinate, and assure execution. For an agile team to succeed in an enterprise ripe with political resistance to agile, someone has to be the “voice of the team” as well.

You can approach this by classically assigning roles and responsibilities – but that isn’t the only way. Agile teams are most effective when they have specializing generalists who can mutably adapt to the immediate needs.

Read the rest of the article …

Agile Absolves Developers

A client at a large company with large development teams and a long history of waterfall development made a comment: “The only people who are talking about doing this project in Agile are developers who think it will allow them to avoid responsibility.” My client may have been right (that people were saying that) but the developers who were saying it were wrong. Agile increases responsibility – it doesn’t absolve it.

Read the rest of the article …

Requirements Details – How Much is Enough?

What is the right level of detail for writing requirements? What about for writing specifications (functional, non-functional requirements, etc)? The answer is that there is no one answer. But there are guidelines, and reasons to write more detail, or less detail – for any given product or project, and any given team. The reason we write requirements is so that they can be read. Understanding the readers is the key to determining which details to include in the requirements.

Read the rest of the article …

Why Gannt Charts Are Useless For Agile Projects

What can you learn about your agile project from this Gannt chart? The one above looks out two years. It shows task dependencies and concurrencies. If you’re iteratively developing software, do you really expect to know what you’ll be doing two years from now, to know if you truly have a dependency? You may understand the dependencies with a two-month time horizon. But how much effort are you investing in creating a detailed, two-month Gannt chart? And how much value are you getting from it?

Read the rest of the article …

Barrier To Agile Development

Why don’t more companies and teams use agile development techniques? We know some teams just aren’t aware of them – although that list is getting shorter every year. The benefits of iterative development over waterfall development are pretty well established. I don’t believe I’ve seen a study that shows that waterfall is more effective. Do people refuse to believe in the data? Or maybe they are unable to believe.

Read the rest of the article …

Perpetually Almost Finished Projects

Your project is almost finished. Last week, it was almost finished. And you suspect that next week, it will still be almost finished. Why does this happen, and what can you do about it? In some ways, we’ve known about this problem for almost 2500 years But the solutions are still far from widespread.

Read the rest of the article …

Enabling and Resisting Change

Change is a reality of our businesses and our customer’s businesses. Without change, there would be no need to purchase new software. Yet many teams seem to both resist and embrace change at the same time. They embrace change because change leads to demand for new software products. And they resist change because it makes it harder to create new software products.

Read the rest of the article …

Juggling The Elements of An Iteration

You expect analysis to happen before design, and both to happen before implementation and testing. But how much should these activities be staggered? When a project is being run with monthly releases, it might seem logical to have each group working on a different release. For example, the test team working on the current release (3), the developers on the next release (4), and architects and analysts working on releases 5 and 6 respectively.

If your team is this staggered, you have a problem. It takes four months for a requirement to be released from the time the analyst has documented it.
Read the rest of the article …

Benefits of Agile Story Decomposition

When you plan a release, agile user stories, or classic use cases are the best sized pieces to use in the planning – from the perspective of your customers. Each user story can be further decomposed into a set of specifications, and those into development tasks. Development tasks are the right sized unit to manage your work breakdown structure – communicating the release schedule internally with your development team.

Read the rest of the article …

Nexus Friday Favorites

Each Friday, we highlight some of our favorite articles, bundles or reviews that people have submitted to nexus. Check out this week’s Friday Favorites…

Read the rest of the article …