With shifting goal-posts driven by investor and market conditions, a fair chance of having pivot points, and an uncertain future, developing software that can be modified or redesigned easily is critical. Having Agile practices as an underlying piece of your software development workflow gives you insurance that hours put into development will not be ‘wasted’ in the event of big changes.
Productivity in software development is typically tricky to measure. Is it how fast your team are doing something? It has been proven time and again that lines of code is a poor measure; are the number of modules an indicator? The degree of module reuse within a project, or from previous projects?
Ah, the eternal debate: Agile vs Waterfall, Waterfall vs Agile. When dipping your toes into custom software development you’ll encounter these two terms. They are software development life-cycle models that outline how a project is to be completed.
Fixed price contracts can be rather tricky in a Scrum environment. Classic software development and Agile software development are very different from one another, and things that work in one environment don’t necessarily work in another.