Building services, websites and apps from scratch can be a long process with potential duplication of effort needed to implement business and display logic across different back-end and front-end platforms.
It’s more important now than it’s ever been to ensure that businesses have the flexibility to adjust their offerings to meet both business and user needs with minimal impact.
Working in a software team is easy — The business gives you a specification on what to build, the developers build it, the testers test it and then you deploy it somewhere for people to use it.
But what happens when those individuals don’t work in sync and the team is building the software faster than it can be deployed, the developers churn out work faster than it can be tested, or the business can’t feed the team with specifications and decisions? — You get bottlenecks.
Bottlenecks are constraints in a flow and if a team are using a more Lean orientated software development approach then removing these bottlenecks is the key to not only meeting deadlines, but also helping the business realise the agility that such an approach is meant to give them. …
In the early days of software development there was the Specification, a document of what needed to be built with detailed instructions of exactly how the system should function and it was good.
Then as computers started to be used more widely it turned out that specification documents were too rigid as users started to use the systems and software in ways that the specification didn’t cover.
Around the same time, software developers started to realise that the way that software was built needed to be changed in order to accommodate changing user and business needs and thus agile was born and with it came a new way of documenting the intention of a system — the User Story. …