Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OOP 2024: No-code does not mean no model

OOP 2024: No-code does not mean no model

TL, DR; Embrace no-code in order to explore more models and throw most of those models away. You will quickly discover what works, and what matters, in the business process that you are automating. If it matters enough, you can extract it into a high-fidelity design in code.


No code has entered the chat...

For a while now, no-code vendors have been telling organizations that they shouldn't be limited by expensive software engineers to build systems that are useful. No-code aims to commoditize the software production process. Commodification of technology leads to value if it removes a limitation, but successful adoption only works if the rules and policies that initially helped us overcome the limitation are replaced as well. Practices such as DevOps have to be adopted in order to reap the benefits of the commodification of compute and storage in the cloud. In order to benefit from serverless, system components need to be decoupled through message-driven designs. In order to benefit from no-code, people have to organize around the software production process in a different way.

Within software engineering communities no-code has been dismissed as a fad, saying the need for writing code will never go away because the needs of most software systems are too complex to capture in a visual design environment. This viewpoint ignores the argument that software engineers act as a gatekeeper, a limitation for the stakeholder to get what they want. It is reductionist to say that no-code means no-code. No-code is as much about no-code, as wireless is about the absence of wires, or serverless is about the absence of servers. No-code means less boilerplate. And no-code does NOT mean no-model.

The inability to deliver meaningful results in a reasonable amount of time is never out of bad intent, it's the consequence of rigidity in the system of work. If there is no room for experiments, for error, for trying again, then we shouldn't be surprised if people attempt moonshots. But if we can reduce the cost of experiments, then we should be able to iterate more, learn faster, and as a consequence produce more value.

Let's explore how no-code is able to remove the time to market of our ideas to explore new models. Join this session to uncover which rules, policies, and practices around modeling and design need to be replaced in order to reap the benefits that no-code has to offer.

Marijn Huizendveld

March 01, 2024
Tweet

More Decks by Marijn Huizendveld

Other Decks in Technology

Transcript

  1. Marijn Huizendveld I help leadership teams at fast growing organizations

    accomplish more with the people that produce their software. [email protected] marijn.huizendveld.com
  2. huizendveld.com Why I’m interested in this topic 💸 Software production

    eats budgets 🦾 Potential to reduce mechanical aspects 💭 Additional focus on the intellectual, 
 and collaborative aspects of design #OOPmuc
  3. Wha t are t h e c o m mon

    al i ti e s b etwe en Ed S h e era n a nd N ei l G a i man ?
  4. huizendveld.com #OOPmuc 💡 An i dea Ex pl a i

    n val u e 👥 🤝 Ag r e eme n t Awa it c a pa cit y ⏳ Sta rt p rodu ci ng 👩💻 Dep lo y s o l u t i o n 🚀 🗳 Gat her d at a We i g h o p ti o ns ⚖ 🔁 Ite rat e
  5. Wh y i s t here a m arke t

    f o r n o -co de to ol s ?
  6. huizendveld.com #OOPmuc 💡 An i dea Ex pl a i

    n val u e 👥 🤝 Ag r e eme n t Awa it c a pa cit y ⏳ Sta rt p rodu ci ng 👩💻 Dep lo y s o l u t i o n 🚀 🗳 Gat her d at a We i g h o p ti o ns ⚖ 🔁 Ite rat e
  7. Whe n doe s E d v is i t

    t h e r e c o r din g st ud io ?
  8. huizendveld.com Why we aim for overnight success? 💍 Assumption: Single

    model to rule them all ✨ Environment: Institutionalized perfectionism 💔 Personal: Di ffi culty killing our darlings #OOPmuc
  9. Tak e a m o me n t an d

    a sk y o urs el f : Is th e o r gan iz ati o n I w o rk f o r at tem p tin g t o ac h i e ve ov er nig h t su c c e s s es ?
  10. huizendveld.com Naive modelling in code 1⃣ Single path (e.g happy

    path, speci fi c case) 👩⚖ Little to no restrictions enforced 👀 Look back and ask: “What have we learned?” #OOPmuc
  11. class UsageId: usage_date: DayOfUsage customer_id: CustomerId @classmethod def from_string(cls, as_text:

    str) -> UsageIdType: [provided_prefix, provided_customer_id, provided_usage_date] = as_text.split(':') if provided_prefix != 'usage': raise SorryInvalidUsageId.because_of_unsuported_prefix() if provided_customer_id == '': raise SorryInvalidUsageId.because_of_missing_customer_id() if provided_usage_date == '': raise SorryInvalidUsageId.because_of_missing_usage_date() return UsageId( CustomerId.from_string(f”customer:{provided_customer_id}"), DayOfUsage.from_string(provided_usage_date) )
  12. huizendveld.com What can we learn from Ed Sheeran? 🚰 Make

    more songs domain models 🗑 Throw most of them away 🔁 Discover what resonates #OOPmuc
  13. huizendveld.com Leasy: Easy Car Leasing 🏢 Successful fast growing company

    ⚠ Big deals involve lots of manual labor 🧟 Many abandoned purchases due to poor UX #OOPmuc
  14. huizendveld.com #OOPmuc Con vin c e th e p ros

    p ect Mak e it h ap pen Mak e the de a l
  15. Wha t is t he c on c ep t

    t h a t i s mos t o ften mi s sp el led in D oma i n -Dri ven D e si gn ?
  16. huizendveld.com Prototype: “A fi rst, or preliminary version of a

    device or vehicle from which other forms are developed” - Oxford Dictionary #OOPmuc
  17. Hav e yo u eve r a ske d yo

    u r s elf : Wha t is n o -co de ?
  18. huizendveld.com What is no-code to me? 🖥 Produces working software

    🔑 Turnkey runtime 🔷 Visual programming paradigm #OOPmuc
  19. huizendveld.com “No code is about the absence of code, as

    wireless is about the absence of wires, or serverless about the absence of servers” – Romeu Moura #OOPmuc
  20. How do w e bi nd t he mo de

    l to t he i m p l eme n t a tio n if we d o n’t h a v e a n y c od e ?
  21. huizendveld.com Challenges ∞ Many moving parts and many assumptions 🔄

    One part in fl uences the other and vice versa 🔮 Human behavior is impossible to predict #OOPmuc
  22. huizendveld.com #OOPmuc Con vin c e th e p ros

    p ect Mak e it h ap pen Mak e the de a l
  23. Wha t do y o u t hi n k

    : If o ur p r o t o t y pe is go o d , s h o ul d i t s ta y i n n o -co de ?
  24. huizendveld.com Should it stay in no-code? ⏱ Rate of change

    🚦 Service expectations 📑 Decoupled using interfaces #OOPmuc
  25. huizendveld.com “[…]Long before the availability of this technology we developed

    […] rules to help us accommodate the limitation” – Dr. Eliyahu M. Goldratt #OOPmuc
  26. huizendveld.com Technology adoption according to Goldratt 1. What is the

    power of the technology? 2. What limitation does it diminish? 3. What were the rules to deal with the limitation? 4. Given the new technology, 
 what rules should we replace them with? #OOPmuc
  27. huizendveld.com Rules up until now 🛣Predictable > innovative 🌊Big design

    up front 🏔Do not discard 🏁Finishing > succeeding 👥Outsource to agencies ♻Rework the same artifact #OOPmuc
  28. huizendveld.com No code 🔁 No code helps shorten the feedback

    cycle ⚠ Bring your own domain model into the tools 🔚 “Begin with the end in mind” to discover parts #OOPmuc
  29. huizendveld.com Artifacts ✅ Not all artifacts add value to users

    ❌ Useful if they disprove assumptions fast 🔍 Help identify the artifacts we care for #OOPmuc
  30. huizendveld.com Implications ⌨ No only writing code to produce software

    🙈 Software production is more than code alone 🚰 Optimize for the throughput of ideas #OOPmuc
  31. huizendveld.com In short 🕵 Use no-code to explore more models

    🗑 Throw most of those models away ✂ Extract to code if needed #OOPmuc
  32. huizendveld.com #OOPmuc What is on your mind? → My goal

    is to start a conversation 
 on no-code and DDD…
  33. Are you eager to learn more? Marijn Huizendveld B.V. Hillegomstraat

    12-14 1058 LS Amsterdam The Netherlands If you take the time to ask a good question, then I’ll take the time to write a good answer. [email protected] marijn.huizendveld.com