The oversimplification problem of Agile

From the Agility and Project Leadership Blog
by
A contrarian and provocative blog that goes beyond the traditional over-hyped dogma of "Agile", so as to obtain true agility and project leadership through a process of philosophical reflection.

About this Blog

RSS

Recent Posts

Has Scrum outlived its usefulness? Should Scrum just go away?

The rise of Agile’s SAFe is like a bad episode of the movie Groundhog Day

Marcel Proust’s recursive novel: Why the concept of iteration in Agile is shortsighted

Forecast for 2015: The beginning of the end of Agile?

Google considered the best US company to work for due to HR agility



There’s no doubt that Agile has been beneficial to the development of software and industries beyond, but one thing I have noticed is that people who get deep into it can have a tendency to oversimplify both the problem and the solution to which they are looking to apply Agile.  Just look at how complex many software systems are these days.  Many have millions if not billions of lines of code all strung together and these software applications interact with multiple other complex software applications often in real-time.  To facilitate this requires large, interconnected hardware infrastructure and storage of data that also requires you keep track of security, governance and compliance with rules, regulations and policies both private and public.

Can such complexity really be reduced down to simple user stories or prioritized backlog list then implemented in short iterative burst sessions?  Only once you have thought through and developed a solid object oriented design that incorporates things like patterns, re-useable software, and modular components… this requires you go through a process of structured and system oriented thinking that guess what, means you do some upfront design and requirements gathering!  Only then can you come up with well planned and defined iterations that will result in working software and software that you know will be modular and maintainable, rather than something that just “works”.

Do you think many who do Agile have a tendency to oversimplify?  Agree or not?

Posted on: November 30, 2014 12:55 PM | Permalink

Comments (11)

Please login or join to subscribe to this item
PracticingITPM
Not to oversimplify the answer, but "maybe." Plainly, what the user experiences is a thin veneer, covering a mountain range of technology. But just as the engineer designing a new fridge can concentrate on compressors, heat exchangers, and insulation, rather than electrical power generation and distribution, I think software development teams can and should operate under the assumption that the infrastructure "just works," until they discover a gap. Clearly defining what is in and out of scope for current activities is a necessary simplification. Breaking epics (or epochs) into smaller pieces is a necessary simplification. Writing custom code to replicate an existing service that is "hard to use" is an unnecessary simplification, in that it creates complexity for another day. Pretending that estimates don't really matter is an oversimplification, in that it creates complexity for decision makers.

My oversimplified rule of thumb: if you're just kicking the problem down the road or throwing it over the wall, you might be oversimplifying.

Dear Don,
I am disagree with this statement that says doing Agile is simplicity. I think Agile methods can be helpful in Project Management, although maybe it seems simple.

:)

I think that the principles of Agile and to some degrees the methods can be simple. The complexity for me is in the application and changing the mentality/culture of an organization to be able to successfully deploy Agile.

Not everything is simple, some problems are intrinsically hard and complex and require upfront planning and structure , a compiler is not as simple as a pretty webpage. .To expect that two (..why not 3,4, many more...) software developers working together on the same code almost at the same time can generate anything but simplistic code is too optimistic. Certainly I would not want to take an airplane where the control system was built like that..

In my opinion, over simplification is irrespective to agility. However, principles and frameworks helps to deliver the product much faster. Easy to manage frequent feedback and make amends in a better way. It helps to make the complex things possible.

Its complex to make the simple things. Needs lots of hard work, smart work, wills and skills.

That Einstein guy had it right...

Thanks for sharing!

I think the development tasks are still complex , but the way we handle those complex tasks become simplified now.

Thanks for sharing

Please Login/Register to leave a comment.

ADVERTISEMENTS

"I once took a cab to a drive-in. The movie cost me $190."

- Stephen Wright

ADVERTISEMENT

Sponsors

Vendor Events

See all Vendor Events