Follow Me

The Politics of Agile

In the world of agile software development, it seems like Marketing and Development are in a race for control of ‘the product.’ Who will win? The flakes in Marketing or the geeks in Development?

When product managers weren’t looking, the developers went agile. Droves of consultants descended upon development organizations and coached the teams on how to build software in a modern world. No more heavy-weight, NASA-style requirements and specifications. HOORAY! Let’s build something, show it to customers, incorporate their feedback. Lather, rinse, repeat.

While developers sprint through development cycles, one of three things happens to product managers. 1) They are ignored. 2) They are dragged deep into the development cycle. 3) They lead the team to build products people want to buy. The first two situations are lethal to a product manager’s career. The third alternative can lead to successful products and successful careers.

Politics

Politics is the process by which groups of people make decisions . In business, the process for building products requires hundreds of decisions every week. The challenge lies in who is involved, when do the decisions need to be made, how are decisions made, and who has the final authority.

To play politics is to deal with people in an opportunistic, manipulative, or devious way, as for job advancement. This is the most toxic form of politics which should be avoided at all costs. Unfortunately, in some organizations we are victims of this type of politics. The antidote for your career is to stay focused on the objective (building products people want to buy), to be messenger of the market, and to use facts rather than opinions to communicate.

Opposing sides

Somewhere between the flakes in Marketing and the geeks in Development is product management. A strategic role designed to help companies stay tuned in to what the market wants and is willing to pay for.

What product managers say:
‘My developers have gone agile and it is creating chaos.’
‘My developers want me available every minute of the day to answer their questions. I have no time to visit customers.’
‘The developers are delivering code every two weeks, but it doesn’t seem like we are making any progress towards delivering a useful product.’
‘How can I market a product when I have no idea what will be in it or when it will be available?’

In fairness, we also have to listen to the developers and understand why agile methodologies have sprung up in the first place.

What developers say:
‘We’re being asked to stop what we’re doing to respond to the deal of the day. We’d get something done if you’d just let us finish what you already asked us to do.’
‘Market Requirements Documents are so nineties. We’re agile.’ [Translation: ‘We don’t need no stinkin’ requirements!’]
‘How can I estimate how long something is going to take when I have no idea what I’m being asked to do?’
‘We’re tired of getting beaten up by management for not meeting our dates. How can we be blamed when the target keeps moving?’
‘It’s about time we took back control. Product managers don’t know what they want.’

Angst. Frustration. Conflict. Mistrust.

What is the real problem? On the surface, the problem seems to be that everyone is trying to wrestle control from the other. Who will win the race? Product Management is frustrated at what appears to be a lack of commitment from Development. Development is frustrated because Product Management won’t commit to what they want and keep changing their minds. Even customers don’t know what they want.

Stop!

The real point of all of this is to build products people want to buy. Ultimately, we’re on the same side. Ultimately, we all want successful products that help us all make lots of money.

What is agile anyway?

Agile development is an approach to planning development and engineering projects that relies on frequent delivery of products using quick teams and brief artifacts. In contrast, waterfall development is a sequential software development process where each phase is completed before moving to the next phase: requirements, software design, software development, system test, integration, and maintenance.

The implied promise of agile is to deliver products in a timely fashion without being burdened by heavy-weight documents and processes.

Based on the 2007 Pragmatic Marketing Survey, the most common agile methods are:

Scrum – a software development method for project management. Work is delivered in two- or four-week sprints. After each sprint, the team demonstrates their results to the product owner (and others). There’s a prioritized backlog of problems to solve.

Rapid Application Design (RAD) – a development methodology that uses CASE (computer-aided software engineering) tools, prototypes, and user-interaction to achieve the goals of high quality and speed.

Extreme Programming (XP) – this methodology was created by Kent Beck in the late 1990’s during an internal project for Chrysler Corporation. He wrote about it in Extreme Programming Explained in 2000. This method embraces the values of communication, simplicity, feedback, courage, and respect. Traditional software engineering practices taken to so-called ‘extreme’ levels. For more, go to www.extremeprogramming.org.

In 2001, Beck and 16 other ‘organizational anarchists’ developed the oft-quoted Agile Manifesto.

Manifesto for Agile Software Development
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Pragmatic Marketing signed the Agile Manifesto in 2001. We believe in being agile. But simply adopting an agile development methodology is not the entire solution. Agile helps deliver something sooner, but without some planning and overall vision, what is being delivered may not actually help us sell more software. Our approach is:

Extreme Product Management (XPM) – an agile approach to product management. using minimum process and artifacts. The agile product manager communicates the vision of the product through a high-level product roadmap and keeps a prioritized list of problems to solve, all based on market data. The objective is to build products people want to buy.