Imagine you are a builder and you’re tasked to build one house and one city. How would you approach each building challenge?

The house seems straightforward enough. To achieve your goal, you choose an architect, create a detailed blueprint of the house with all the measurements and materials, select the contractors, start to build. When the work is completed, your house is ready to move in.

Now consider the challenge of building a city. Technically you could follow the same process as building a single house. In practice, it’s unlikely you would have an all-encompassing master plan of the city covering all the requirements. You may also not be able to freeze the requirements; each new citizen may have their own wants and needs, a new mayor may come along with its own political agenda, etc.

To solve those different building parameters, let’s consider 2 methodologies: Waterfall and Agile.

Agile has conquered the tech world today and makes the life of builders easier, with its new concepts, philosophy, team rituals and built-in flexibility.

In the article below we’ll talk about the shift from Waterfall and a monolithic approach to software, to an agile world of microservices, as well as our reflections at Slash about the challenges of operating Agile.

The history of Agile

It is difficult to imagine, but the first commercial software has been developing since the early 70s. In 1970, the American computer scientist Winston Royce compiled a paper entitled “Managing the Development of Large Software Systems”. In his work, Royce argued that software development should not follow other industrial processes, such as the automotive assembly line, consisting of many steps, where each previous step has to be completed before going to the next one.

Instead, Royce proposed a phased approach, where all the project requirements are gathered up front. Only after this initial step, the remaining processes are meant to be done.

The paper led to the adoption of the waterfall method for software development, but the irony is that it was one big misunderstanding. Royce was arguing for an agile process where requirements were gathered before each step of development & testing; and each step was “small enough”.

#agile-development #agile-software-development #agile-mindset #agile-vs-waterfall #software-development #technology #microservices #good-company

Why Builders Opt For Agile: Experience Gained at Slash
1.30 GEEK