Does iteratively adding features in each agile 'sprint' mean constant refactoring and rewriting achieve robust design patterns?

Richard de Garis's picture

Unless I've misunderstood the principle, agile sprints are about layering on features until you arrive at some final release.  

But software can become unwieldy complex and choosing the right data structures and class patterns, for the application, is crucial - isn't it?  

So, how can you decide on the right data structures and classes and patterns, at the very beginning of the process, if in the first sprint, you are only dealing with a few of the overall application features?

Do you continually refactor and re-write as new feature-information is presented? Or is there some overall application design architecture happening up-front?

BTW, I'm not a formally-trained computer scientist, or software developer.

1 Answer

Richard de Garis's picture

My apologies to everyone; somehow the question got all screwed-up and reads like English isn't my first language. The question is actually:

Does iteratively adding features in each agile 'sprint' mean constant refactoring and rewriting in order to achieve robust design patterns?

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.