Why Builders prefer Agile: lessons learned at Slash

Why Builders prefer Agile: lessons learned at Slash

Waterfall vs Agile

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 the 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 for those different building parameters, let’s consider 2 methodologies: Waterfall and Agile.

No alt text provided for this image

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”.

The early 90’s gave birth to the first flexible software development methods that were able to challenge the dominant “plan-driven” approach of the Waterfall method so revered by other industries as well.

A decade later, in 2001, 17 software developers gathered in the state of Utah (USA). As a result of their meeting, the Agile Manifesto was born. This was the very beginning of the new project management and software development era. 

You can read more on the origins of agile, in this article: 12 principles of Agile Manifesto.

So why Agile? 

As we’ve seen in the example of building a house vs a city, the challenge of the Waterfall method is that it contains 2 risky assumptions: requirements are clear upfront and implementation is accurate.

In a dynamic environment, this invites failure. Requirements evolve, customers and end-users have opinions (and change them!), and testing of the development process should occur continuously. Failing to incorporate this in your workflow can have devastating results: a product no one wants to use, budget overrun of 100%+, tech debt etc.

No alt text provided for this image

To better understand why most IT problems are dynamic and not static, let’s consider how IT architecture is evolving.

Monolithic applications vs microservices: why or why not?

Two decades ago traditional IT was based on monolithic applications, nowadays most new IT systems or applications are based on microservice architecture.

While a monolithic application is a single unified unit, a microservices architecture breaks it down into a collection of smaller independent units. These units carry out every application process as a separate service. So all the services have their own logic and the database as well as perform the specific functions.

No alt text provided for this image

Source of table: https://articles.microservices.com/monolithic-vs-microservices-architecture-5c4848858f59

The attractiveness of microservices is easily explained. Developers can work in parallel using the programming language, platforms, and data formats of their choice. They do not need to coordinate with other developers the deployment and scaling of application components built with microservices. And for clients, it enables rapid development, more future-proof tech and scale.

In many ways microservice architecture is made for agile development.

Agile at Slash: Our 5 lessons learned

While we at Slash are big fans of Agile as a philosophy and practical framework to organize our work processes, here are 5 challenges we have faced so far in implementing it.

Challenge 1: clients want to work agile but pay waterfall 

We found out the hard way that clients want to work in Agile but prefer to pay for Waterfall. In other words: they want a contract with a defined scope and a fixed budget, but they love to have the flexibility to modify the scope and requirements afterwards. 

In a client-vendor relationship, that is a killer and poses the 2 practical challenges: 

- Clients need to be educated on the pros and cons of working with Agile. 

- Contracts need to be adjusted to allow for a more flexible, agile framework.

We have adopted two strategies to deal with this: 

  • Strategy 1: clients pay for a retained team with a flexible scope. We define pre-agreed day-rates for the members of the team and a transparent planning and tracking mechanism to guide the daily work.
  • Strategy 2: clients pay for a retained team with an ~80% pre-agreed scope and ~20% variable. We install a requirements engineering and approval process to allow for scope to evolve within the team capacity.

Challenge 2: protect the integrity of the agile process

To be effective in an agile process, you need to protect and maintain the integrity of the process at all costs. Agile is opinionated. If you don’t protect the process, you do more harm than good and develop anti-agile patterns.

Challenge 3: kill bad habits

The agile process doesn’t do well with lone rangers or lone geniuses. Agile requires good teamwork to be effective. You need to build an environment where everyone respects and supports the process, including elimination of bad habits, late-night work and weekend work. 

Challenge 4: build trust relationships

Agile is based on a collaborative relationship of deep trust, dialog and transparency. If you work with external clients or startup partners like us, you need to transform your relationship into a trusted partner for Agile to work properly. Traditional client-vendor relationships may not have the team work, trust and leadership required.

Challenge 5: factor in overheads

Agile comes with “a lot” of project management overhead on top of the development time, depending on the project 30-60%. This has to be factored in terms of scope, budget, timeline and team. In Waterfall this overhead is more “hidden” in the planning phase, delays etc. In Agile, this overhead is made very explicit.

Agile Survey: soundbites from the Slash team

We surveyed our team to get hear about their experience with Agile. 

The first experience with Agile:

  • The majority had no or little experience with Agile prior to Slash. A few worked on agile projects in industries such as banking, credit card organizations, SaaS, etc. 
  • The majority found the switch from Waterfall to Agile quite difficult because initial misunderstanding and concept misinterpretation.

Changes in individual habits:

  • The #1 change they had to adopt is “Flexibility” . 
  • The #2 is “Teamwork”. Slashers found it challenging to get used to it at first, especially those who came from enterprise backgrounds and were used to operating in waterfall models.

Changes in team behaviour: 

Agile affects the team behaviour in many ways. 

  • “The habits change by focusing on sprint as a whole instead of focusing on each individual task,” - as noted one respondent, ”[...] and we will prioritize what benefits the client the most.
  • Another team member recalled clashes and misunderstandings between the team when switching to Agile, because many of the old habits were no longer needed.  

Benefits of Agile:

  • Some of the biggest benefits to me come from the simple concept of being able to quickly and frequently put software into the consumer’s hands.” 
  • “Sometimes unpolished products cause problems.”. 
  • “Embrace a fail fast, fail often mindset”

Lessons learned from the team:

All our respondents stressed on the importance of adopting new teamwork techniques and developing the ability to constantly communicate with team members to get work done. 

An agile mindset can help get things done better and faster, however everyone in a team needs to stay focused on the final outcome. 

No alt text provided for this image

Summary 

Agile is probably the most “native” operating model for teams of builders and innovators. It is not however a panacea and like all methodologies, it requires careful nurturing and development to get the benefits from it. We embarked on the Agile journey across all our tech and non-tech teams in 2017, and every day we’re still learning. 

Lorselle Ann

Senior Product Owner | Project Manager | Leading Technical Projects | Product Management

4 年

Great article Andries! I find it educating to read about your approach in Slash, and the lessons learned. Everyone wants to do Agile, but applying it is clunky. I’d love to read more and learn more. Looking forward to reading more tips and insight.

回复
Dilip K, PMP

Driving technology innovation and entrepreneurship

4 年

Lovely article Andries. Thank you very much. Some of the key elements for victory is when the mindset shift happens and when continuous polishing occurs and less/zero interferences. Then garden starts to bloom and takes care itself more and more.

Yuriy Boyko

Head Of Account Management | Top Lead Generation Voice | Belkins - #1 Ranked Appointment Setting Agency | TOP-50 Service Companies Globally 2023 by Clutch

4 年

Well said, Andries De Vos! Agile is the future methodology for any tech company ??

回复
Arslan Ashraf

Global Marketing Access @ Merck KGaA | Marketing & Communications Expert | Brand Strategist | Digital Media | SEO | Content Marketing | Product Marketing | Masters in Expanded Media @ Hochschule Darmstadt.

4 年

Really relevant

回复

要查看或添加评论,请登录

Andries De Vos的更多文章

  • The role of Financial Capital in Technological Revolutions

    The role of Financial Capital in Technological Revolutions

    Mark Twain allegedly said that history doesn’t repeat itself, but it does rhyme. Carlota Perez, a distinguished…

  • Deep work: Methods for staying productive in a distracted world

    Deep work: Methods for staying productive in a distracted world

    Our modern routine is full of tasks, obligations, calls and overall a huge amount of distractions. How do some people…

    2 条评论
  • The shift in how innovation is done: how companies evolve their strategy

    The shift in how innovation is done: how companies evolve their strategy

    Accelerating speed of change The forces driving innovation are accelerating and compounding. Tomorrow’s speed of change…

  • Cambodia's Coming AI Revolution [The Diplomat/Pulitzer Center on Crisis Reporting]

    Cambodia's Coming AI Revolution [The Diplomat/Pulitzer Center on Crisis Reporting]

    So exciting to see how Cambodia tech sector is booming, with big data, AI and digital tech breaking through; and people…

    3 条评论
  • Super internships: here is how

    Super internships: here is how

    Every year Slash takes around 10-15 interns across our Singapore, Phnom Penh and our (NEW!) Bali office. Interns are…

    9 条评论
  • A framework for product innovation

    A framework for product innovation

    Digital innovation is being embraced by everyone — from startups to large corporations. New tools, frameworks and…

    2 条评论
  • 50 days to profitability

    50 days to profitability

    Part 3 on how we fundraised US$45M in South East Asia and China, lost it all, killed the round and became profitable in…

    5 条评论
  • The Grand China Plan

    The Grand China Plan

    Part 2 on how we fundraised US$45M in South East Asia and China, lost it all, killed the round and became profitable in…

    4 条评论
  • My 45 Million dollar lesson

    My 45 Million dollar lesson

    3-part story on how we fundraised US$45M in South East Asia and China, lost it all, killed the round and became…

社区洞察

其他会员也浏览了