Category Archives: Software development

Software development articles generally relate to the implementation stages of the development process. We also discuss overall approaches and strategy to creating and managing software products, including waterfall, agile, and other methodologies.

Plan Your Next Sprint By ROI: Part 1

You’ve got a giant backlog of user stories and product capabilities.  How do you determine which stories to implement right now?  By the estimated value of each story?  Pick the ones the developers want to build next?  How about picking the stories that maximize the ROI of the sprint?  To do that, you need to estimate both value and cost.  While remaining agile.

Read the rest of the article …

Agile Product Management: Providing Context

Agile development methodologies succeed because they help development teams be as effective as possible.  Development teams do not, however, work in complete isolation.  The company they work for has a strategy.  The company manages a portfolio of products, and targets a particular product at specific market problems.  Within that context, an agile team can thrive.  What’s the best way to provide that context?

Read the rest of the article …

Market Driven Competitive Advantage

Your strategy should be driven by the needs of the market.  Becoming market-driven is critical to intentional product success.  But it is not enough to understand your market.  You have to sustain your understanding, and take advantage of it, competitively.

Read the rest of the article …

Good Enough For Now

Adam Bullied wrote a really good article about not losing motivation in the face of challenges. His closing quote spun us off on a philosophical tangent about being “good enough.”

Read the rest of the article …

Successful Products: Lucky or Intentional?

Is your product successful because you were lucky, or because you were methodical and intentional?

Do you want to build a plan where you are dependent on good fortune, or do you want to make your own “luck?” Both approaches work, but only one makes sense as an intention. Slide 3 of your presentation to a venture capitalist should not say “And then we get lucky!”

Read the rest of the article …

Making Offshore Design Work

When companies first start off-shoring, they usually send the “low level” implementation work overseas first, to work out the process kinks and manage risk. Over time, your valued, domain-aware developers will perceive a lack of career opportunities with this limited role. Naturally, you will want to consider sending design work offshore too. You can make it work. If you do it wrong, you’re toast.

Read the rest of the article …

Making Offshore Development Work

Economic pressures are driving most companies in high-developer-salary markets to explore using offshore development teams as part of their approach to developing software. Developing software with a global team presents new challenges as well as new benefits. If you do it right, you can have a more cost-effective team. If you do it wrong, you can have a disaster.

Read the rest of the article …

Plan For Today, And Plan Correctly For Tomorrow

Instead of

Prioritize the present when planning your product. Neglecting the future is almost as bad as over-emphasizing it. The key is to incorporate your plans for the future correctly by making them play second fiddle to the present needs of your market. Serve both today and tomorrow – but prioritize today.
Read the rest of the article …

Cockburn Affirms: Use Cases Rule for Agile!

We’ve been promoting use cases as the right way to approach agile requirements, and in a recent article, Alistair Cockburn stresses the importance of use cases. Over the last three years, he has found that teams that avoid use cases consistently run into the same three problems. We defer, of course, to Alistair as the expert. But we’ve been independently promoting this practice too. So today, we get a cookie!

Read the rest of the article …

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 …