Working with smart-people is one of the priceless gifts in life, if you have it, enjoy it.
June 10, 2020
In Software Architecture, complexity doesn’t vanish, it could be only transformed from shape to another.
June 6, 2020
If you struggle with the technology, and you try to make it work, DON’T, it is the wrong technology for your team. And if
you struggle with the process, and you try to make it work, DON’T, it is the wrong process for your culture.
May 3, 2020
Agile is not the Agile you think? When management or business people say Agile, they mean to be responsive faster to market
as a part of their digital transformation move. On the other hand, When IT people say Agile, they mean implementing an Agile process in their
software development, such as: XP, Scrum, or SAFe. So be sure to understand the context first before discussing Agility!
June 16, 2020
Again guys, the most important (and maybe the only) measure that can tell whether a software architecture is a monolithic or micro-services based,
is how it is deployed, not structured, period.
If you structured your application into a modular approach (as components or web-services),
congratulations, that might make it cleaner, but if you still deploy once, it is a monolithic.
June 4, 2020
Is your organization really Agile enough?
In this era of technology disruption, if an enterprise wants to stay in the market, it should know
and respond to customer-needs quickly (Digital Transformation ) , and to do that, it should deliver values faster (Agile
Culture) , and to deliver faster, it needs a new approach (Agile Process) and ownership (DevOps). Faster
delivery and ownership requires teams parallelization and resources isolation (Microservices). Taking one part of all of the
above is like buying car-wheels only (One Component), and not a full car (the Whole System) and expecting that you could reach your destination
One of the funniest things in the software development industry is the Delivery Time, where:
1- Customers request vendors to deliver in 1-3
months claiming that business/operations will struggle if they didn't operate in this period.
2- Vendor commit to deliver in this period
assuming that they will lose the contract if they didn't do that.
3- Management will push project managers to avoid penalties, project
managers will push technical leads, technical leads will push the technical team to deliver.
At the end of the day, the project is
delivered in 6-18 months, everybody is happy , and a new project is started.
Note: the funny thing that: customers, vendors, management,
project managers, and technical leads are most likely aware of the actual delivery time from the beginning, but they like to have some action :)
April 20, 2020
Is open-source technologies and systems are less secure than closed-source? One of the worldwide trends in technology
nowadays is to use open-source software technologies and systems (OSS). This trend is adopted because of many reasons, including: (i) cost
reduction, (ii) maturity, (iii) and learning resources. However, the main criticism of OSS is security, but is it really justified? A research
paper published by IBM in 2005 , shows that open source projects are not less secured than closed source projects, in fact, sometimes it can be
better. For instance, the most secured operating systems on earth are Unix-based systems, which either open source (such as RedHat, Sun-Solaris,
and Ubuntu) or use open-source kernels (such as IBM AIX and HP-UX). Another example is the hypervisor software used by Amazon for their cloud
services virtualization, where they used to use Xen, and now moved to KVM, which both are open source (full story can be found at ). So, is it
really less secure!!!
June 31, 2018