HTML

stream121
Product Management :: Product Marketing


Showing posts with label Agile. Show all posts
Showing posts with label Agile. Show all posts

16 August, 2017

Common sense methodology (not Agile)

Oleg Vishnepolsky, Global CTO at DailyMail Online and Metro.co.uk, writes Agile does NOT work.

It's obviously a bit of rant, but he lists some issues that Agile struggles with:

  1. Short-term thinking that results from following short iterations and daily stand-ups
  2. Architecture that often times can not be deployed piecemeal
  3. Complex infrastructure in production that is supposedly continuously getting deployed over. If you are Facebook, you can afford automation. Can you ?

09 December, 2016

We're "post-agile" - it's official

Phew, I've been saying that the software world is distancing itself from pure Agile and saying we're now "post -Agile" and I'm glad to see others are saying the same: Post-Agile: A Design Thinking Approach to Software Development

There's even a blog on the topic: http://postagilist.wordpress.com

Here's a scathing view of Agile: Agile is Dead plus an excellent webinar from Steve Johnson (via Product Focus): Is Agile breaking Product Management?

05 August, 2016

Which is faster: Waterfall or Agile?

To be clear, my personal position from the arrival of Agile a decade ago has been of scepticism rather than love-at-first sight. Agile's star couldn't be higher 5 years ago. If you weren't Agile then you were a dinosaur.

Fashion has quite clearly moved from Agile only to Water-Scrum-Fall. (Gone are the days (TG!) that starry-eyed developers would come back from Agile training courses wanting Marketing or Sales to go Agile too!)


Credit: iQuest Group 

Let's rewind at the outset: both Waterfall and Agile share exactly the same objectives: to deliver high quality products as quickly as possible to a willing market. Both have strengths and weaknesses, but the inappropriate application of the letter of the law in either case leads to its relative weakness.

On Agile

Agile does produce more recognizable product more quickly, but must be inefficient because:

  • Making lots of software releases generates an overhead: for development, testing, deployment, customer communications, for customers themselves. 
  • Gathering and analyzing customer feedback (which is so important to Agile) can be difficult and time consuming. (It is certainly expensive to set up and configure in order that this process isn't too arduous). Note that Engineering only does some of these tasks.
Agile's strength is that it doesn't do too much before all the parts in the workshop floor are re-assembled together and the product is shippable. (There is the theory that less development needs less testing, but in complex software, a small error can have massive consequences.)

Agile's weakness is that tends to encourage a horizon of a two or three sprints only. Estimating epics which span multiple sprints, can be even harder / more error prone than Waterfall.

Also there is fallacy at the bottom of Agile: that all resources are interchangeable. This is wrong: people develop specialisations or area of responsibility. This expertise can easily generate a bottleneck and tasks requiring a critical skill always end up on the critical path - not just for one project, but the problem appears to snowball, impacting multiple projects.

On Waterfall

Waterfall does mandate careful attention at the outset to scope of the product. This discipline (call it product planning or roadmapping) is considerably downgraded in Agile - which is a huge mistake. Many execs believe that once they have a product owner (who writes user stories and manage the sprint process), then they don't need product managers (who assess product concept, write epics & launch products).

Waterfall's strength (in terms of speed to delivery) is that it smashes the problem into little bits all over the workshop with the final deliverable in mind and only intends to reassemble all the bits at the end. Continual reassembly must be more time consuming to get to the same objective. Agilists will rightly point out that the objective invariably changes and that remembering how to reassemble all the
bits is error prone, requiring lots of testing.

Waterfall's inherent weakness is that because the endeavour is so carefully planned at the outset, then everyone follows the project plan, heads down in the sand. What a good product manager should be doing is constantly scanning for changes in the market place, in the requirements, in the deliverables. He or she should be constantly 'checking in' with all parties to ensure that any new information is gathered / digested / understood and its impact assessed.

Conclusion

As in life, it is a compromise. However, time spent in reconnaissance before a line of code is written is rarely wasted. And that's why I like Water-Scrum-Fall.

Some references



01 July, 2016

Agile is for Development ONLY

280 Group has written an excellent article about the merits of Agile.

Agile is great for development, but has done a lot of damage for those doing Product Management. Those that know me, know that I am a massive sceptic of pure Agile champions.

I have summarised the article, but I encourage you to read it yourself: Agile is Not a Business Process:

  • Agile software development has transformed how we approach software product development, and has delivered some enormous benefits for efficiently delivering software products to the market.
  • The only planning described in The Scrum Guide is a planning meeting led by the Product Owner at the beginning of each sprint to determine the sprint objective and which user stories from the ordered backlog should be worked on in that sprint to achieve that objective.
  • Based upon this guidance, a common interpretation by too many companies is that they only need a Product Owner and that the only planning required is the planning done at the beginning of each sprint, which, in my opinion, has relegated Product Management to a very tactical role of “helping the development team” by writing using stories and acceptance criteria, working issues with the development team, testing user stories and maintaining the product backlog.
  • Agile development only addresses one phase of the lifecycle methodology
  • Product Management is responsible for “achieving business outcomes”, which entails a lot more than optimizing the value of the work done by the development team.
  • if in your role as a Product Manager, Agile has sucked you into the development process, it’s time to take a step back and understand that your role is more than just maximizing the efforts of the development team, but it’s to achieve business outcomes, and that requires you to manage your product through the full lifecycle based upon your market expertise and a well-defined strategy.


Remember, Agile is a Development Practice, Product Management is a Business Practice.

25 June, 2010

Agile Software Development - put in historical perspective

I went to the Cambridge Product Management Network last night on 'Product Management in the Agile World' from Roman Pichler, author of Agile Product Management with Scrum: Creating Products that Customers Love.

Agile in a historical perspective
Paul Walsh made a very insightful comment:

Agile (2000s) = Rapid Application Development (1980s) + User Experience (1990s)

RAD was all about prototyping, customer involvement and fast feedback. BUT those prototypes tended to be technology prototypes and didn't include what the customer actually received or experienced, so that they could provide decent feedback and steer the development effectively.

Paul and I nattered afterwards and both agreed that Agile wasn't best for v1 development, but much better for enhancement and product extensions.

On big, hairy feature enhancements
In fact, Agile means that you tend to avoid big, hairy feature enhancements because by their nature, they require lots of work which can't fit into a 6 week release cycle. So you tend to pick off the 'easy' incremental enhancements while the whole product slowly degrades whilst product management frets about 'biting the bullet'.

This problem is only solved by kicking out a research project that is independent of the development cycle. Agony and paralysis occurs when development needs SOME of the research project NOW and development starts cherry picking out of research. Yuk - a big management and technology sink hole, but sometimes inevitable.

Platforms
Also Agile was much harder in platform + products environment (ie products that were dependent on a platform on which other product relied upon) rather than a single product development track. I'm not saying it isn't possible, simply harder - particularly if the other products on which the platform relies have difficult development cycle times.

Thinking about it, for the same reason, products that require VAR /distribution & delivery partners mean that the feedback cycle is longer and more at arm's length than the development cycle demands. This means that there are lots of incremental releases that never make it into the market / customers' hands.