Skip to main content

Continuous Delivery as an accelerator for the product-market fit

Product development (and by consequence any software-centered development) is a tricky process, in which you always need to make sure that you’re not only adding complexity but you also can control it. 




When it comes to complexity controlling, we should focus primarily on 3 pillars:
  • Scope of change
  • Change cost
  • Escape options

Scope of change

When we think about a new feature, or a new data stream that will be added to the product scope, we should take the time to think about the scope of change. Which parts of the product will be affected by that change? It doesn’t hurt to think a little bit on the negative side: What could be broke down by such a change? How this new complexity is going to be integrated?

Thinking about such aspects might give you at least high-level perspective on the affected areas, and thus you can pay more attention to those areas to make sure the complexity is still maintained and under control.

Change Cost

Think about that like you’re going to be wrong, even if you have validated outcomes, you may have to change that in the future, to what degree you can adopt this change? Does it break other product aspects if you integrated the new feature and then changed the way it behaves? Are you creating a new dependency that will cost you more if you wanted to change?

Have these questions in mind while thinking about it from that aspect. It can give you wider perspective.

Escape Options

When you add new complexity to your product, do you have the option to rollback anytime? What would that look like for your product? Will you be experiencing a down time? How much time would that take?

What if we figured out that this new feature isn’t a good fit for the product, maybe we acquired a new market that changed our product perspective, are we ready to rollout this feature? Are we flexible enough to plug that out without affecting the user experience?

Answering those questions might leave you with a skeptical perspective tackling the increasing complexity.

But it’s clear that even with these practices, you still to formalize this discipline and get some automation around it, because guess what? It’s not always clear when are you adding new complexity, since this is more of a subtle, evolving and sometimes invisible product development behavior.

Continuous Delivery

As per continuousdelivery.com definition, CD is: “The ability to get changes of all types—including new features, configuration changes, bug fixes and experiments—into production, or into the hands of users, safely and quickly in a sustainable way.”

CD was adapted by many ventures as one of the pillars for software product agility. Many people break down CD into 2 major categories:
  • Continuous Integration
  • Continuous Deployment

And the outcome of those 2 practices is called Continuous Delivery. A practice that you adapt to shorten the product update cycle. But is it true that it’s only about coding practices?

To my point of view, CD is an overarching practice, that not only affects the code base, but also affects several aspects like: Architecture, Usability, and Product-market fit. I’m going to try to highlight the last aspect a little bit more.

Enhance your product-market fit with CD



When thinking about product-market fit as a phase many products should go through, you can notice 1 thing. It’s all about uncertainty! You’re trying to measure different view for your product, study reactions, and learn from that!

Then, if you’re validating a concept, trying to get a buy-in for a specific feature, you’re actually engaged in a software development process. Having the CD practice in your mind can help you elaborate more bit-sized tests for this new concept. Instead of start working on that big, exciting feature, think about how can we change an existing view to look like the new feature? How can we separate that new view from the old view and test that out?

So you have CD in your arsenal to validate your product hypothesis, you can easily move between concepts and worry less about complexity. That helps you on the architectural side to safely land an incremental design process, in which you manage design complexity on-the-go.


CD is a great way to slowly add complexity to your product while be safe not to create negative complexity or hidden ones.

Comments

Popular posts from this blog

How could some people deceive software major students? (In Arabic)

“كلنا عارفين أهمية هندسة البرمجيات اليومين دول، وعارفين إن لغات البرمجة وإتقانها شيء مهم جداً في CV أي مبرمج وحاجة بتخلي الشركات الكبيرة تحط عينها عليك. وعشان احنا عارفين إن الكورسات الأونلاين طويلة ومرهقة عملنالك أحسن منحة تدريبية في مدينة المنصورة ومدن الدلتا لمدة شهرين، برنامج متكامل عشان تبقى مهندس برمجيات بفئة A+ عشان تبدأ تغير عالم البرمجيات وتصنع الفارق وتخلي السيرة الذاتية بتاعتك مميزة ودسمة ^_^ الأول هنعرفك يعني إيه لغات برمجة تشفيرية والفرق بينها وبين لغات البرمجة الرقمية وبعدين هناخدك في جولة في تقنيات الويب والموبايل والديزاين بأحدث الإصدارات لعام 2016 وهنعملك امتحانات دورية عشان نتأكد إنك فاهم المحتوى كويس. الكورس هيبقى محتوى تدريبي يؤهلك للحصول على شهادة الـ IFEDS الأمريكية المعتمدة من وزارة الخارجية القطرية واللي مسموح لحاملها بالدخول لدول الاتحاد الأوروبي بفيزا حرة! محتوى الكورس: 1- مقدمة للغات البرمجة التشفيرية ( 6 حصص + امتحان تمهيدي ) 2- لغات الويب الخفية ( 7 حصص + امتحان على اللغات التشفيرية + امتحان تمهيدي ) 3- لغات التصميم السوية ( 9 حصص + ا...

سبر أغوار العقل البشري - نظرية العقل كصفحة الفارغة لچون لوك

نستكمل اليوم رحلة فلسفية أخرى والتي هي بمثابة مغامرة جريئة! منذ فترة قريبة، كنا نستكشف فكرة المعرفة الفطرية، التي أذهلت الفلاسفة العباقرة ذوي الأفكار الثورية. سابقًا، تعرضنا بشيء من التفصيل المبسّط لمفكرين عظماء مثل إيمانويل كانط . وهو من شاكلة المفكرين المثاليين الذين اعتقدوا أنّ عقولنا تأتي إلى العالم مزوّدة بمبادئ أولى عن المفاهيم التي نعاصرها في عالمنا.، والتي تُدعى بالمعرفة الفطرية. ( رابط الفيديو الذي يتحدث عن نظرة إيمانويل كانط للمعرفة الفطرية ) . الآن سنغير المسار قليلًا. وسنتجه إلى الفريق المقابل للفلاسفة المثاليين، وعلى رأس هذا الفريق هناك "چ ون لوك " وهو مرشدنا في مهمة اليوم الجريئة. إنه بمثابة المحقق الجاد في عالم الأفكار. لوك ، الفيلسوف والطبيب الشهير، يتحدى فكرة المعرفة الفطرية، ويقول أن عقولنا تكون عبارة عن ألواح فارغة عندما نولد، دون أي معرفة فطرية. في هذه المقالة، سوف ننظر عن كثب إلى فكرة المعرفة الفطرية ولكن من زاوية مختلفة، التي يمكننا أن نسميها بزاوية الفلسفة " الماديّة ". يقول لوك إننا لا ندخل إلى العالم بأفكار مُدمجة بشكل فطري، بل نتعلم الأشيا...

تساؤلات حول مفهوم "البطل" في المجتمعات البشرية

 لا شك أن العديد من أبناء جيلي قد تربوا ونشأت أفكارهم في ريعان تشكّلها على العديد من مسلسلات الكارتون والقصص المصورة، حيث العديد من الأحداث التي تمر على مجموعة من الشخصيات المتخيّلة في ذهن المؤلف، في عالم يتسم عادة بالمثالية وينصف في النهاية أولئك الذين يتصدون بضراوة لقوى الشر ومخاوف الإنسان، أولئك الذين لا يترددون في حماية مجتمع، أو إنصاف مظلوم، أو دحر ظالم.  فسواء كنت من محبي الأنمي الياباني ، أو مسرحيات شكسبير الكلاسيكية، أو حتى الأفلام والمسلسلات المعاصرة، فستجد على نحو مغاير أن هناك بعض الشخصيات المحورية التي يدور حولها العمل الفني ويقوم بنسج الأحداث المختلفة حولها ليحث بداخلنا المحاكاة الخيالية لحيواتهم ومشاكلهم، وبالتالي يأخذنا في مدارات تلك الأحداث حول بعض الاستنتاجات والدروس الأخلاقية، أو .حتى الخبرات الحياتية المتوارثة في أُطر هذه الثقافة أو تلك القاسم المشترك بين تلك الأعمال الفنية المختلفة هو قواعد "الدراما" التي نستطيع تقفي أثرها تاريخياً وصولاً لإحتفالات وأعياد "ديونيسيا" في مدينة أثينا اليونانية القديمة، والتي تُعرف تاريخياً بكونها الميلاد الحضاري للد...