architecture - How do you avoid Technical Debt while still keep true to Agile, i.e.: avoiding violation of YAGNI and avoiding BDUF? -


technical debt via martin fowler, via steve mcconnell

yagni (you ain't gonna need it) via wikipedia

bduf (big design front) via wikipedia

update: clarify question, think can state way , keep meaning:

"in ways you, agile practioner, find right balance between "quick , dirty" (unintentionally risking technical debt while attempting adhere yagni) , over-engineering (bduf) within each iteration?"

it seems if stick "plan, do, adapt; plan, do, adapt" idea of agile (iterations, iteration reviews) avoid things default. bduf contrary idea of agile estimating & planning if agile, wont bduf automatically.

the purpose of release & iteration planning meetings make sure adding valuable features project iteration. if keep in mind, you'll avoid yagni free.

i recommend mike cohn books on agile planning:

  1. user stories applied
  2. agile estimating , planning

update: after clarification avoiding yagni , bduf within iteration...

bduf...if felt feature not defined before started work on it, create small "feature" or story account design type portion of work needed. maybe smaller story has story point estimate of 1 instead of real feature's 5. way, design time-boxed smaller story, , driven move on feature itself.

to avoid violating yagni work clear customer expects feature within iteration. work maps customer expects. if think should added, create new feature it, , add backlog of work done. persuade customer see benefit of it; customer push feature being done @ point in time.


Comments

Popular posts from this blog

c++ - How do I get a multi line tooltip in MFC -

asp.net - In javascript how to find the height and width -

c# - DataTable to EnumerableRowCollection -