<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Vaseem Anjum</title>
    <description>The latest articles on DEV Community by Vaseem Anjum (@vaseem_anjum_b1050bcfaffe).</description>
    <link>https://dev.to/vaseem_anjum_b1050bcfaffe</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2890143%2Fb6fe3205-7f1c-4594-b68c-d8626fbed96c.png</url>
      <title>DEV Community: Vaseem Anjum</title>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/vaseem_anjum_b1050bcfaffe"/>
    <language>en</language>
    <item>
      <title>Regression Testing is a First Class Citizen</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Sat, 26 Apr 2025 13:35:19 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/regression-testing-is-a-first-class-citizen-oj1</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/regression-testing-is-a-first-class-citizen-oj1</guid>
      <description>&lt;p&gt;In today’s fast-paced software development landscape, enterprise applications whether desktop, web, or hybrid are expected to deliver performance, reliability, and continuous updates. But with every new deployment, there’s a risk: what if something breaks that once worked perfectly?&lt;/p&gt;

&lt;p&gt;That’s where regression testing steps in — not as a luxury, but as a mission-critical practice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;⚙️ What is Regression Testing?&lt;/strong&gt;&lt;br&gt;
Regression testing ensures that new changes (code fixes, enhancements, features) do not unintentionally break existing functionality. It’s about safeguarding your application’s integrity as it evolves.&lt;/p&gt;

&lt;p&gt;Most enterprises lack an in-depth strategy to provide a high level of coverage during regression testing. Generally, they just test the top 50 or 100 (or a similar number) of scenarios. The challenge comes from large systems that has functionality built over several years and not every test is captured in the regression suite. A large number of scenarios also takes several hours to run and certify the results. A right blend of top sunny scenarios for a certain number of hours is a sweet spot for many enterprises. But, I am making a case that you need a higher percentage of coverage for all business functionality during automated regression testing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;💣 The Cost of a Poor Regression Testing Strategy&lt;/strong&gt;&lt;br&gt;
Without proper regression testing, undetected bugs can creep into production, causing:&lt;/p&gt;

&lt;p&gt;🛑 Major outages&lt;br&gt;
🧑‍💼 Loss of user trust and business credibility&lt;br&gt;
💸 Revenue loss and SLA violations&lt;br&gt;
🔄 Emergency rollbacks and hotfixes&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🛡️ Why Regression Testing Coverage Matters&lt;/strong&gt;&lt;br&gt;
Generally, automated regression testing is done during code deployment to QA environments, staging environments etc. and the regression performed is just smoke-testing or a full-fledged regression depending on the environment and the stage in the SDLC process (QA deployment for initial testing vs staging deployment just before production release).&lt;/p&gt;

&lt;p&gt;The best approach lies in adopting a left-shift for a high coverage regression test. The effort to add new scenarios to the regression test suite and the time it takes to run these scenarios should be looked at deeply and engineered for high performance just like you would engineer a production system.&lt;/p&gt;

&lt;p&gt;The problems we see in poor regression testing is a problem of mindset — QA tools do not need to be built for high quality and performance and junior developers can build these tools without much reviews and guidance. This is one of the core problems I have seen in many enterprises. I have also addressed this personally by building test tools with amazing performance employing multi-threading, using config based approaches and best technical architectural principles.&lt;/p&gt;

&lt;p&gt;There are many tools available in the market today to help devise a strong regression test strategy. The time is now to make a change and focus on improving quality of delivery to production systems.&lt;/p&gt;

&lt;p&gt;Here’s why investing in strong regression coverage is non-negotiable for enterprise-grade systems:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. 🔄 Continuous Code Changes = Continuous Risk&lt;/strong&gt;&lt;br&gt;
**Modern development is agile and iterative. Each update has the potential to disturb previously working modules. Regression tests serve as guardrails against unexpected breakages.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. 🔍 Defect Containment&lt;/strong&gt;&lt;br&gt;
**Uncaught bugs that slip into production are 10–100x more expensive to fix than those caught early in QA. A robust regression suite increases defect coverage, catching errors before users do.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. 🧪 Stability Across Platforms&lt;/strong&gt;&lt;br&gt;
Whether you’re developing:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Desktop software with deep OS integrations,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Web apps with frequent UI/UX tweaks,&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mobile-first business tools,&lt;br&gt;
Each platform requires focused regression coverage to ensure platform-specific functionality remains solid.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🧠 Early Testing = Early Wins&lt;/strong&gt;&lt;br&gt;
Early regression testing — especially when integrated with unit tests and CI/CD pipelines — ensures:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Faster feedback loops for developers&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduced time-to-fix for critical bugs&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Better alignment with shift-left testing principles&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🤖 The Power of Automation&lt;/strong&gt;&lt;br&gt;
Automated regression testing transforms this process from a bottleneck into a scalable, repeatable asset. Benefits include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;⏱️ Faster execution for large test suites&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;💪 Greater consistency and accuracy&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🌐 Parallel testing across environments and devices&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;🛠️ Easy integration with DevOps pipelines&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;By building custom QA automation frameworks tailored to your tech stack, teams can future-proof their testing efforts and handle evolving business logic with ease.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;🔁 Real-World Example&lt;/strong&gt;&lt;br&gt;
Imagine a CRM platform where a simple UI change in the contact module breaks form validation logic. Without regression tests, this bug might surface only after deployment — hurting sales and frustrating users. A solid regression suite would catch it in QA or staging, long before impact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Best Practices for Strong Regression Coverage&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Identify high-risk and high-impact areas first&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Increase the coverage incrementally for every release to increase coverage and do not stop at high impact areas&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maintain a living regression suite updated with each release&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Use mock data and sandbox environments to simulate production behavior&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build multi-threaded and write high performance code to run the tests quickly or run tests on multiple servers by splitting the test cases&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Focus on test data management and repeatability&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Track defect leakage rate to measure test effectiveness&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;🚀 Conclusion&lt;/strong&gt;&lt;br&gt;
In enterprise software, stability is everything. Strong regression testing especially when automated and integrated early helps ensure that your software evolves without compromising quality. It’s not just about finding bugs — it’s about building confidence in every release.&lt;/p&gt;

&lt;p&gt;If you’re building or managing mission-critical applications, regression testing isn’t optional. It’s your first line of defense.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Digital Transformation Re-Imagined</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Sat, 19 Apr 2025 00:46:37 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/digital-transformation-re-imagined-1lf5</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/digital-transformation-re-imagined-1lf5</guid>
      <description>&lt;p&gt;&lt;strong&gt;What is Digital Transformation?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Digital transformation is the process through which organizations leverage digital technologies to create or modify existing business processes, culture, and customer experiences to meet changing business and market requirements. It goes beyond simply digitizing paper-based processes. It’s about rethinking how a business operates from the ground up — often involving a cultural shift, redesigning workflows, adopting cloud platforms, improving data access, and automating decision-making processes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why is Digital Transformation So Slow?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Despite its strategic importance, digital transformation often faces significant delays. Here’s why:&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Legacy Systems: Many organizations are burdened with outdated, monolithic systems that are deeply integrated into business operations, making change risky and expensive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Resistance to Change: Cultural resistance and fear of job displacement can slow adoption. Employees and leadership may be hesitant to embrace new workflows or technologies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Talent Shortage: Skilled developers, architects, and IT specialists are in high demand, and many organizations lack internal resources to execute transformation projects.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Complexity and Scope: Digital transformation touches nearly every aspect of a business, making it difficult to define clear objectives and ROI. Projects are often too broad or poorly scoped.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Budget Constraints: Investment in new technologies can be seen as risky or non-essential, especially when short-term cost pressures are high.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Security and Compliance: Concerns around data privacy, security, and regulatory compliance often delay or derail digital initiatives.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;How No-Code/Low-Code Tools Can Accelerate Transformation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No-code and low-code platforms offer a compelling solution to many of the challenges above:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Democratization of Development: These platforms enable business users (citizen developers) to build and automate processes without writing code, reducing dependency on scarce IT resources.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Faster Time to Market: Pre-built components and drag-and-drop interfaces allow for rapid prototyping and deployment.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cost Efficiency: Reduced need for large development teams lowers implementation costs.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easier Legacy Integration: Many no-code/low-code tools offer connectors and APIs that simplify integration with existing systems.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Agility and Flexibility: Rapid iteration and feedback cycles improve responsiveness to changing market conditions.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Empowered Employees: By involving more people in the process of innovation, no-code/low-code fosters a culture of ownership and continuous improvement.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Role of AI in Driving Digital Transformation&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Artificial Intelligence complements no-code/low-code platforms and accelerates transformation in several ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Data-Driven Insights: AI enables better decision-making by analyzing large volumes of data and uncovering hidden patterns and trends.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Process Automation: Machine learning, NLP, and computer vision technologies automate tasks that traditionally required human intervention.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Customer Personalization: AI helps tailor products, services, and messaging to individual customers in real-time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Predictive Analytics: Enables forecasting of customer behavior, inventory needs, maintenance schedules, and more.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;AI Assistants and Agents: These can handle internal queries, customer service, and even guide users in building workflows within no-code platforms.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bringing It All Together&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To overcome the hurdles of digital transformation, businesses must embrace a combination of cultural, technological, and strategic shifts. No-code/low-code platforms, when integrated with AI, create an agile, data-driven environment where innovation is continuous and accessible to all levels of the organization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This combination&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Lowers the barrier to innovation&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Speeds up development and deployment&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reduces costs and reliance on highly technical talent&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Unlocks the potential of data through AI&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enables more inclusive and iterative transformation&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Digital transformation doesn’t have to be slow. It becomes achievable and scalable when organizations adopt the right tools and empower their teams to innovate.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Next Steps for Organizations&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Start with a small, high-impact use case.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Invest in training for no-code/low-code and AI literacy.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create cross-functional teams involving IT and business users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Establish governance to ensure quality and security.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Measure success with clear KPIs focused on agility, ROI, and user adoption.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The future of digital transformation is not just digital — it’s intelligent, democratized, and iterative. When you think about digital transformation from scratch or for an enterprise that already has an established set of processes and systems in place, step back and re-think and re-imagine how it can be carried forward with the help of latest No Code Low Code tools and AI. You will be surprised how fast this can be accomplished by using latest frameworks, tools and technologies.&lt;/p&gt;

&lt;p&gt;To know more about Vaseem and how he can help you in your digitization journey, connect via his LinkedIn and check the following web sites. Vaseem is the creator of a powerful No Code Low Code Digitization Platform that can help your organization thrive by digitizing all business functions at lightning speed.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/vaseem-anjum-07514a7/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/vaseem-anjum-07514a7/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitifynow.com/" rel="noopener noreferrer"&gt;https://www.digitifynow.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.non-tech-founders.com" rel="noopener noreferrer"&gt;www.non-tech-founders.com&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  SaaS #NoCode #LowCode #CloudComputing #Digitization #DigitalTransformation
&lt;/h1&gt;

</description>
      <category>nocode</category>
      <category>powerfuldevs</category>
      <category>lowcode</category>
      <category>bpm</category>
    </item>
    <item>
      <title>Achieving High Genericity in Code</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Sat, 29 Mar 2025 20:32:45 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/achieving-high-genericity-in-code-13fi</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/achieving-high-genericity-in-code-13fi</guid>
      <description>&lt;h2&gt;
  
  
  Building a Highly Generic Tool for Copying Transactional Data
&lt;/h2&gt;

&lt;p&gt;Years ago, I set out to build a tool to copy transactional data from one environment to another. A single transaction could span 350+ tables, though not all transactions used all tables. Different transaction types would touch different subsets of these tables. Given this complexity, coding this in Java seemed like a massive undertaking. It was my pet project that I wanted to do during weekends etc. besides my other important projects, so I had to find shortcuts and utilize high reusability of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The challenge?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Writing 100,000+ lines of code to handle individual table reads and inserts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maintaining this code as table structures changed frequently to add new features almost every month.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensuring key values were correctly generated, as they relied on Oracle sequences rather than direct copies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Minimizing manual effort, complexity, and long-term maintenance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I needed a solution that required minimal code, could adapt dynamically to schema changes, and eliminated ongoing maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  First Attempt: Scripts &amp;amp; Data Pump Utility
&lt;/h2&gt;

&lt;p&gt;Initially, I explored using scripts and the Oracle Data Pump utility, which supports complex queries. While this seemed like a viable option, I hit a political roadblock — the DB team didn’t allow non-DB personnel to run complex queries. Teams in large corporations can be territorial, and I had to find another way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Breakthrough: A Highly Generic Approach
&lt;/h2&gt;

&lt;p&gt;I had to design this such that there is high re-use of code. I followed one of my core principles of genericity:&lt;/p&gt;

&lt;p&gt;If you write even a single line of code, ensure it gets reused by wrapping it inside a function.&lt;/p&gt;

&lt;p&gt;With that in mind, I designed the solution with a main orchestrator class and another class that implemented the database operations around just two functions with some supporting functions inside the class:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A function to run a SELECT query.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A function to run an INSERT query.&lt;br&gt;
No individual queries for 350+ tables, just a handful of highly generic functions! However, the queries needed to come from outside the code to avoid constant modifications.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dynamic Query Generation Using a Config File
&lt;/h2&gt;

&lt;p&gt;Instead of hardcoding queries, I structured everything using a configuration file that:&lt;/p&gt;

&lt;p&gt;Contained SELECT statements for each table in the correct sequence of insertion.&lt;br&gt;
Used subqueries to relate data back to the main primary key — sometimes with nested dependencies.&lt;br&gt;
Ensured foreign key relationships were handled dynamically.&lt;br&gt;
Eliminated code changes when tables evolved — only the config needed updating.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handling Schema Changes at Runtime
&lt;/h2&gt;

&lt;p&gt;Since the tool worked dynamically at runtime, I couldn’t rely on an object model. But that wasn’t a problem — every result set contained field names, effectively allowing dynamic object modeling.&lt;/p&gt;

&lt;p&gt;The next challenge? Inserting data with the correct datatype.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Oracle’s sysCols, sysColumns and other metadata tables provided field details.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I mapped data types properly to prevent query failures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Special handling for BLOBs, CLOBs, and other non-standard types was added.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach meant we looped over every field in every table, determining its type dynamically and constructing the correct INSERT statements at runtime.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance Bottleneck &amp;amp; Optimization
&lt;/h2&gt;

&lt;p&gt;The first run took over 40 minutes and this was totally unacceptable. The solution? Multi-threading.&lt;/p&gt;

&lt;p&gt;However, I strictly followed another personal principle for multi-threaded programming:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do not share data or resources between threads if you want true parallel execution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The existing config file wasn’t structured for parallel execution, so I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Grouped tables logically, allowing independent execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Designed threads to run in parallel without dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensured data integrity despite concurrent operations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This restructuring took a day of analyzing 350+ table relationships, but the payoff was enormous — execution time dropped from 40 minutes to under 1 minute!&lt;/p&gt;

&lt;h2&gt;
  
  
  Connection Management
&lt;/h2&gt;

&lt;p&gt;I didn’t use Hikari connection pooling or any other similar JAR (I can’t recall why), but I had extensive C# experience handling database connections manually. So, I implemented a lightweight connection pooling mechanism — keeping connections open for a limited number of operations before refreshing them. I noticed this connection pooling was more beneficial as it was tailored to my use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impact &amp;amp; Value Delivered
&lt;/h2&gt;

&lt;p&gt;This tool dramatically improved the productivity of developers and QA teams:&lt;br&gt;
✅ Drastically reduced test data setup time — from hours to mere minutes.&lt;br&gt;
✅ Enabled easy replication of test scenarios across environments.&lt;br&gt;
✅ Adapted dynamically to schema changes without modifying code.&lt;br&gt;
✅ Required just ~5,000 lines of code instead of 100,000+ — a 95% reduction!&lt;/p&gt;

&lt;p&gt;Whenever a new table was added, only a single line was added in the config file. The code remained untouched — a true victory in generic, maintainable software design.&lt;/p&gt;

&lt;p&gt;And yes, for those curious — the UI was built in AngularJS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This was one of my favorite pet projects because it embodied high genericity, efficiency, and maintainability. I love designing solutions that eliminate unnecessary work, reduce technical debt, and maximize long-term value and this tool was a perfect example of that. I wanted to give it to other groups with other applications as the code did not have any application specific implementation. The config file needed changes as this is a different database. Also, the connection configuration needed to point to the new database to populate in the dropdown. So, it was essentially a product that could be used by any team utilizing any Oracle DB schema. Hope you learnt a thing or two — I always look back to it with a sense of pride and satisfaction.&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/vaseem-anjum-07514a7/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/vaseem-anjum-07514a7/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My new Pet Project is a No Code Low Code Digitization Platform, check it out here: &lt;a href="https://www.digitifynow.com/" rel="noopener noreferrer"&gt;https://www.digitifynow.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microservices</category>
      <category>code</category>
    </item>
    <item>
      <title>Achieving High Genericity in Code</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Sat, 29 Mar 2025 20:32:45 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/achieving-high-genericity-in-code-13gj</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/achieving-high-genericity-in-code-13gj</guid>
      <description>&lt;h2&gt;
  
  
  Building a Highly Generic Tool for Copying Transactional Data
&lt;/h2&gt;

&lt;p&gt;Years ago, I set out to build a tool to copy transactional data from one environment to another. A single transaction could span 350+ tables, though not all transactions used all tables. Different transaction types would touch different subsets of these tables. Given this complexity, coding this in Java seemed like a massive undertaking. It was my pet project that I wanted to do during weekends etc. besides my other important projects, so I had to find shortcuts and utilize high reusability of code.&lt;/p&gt;

&lt;h2&gt;
  
  
  The challenge?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Writing 100,000+ lines of code to handle individual table reads and inserts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Maintaining this code as table structures changed frequently to add new features almost every month.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensuring key values were correctly generated, as they relied on Oracle sequences rather than direct copies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Minimizing manual effort, complexity, and long-term maintenance.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I needed a solution that required minimal code, could adapt dynamically to schema changes, and eliminated ongoing maintenance.&lt;/p&gt;

&lt;h2&gt;
  
  
  First Attempt: Scripts &amp;amp; Data Pump Utility
&lt;/h2&gt;

&lt;p&gt;Initially, I explored using scripts and the Oracle Data Pump utility, which supports complex queries. While this seemed like a viable option, I hit a political roadblock — the DB team didn’t allow non-DB personnel to run complex queries. Teams in large corporations can be territorial, and I had to find another way.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Breakthrough: A Highly Generic Approach
&lt;/h2&gt;

&lt;p&gt;I had to design this such that there is high re-use of code. I followed one of my core principles of genericity:&lt;/p&gt;

&lt;p&gt;If you write even a single line of code, ensure it gets reused by wrapping it inside a function.&lt;/p&gt;

&lt;p&gt;With that in mind, I designed the solution with a main orchestrator class and another class that implemented the database operations around just two functions with some supporting functions inside the class:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;A function to run a SELECT query.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;A function to run an INSERT query.&lt;br&gt;
No individual queries for 350+ tables, just a handful of highly generic functions! However, the queries needed to come from outside the code to avoid constant modifications.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Dynamic Query Generation Using a Config File
&lt;/h2&gt;

&lt;p&gt;Instead of hardcoding queries, I structured everything using a configuration file that:&lt;/p&gt;

&lt;p&gt;Contained SELECT statements for each table in the correct sequence of insertion.&lt;br&gt;
Used subqueries to relate data back to the main primary key — sometimes with nested dependencies.&lt;br&gt;
Ensured foreign key relationships were handled dynamically.&lt;br&gt;
Eliminated code changes when tables evolved — only the config needed updating.&lt;/p&gt;

&lt;h2&gt;
  
  
  Handling Schema Changes at Runtime
&lt;/h2&gt;

&lt;p&gt;Since the tool worked dynamically at runtime, I couldn’t rely on an object model. But that wasn’t a problem — every result set contained field names, effectively allowing dynamic object modeling.&lt;/p&gt;

&lt;p&gt;The next challenge? Inserting data with the correct datatype.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Oracle’s sysCols, sysColumns and other metadata tables provided field details.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;I mapped data types properly to prevent query failures.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Special handling for BLOBs, CLOBs, and other non-standard types was added.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This approach meant we looped over every field in every table, determining its type dynamically and constructing the correct INSERT statements at runtime.&lt;/p&gt;

&lt;h2&gt;
  
  
  Performance Bottleneck &amp;amp; Optimization
&lt;/h2&gt;

&lt;p&gt;The first run took over 40 minutes and this was totally unacceptable. The solution? Multi-threading.&lt;/p&gt;

&lt;p&gt;However, I strictly followed another personal principle for multi-threaded programming:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Do not share data or resources between threads if you want true parallel execution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The existing config file wasn’t structured for parallel execution, so I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Grouped tables logically, allowing independent execution.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Designed threads to run in parallel without dependencies.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensured data integrity despite concurrent operations.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This restructuring took a day of analyzing 350+ table relationships, but the payoff was enormous — execution time dropped from 40 minutes to under 1 minute!&lt;/p&gt;

&lt;h2&gt;
  
  
  Connection Management
&lt;/h2&gt;

&lt;p&gt;I didn’t use Hikari connection pooling or any other similar JAR (I can’t recall why), but I had extensive C# experience handling database connections manually. So, I implemented a lightweight connection pooling mechanism — keeping connections open for a limited number of operations before refreshing them. I noticed this connection pooling was more beneficial as it was tailored to my use case.&lt;/p&gt;

&lt;h2&gt;
  
  
  Impact &amp;amp; Value Delivered
&lt;/h2&gt;

&lt;p&gt;This tool dramatically improved the productivity of developers and QA teams:&lt;br&gt;
✅ Drastically reduced test data setup time — from hours to mere minutes.&lt;br&gt;
✅ Enabled easy replication of test scenarios across environments.&lt;br&gt;
✅ Adapted dynamically to schema changes without modifying code.&lt;br&gt;
✅ Required just ~5,000 lines of code instead of 100,000+ — a 95% reduction!&lt;/p&gt;

&lt;p&gt;Whenever a new table was added, only a single line was added in the config file. The code remained untouched — a true victory in generic, maintainable software design.&lt;/p&gt;

&lt;p&gt;And yes, for those curious — the UI was built in AngularJS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Final Thoughts
&lt;/h2&gt;

&lt;p&gt;This was one of my favorite pet projects because it embodied high genericity, efficiency, and maintainability. I love designing solutions that eliminate unnecessary work, reduce technical debt, and maximize long-term value and this tool was a perfect example of that. I wanted to give it to other groups with other applications as the code did not have any application specific implementation. The config file needed changes as this is a different database. Also, the connection configuration needed to point to the new database to populate in the dropdown. So, it was essentially a product that could be used by any team utilizing any Oracle DB schema. Hope you learnt a thing or two — I always look back to it with a sense of pride and satisfaction.&lt;/p&gt;

&lt;p&gt;LinkedIn: &lt;a href="https://www.linkedin.com/in/vaseem-anjum-07514a7/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/vaseem-anjum-07514a7/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My new Pet Project is a No Code Low Code Digitization Platform, check it out here: &lt;a href="https://www.digitifynow.com/" rel="noopener noreferrer"&gt;https://www.digitifynow.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>microservices</category>
      <category>code</category>
    </item>
    <item>
      <title>Business Process Modeling using No Code Tools</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Mon, 10 Mar 2025 20:34:03 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/business-process-modeling-using-no-code-tools-2ig0</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/business-process-modeling-using-no-code-tools-2ig0</guid>
      <description>&lt;p&gt;A business process is a structured set of activities or tasks performed in a specific sequence to achieve a business goal. It involves people, systems, data, and workflows to create value for customers or stakeholders.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Key Characteristics of a Business Process&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Has a Defined Goal&lt;/strong&gt; – A business process is designed to achieve a specific outcome, such as processing an order or approving a loan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Follows a Sequence&lt;/strong&gt; – Tasks in a process are performed in a specific order.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Involves Inputs &amp;amp; Outputs&lt;/strong&gt; – Inputs (data, resources) are transformed into outputs (products, services).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Can Be Repeated &amp;amp; Measured&lt;/strong&gt; – Business processes are standardized and repeatable, allowing performance tracking and optimization.&lt;/p&gt;

&lt;h2&gt;
  
  
  Types of Business Processes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Core (Primary) Processes&lt;/strong&gt; – Directly contribute to delivering value to customers (e.g., order fulfillment, customer service).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Support Processes&lt;/strong&gt; – Help primary processes run efficiently (e.g., HR, IT support, procurement).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Management Processes&lt;/strong&gt; – Oversee and optimize business operations (e.g., strategy planning, compliance monitoring).&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples of Business Processes
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Order-to-Cash (O2C)&lt;/strong&gt;: From receiving an order to collecting payment.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Procure-to-Pay (P2P)&lt;/strong&gt;: Purchasing goods/services and processing payments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Employee Onboarding&lt;/strong&gt;: Hiring, training, and integrating new employees.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Incident Management&lt;/strong&gt;: Handling IT or customer service issues.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why Are Business Processes Important?
&lt;/h2&gt;

&lt;p&gt;Improve efficiency and reduce costs.&lt;/p&gt;

&lt;p&gt;Ensure consistency and quality in operations.&lt;/p&gt;

&lt;p&gt;Enable automation and scalability.&lt;/p&gt;

&lt;p&gt;Support compliance and regulatory requirements.&lt;/p&gt;

&lt;p&gt;As you can see, business processes are everywhere and digitizing these business processes is a core part of enterprise software systems. In the past 20+ years, digitization has produced applications for businesses operate efficiently, reduce bottlenecks, and scale their operations while maximizing profits and market share. Thanks to No Code Platforms, digitization can now be achieved in a very short duration at a fraction of the cost. Let us explore building processes for HR and see how easy it is to build on the MyBiz Workflow Platform.&lt;/p&gt;

&lt;p&gt;Human Resources Departments have processes for recruitment, employee onboarding/offboarding, payroll, performance management, employee relations/engagement, time and attendance management etc. Let us start by creating a process for vacation request.&lt;/p&gt;

&lt;p&gt;On the MyBiz No Code Platform, creating a business process and associated workflows takes 10-20 minutes for each process. You can build these processes and structure them hierarchically to create a model that reflects your own business process model. Since it is very easy to build, users can build and modify these models which are available to use right away without the need for code build or deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Vacation Request Process
&lt;/h2&gt;

&lt;p&gt;Start by clicking on the New Process button (big + sign) under Setup link on top:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97v9z9k55hqrq08bzfd1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F97v9z9k55hqrq08bzfd1.png" alt="Image description" width="725" height="151"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Complete the form as this is where you define the expectation of how this process works. It will serve as a good documentation when you have many processes built and like the users to understand what is the process doing exactly without spending extra time on training. They will see this when using the process.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4vd5yl7tpqdjfyklimi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff4vd5yl7tpqdjfyklimi.png" alt="Image description" width="800" height="469"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you click on the “Save” button, it will show you a screen with instructions on what should be done next. Enter the two fields as shown below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12p4pc8c8hxpieuqvrdo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F12p4pc8c8hxpieuqvrdo.png" alt="Image description" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let us scroll down and fill up data - every step or task has a role associated to it. Examples of roles are a developer, QA person, project manager, a doctor, a support analyst etc. In this case, it is any employee.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy19aupqyhud3mlu3r4oy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy19aupqyhud3mlu3r4oy.png" alt="Image description" width="800" height="387"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We want it to be reviewed and approved by a manager as shown below.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9y037uqe43x19wrb4u5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fa9y037uqe43x19wrb4u5.png" alt="Image description" width="800" height="485"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The task performers, reviewers and approvers are added here to start with. There is a settings page where you can add multiple roles for all these roles. For example, all employees will be given task performer role as they should be able to create a vacation request while managers will be given roles to review and approve the request. The settings screens will address that. Also, you can create different teams so the requests are routed to proper teams in the workflow. Let us move on to the next section which is an important section - adding custom data. All you need to do is click and add fields on a No Code basis.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febawuvjnmzji6qg8igua.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Febawuvjnmzji6qg8igua.png" alt="Image description" width="800" height="413"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see from above, you may or may not have custom data in a workflow in a given step. Let us add fields as shown below by clicking the blue button and choosing the type of data it holds.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frrznbnhkxhew08bv91on.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frrznbnhkxhew08bv91on.png" alt="Image description" width="800" height="389"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you noticed, I added a backup employee name to emphasize that this is a purely custom implementation and you can make it part of the process than using emails and spreadsheets to track who is the backup person. This is just an example, but you can just add whatever you want here or you can update the process to add more fields later. The system is fully backward compatible so your old data will show old fields and new data will show the new fields. And, everything works without any build or deployments! Super easy and super simple! Now let us see how to add a single field by choosing the type of the data in the left most Control Type dropdown.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73ggk4d8bi18ho5s0sd9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F73ggk4d8bi18ho5s0sd9.png" alt="Image description" width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Since we chose a drop down that has multiple values, a popup will ask you for those options.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow95gjxyrbhg0s8v8ah8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fow95gjxyrbhg0s8v8ah8.png" alt="Image description" width="800" height="407"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are other API integration fields that we will skip for this step and save this step now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F420f0e7nag2hhh5btaw8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F420f0e7nag2hhh5btaw8.png" alt="Image description" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;When you click on the next step, you will see STEP NUMBER : 2 on the top of the screen and you continue building your UI out.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8r4ihk3q1x6czee2alw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu8r4ihk3q1x6czee2alw.png" alt="Image description" width="800" height="459"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I will add my own email here as HR manager so I can get the HR manager tasks for demo purposes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0w75222z25h2pd23vvfm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0w75222z25h2pd23vvfm.png" alt="Image description" width="800" height="465"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfss98w7ey5qehkqs2sc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkfss98w7ey5qehkqs2sc.png" alt="Image description" width="800" height="447"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In this step, we want to call an API that will update vacation balances after this vacation request. This will happen on the click of the “Approve” button. This is a Low Code option where you can plug-in custom APIs and map data from the screen elements or get all data behind the scenes for other tabs/steps. Please note you can have multiple buttons to call multiple APIs. This features allows you to build out massive systems by calling APIs for custom behavior.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffm1z77hhx24f12yrxwg4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ffm1z77hhx24f12yrxwg4.png" alt="Image description" width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once you save this, you are done with building a two step process using No Code and Low Code features.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdww8lxb0kn8qphnqrji4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdww8lxb0kn8qphnqrji4.png" alt="Image description" width="800" height="453"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Vacation Request Process Usage
&lt;/h2&gt;

&lt;p&gt;To start using it, all employees will need to be added using another screen or using a script. I will skip that here. Since I setup myself as the task performer and also a HR Manager, I can use this right away. Go to Tasks link on top and click “Create” button on the top left.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2fvxsvhst2d85l2ufvg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fh2fvxsvhst2d85l2ufvg.png" alt="Image description" width="800" height="200"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, there are many processes that I am part of. Let us select the “Vacation Request” and fill details.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6ams0hyyml04ncl1631.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ft6ams0hyyml04ncl1631.png" alt="Image description" width="800" height="297"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0zmg8wmha7ki1rtpeeg.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv0zmg8wmha7ki1rtpeeg.png" alt="Image description" width="800" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let us skip other details for now that allow you to route to specific people, teams and associate to other processes. In my dashboard, I see this task created and I will fill up the details and set it for manager approval.&lt;/p&gt;

&lt;p&gt;Navigate to Tasks/Open Tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe87uj1rz1lkkveg8qzr9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fe87uj1rz1lkkveg8qzr9.png" alt="Image description" width="800" height="271"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let us open the task that is assigned to be worked on. The second task is not assigned as you can see and it is for the HR manager. Since I am pretending to be a HR manager, it is shown on my dashboard.&lt;/p&gt;

&lt;p&gt;This screen shows how our process is built and the controls are rendered. Let us fill up data here.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzreoujrb2ugfiednn19.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frzreoujrb2ugfiednn19.png" alt="Image description" width="800" height="463"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are many other controls and their features that I will not go in detail for now.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3fzbfnu6lyhh7e0a8d4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fy3fzbfnu6lyhh7e0a8d4.png" alt="Image description" width="800" height="462"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Mark it “Completed Pending Review” so the manager approval process can trigger. Save the data.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F837rou4nwlmy55htcts2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F837rou4nwlmy55htcts2.png" alt="Image description" width="800" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, let us login as the manager to see the vacation request and review and approve it. If you check the top section, it will show the “Review Completed / Accepted” checkboxes are disabled for me as we set up the manager to do these actions.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0fy2d979z38gvelapny.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fu0fy2d979z38gvelapny.png" alt="Image description" width="800" height="429"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once the manager logs in, he can check his Reviews Dashboard that will show a pending item for his review.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6jujqdv7gr638ppac032.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6jujqdv7gr638ppac032.png" alt="Image description" width="800" height="394"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;He can open his task and mark it reviewed. He is also the one approving it and he can approve as well. Please note these can be two different roles done by different people. It is setup this way to just demonstrate this. The review and approval processes are optional.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wvur67n0weelb3dcwpn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F7wvur67n0weelb3dcwpn.png" alt="Image description" width="800" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Once review checkbox is checked and data is saved, the manager’s dashboard will clear. He can now see this request in his approval dashboard. And he will go and mark it Approved.&lt;/p&gt;

&lt;p&gt;I login back as the employee to check the review and approval from my manager.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9u0e6lot4rij4tipaum.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fv9u0e6lot4rij4tipaum.png" alt="Image description" width="800" height="398"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now, the HR Manager sees a task in his dashboard and he will click on the “Approve” button which will trigger an API to update vacation balances.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhbmprtehlgltgnq66ly5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhbmprtehlgltgnq66ly5.png" alt="Image description" width="800" height="458"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;He will mark the status “Completed” and this will remove this task from his dashboard.&lt;/p&gt;

&lt;p&gt;As you may have noted, you can use a built-in approval process. You can add custom behaviors and integrate with other APIs in a variety of ways and the system is designed to be extremely flexible. Building this process took me approximately 15 minutes. Imagine what you can build on this platform in a week! You can build fully customized CRMs, agile process suites for software development, support process models or a massive business system with dozens of processes and hundreds of data points. There are many other features for project management like Gaant charts, task assignment/re-assignment, work estimation, analytics to measure all processes etc. The system is designed to model business operational processes in an agile fashion so there are backlog boards, timeline boards for planning and automated workflow triggers where one process completion triggers another process. An example of this is a user story completion triggers a process to the DevOps team to integrate and deploy the code to a particular environment etc.&lt;/p&gt;

&lt;p&gt;In summary, Low-Code No-Code tools are making software development easier and accessible to everyone. While complex problems can be solved by developers, other roles like business analysts, super users and citizen developers can help build systems in an easy manner filling the gaps in technology implementation of many processes. There are many processes which are not digitized and teams struggle with these processes because there is no IT budget for them or the time and cost it takes to build software for these processes outweighs the benefit. When there are tools to digitize almost everything, why not leverage these tools and build out systems and increase operational efficiencies.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitifynow.com/" rel="noopener noreferrer"&gt;https://www.digitifynow.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.non-tech-founders.com" rel="noopener noreferrer"&gt;www.non-tech-founders.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>lowcode</category>
      <category>powerfuldevs</category>
      <category>powerapps</category>
    </item>
    <item>
      <title>Low-Code, No-Code based Enterprise Application Architecture</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Fri, 07 Mar 2025 23:00:13 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/low-code-no-code-based-enterprise-application-architecture-17e</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/low-code-no-code-based-enterprise-application-architecture-17e</guid>
      <description>&lt;p&gt;&lt;strong&gt;The Early Fascination with Building&lt;/strong&gt;&lt;br&gt;
As a child, I was always fascinated by cars, boats, airplanes, and more. I loved to build them but they had little functionality. The wheels of my toy cars could rotate with a simple axle, and the rotor of my dream helicopter could spin in unison with the wheel movement.&lt;/p&gt;

&lt;p&gt;I once stumbled upon a magazine advertising kits for building boats and airplanes. This discovery was a revelation — could I really build a fully functional airplane? The idea was powerful. It made me feel an immense sense of freedom, as if I had wings and could fly. That moment shaped my belief that building things should be easy and attainable for everyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The State of Software Development Today&lt;/strong&gt;&lt;br&gt;
After decades in software development, I strongly believe we have yet to fully leverage our expertise to simplify software creation — we still spend valuable time writing code for basic CRUD operations. These lower level details should be abstracted out and presented as features inside of tools and made available as pluggable building blocks generic enough for any database/storage technology. Things become more complicated when we talk about business logic. Everything has to be custom built when it comes to enterprise applications. Not that there are no tools in the market today but the tools are either way too simplistic or overtly complex and need someone with good technology skills to use and produce enterprise software. For citizen developers, non tech founders, solopreneurs and also for business analysts in larger organizations, the tools that can help them meet their needs are very limited. I am in no way implying that software industry is not complex. On the contrary, software technology is way too complex with applications in every business domain. For example, automobile engineering is limited in scope and application to automobiles only. But software industry is wide open for use in almost all industries, businesses, politics, research and almost every human endeavor. It is almost infrastructural in usage that every business or organization needs software.&lt;/p&gt;

&lt;p&gt;We place immense demands and high expectations on the software industry. While we continuously develop software for every niche and industry, we often overlook the need for frameworks and tools that simplify software creation for everyone. We have yet to reach a point where building software is as effortless as assembling LEGO pieces or kits to construct a house, a car, or an airplane. It’s an ambitious goal — but one I firmly believe is within our reach.&lt;/p&gt;

&lt;p&gt;There are many Low Code No Code tools available in the market today that are trying to do this same exact thing. Some are way too simple while others are overtly complex and need a deep learning curve. We should be able to build a fully functional enterprise software that is secure, highly scalable and highly performant using a Low Code No Code Platform. We should not accept anything less. This will help in quick digitization of domains, areas and geographies that lack digitization. The increased technology adoption and penetration will help free ourselves of tasks and activities that are mundane and propel us to be more creative and efficient.&lt;/p&gt;

&lt;p&gt;Every business application has a CRUD layer and the business functionality is built on top of it. Depending on the complexity of the business logic, these CRUD operations alone can take up anywhere from 50% to 90% of a developer’s time. While we should account for the CRUD operations in a No Code Platform which is perhaps a simpler problem, the Low Code aspect of the platform should provide easy pluggable logic to a system built on it. This will help organizations to build software quickly at a lower cost and at the same time allow citizen developers and business analysts to be able to help build and be part of the software development process. The complex aspects can be left for seasoned developers to tackle. With this approach, organizations can digitize almost every area of their operations. End to end digitization is always a dream for every organization while the reality is that most depend on manual and people processes to do things that are not seen as important. Organizations build systems for processes that give the most ROI but the other ancillary and supplementary processes are not prioritized for digitization. These processes are also equally important as they do impact the important processes indirectly or impact human and other resources associated with the important revenue generating processes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations of No Code and Low Code Solutions&lt;/strong&gt;&lt;br&gt;
Many No Code and Low Code tools assist with CRUD operations but fail to scale effectively. Solutions built on No Code Platforms generally have issues with scaling, security and often go through many changes to tackle the inadequate underlying foundations. When it comes to business functionality, there are very few tools offering an easy build and integration of APIs seamlessly preserving the architectural guidelines intact. A good Low Code No Code Platform should offer more than just a working prototype or a basic product that needs revisions as the application needs and usage grows.&lt;/p&gt;

&lt;p&gt;Many Business Rule Engines do fill in this gap and other similar tools exist, but they generally address only simple system behaviors. In my experience, I have yet to see a No Code or Low Code platform that:&lt;/p&gt;

&lt;p&gt;Is easy to learn and adopt for citizen developers, business analysts, or super users.&lt;br&gt;
Provides a scalable, high-performance architecture leveraging the cloud.&lt;br&gt;
Allows for custom functionality beyond simple CRUD operations.&lt;br&gt;
Allows for best security practices like RBAC and ensures industry standards are met to address privacy and security guidelines.&lt;br&gt;
Simplifies or completely eliminates build and deployment.&lt;br&gt;
Is easily extensible and simplifies change management&lt;br&gt;
Most tools today focus on one or a combination of task management, workflows, and collaboration features — helpful for productivity but insufficient for enterprise-level application development. Businesses still need to write extensive code to implement logic, making software development expensive and time-consuming.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Need for a Holistic Solution&lt;/strong&gt;&lt;br&gt;
Enterprise software development requires a tool that allows businesses to:&lt;/p&gt;

&lt;p&gt;Easily build and modify software on the fly.&lt;br&gt;
Provide a secure, well-architected system with custom functionality.&lt;br&gt;
Be intuitive for business users to build without requiring advanced technical knowledge.&lt;br&gt;
Provide features for task management, workflows etc. as a standard feature set and build CRUD and business logic on top of it.&lt;br&gt;
Scale seamlessly without any external intervention with options to manually override any infrastructural/cloud features.&lt;br&gt;
Unfortunately, no existing No Code or Low Code platform fully meets these needs. Most demand a steep learning curve with complex configurations and unused features. Any new tool in this space should empower developers to focus on complex business logic instead of struggling with the platform itself.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Designing a Better Solution&lt;/strong&gt;&lt;br&gt;
After spending 27 years in continuous employment, I finally had the time and opportunity in the past six months (thanks to my position moving to offshore) to deeply reflect on this problem. I wasn’t starting from scratch — I had been experimenting with similar ideas for years, aiming to simplify enterprise software development with minimal coding (or no coding at all) while ensuring full customization.&lt;/p&gt;

&lt;p&gt;Understanding the Core Concepts: Tasks and Workflows&lt;br&gt;
At the heart of my solution lies a simple yet powerful idea: the concept of a task. Every profession involves tasks — from CEOs to entry-level employees, from doctors to engineers. Consider the following examples:&lt;/p&gt;

&lt;p&gt;Healthcare: A doctor diagnosing a patient is a task. They might assign a task to a lab technician for a blood test, who then generates a lab report — another task.&lt;br&gt;
HR &amp;amp; Recruitment: The process of onboarding an employee, from interviews to the first day at work, consists of multiple interconnected tasks.&lt;br&gt;
IT Support: An ISP customer calls about an internet issue. A Level 1 technician logs the request, an expert analyzes it, and a field technician resolves it — all structured as tasks.&lt;br&gt;
Business Processes and Workflows as the Foundation of Enterprise Systems&lt;br&gt;
Tasks are grouped into processes to manage work efficiently. A business process is a collection of tasks stitched together to achieve a business function. A workflow will ensure the tasks or steps in a process are performed in a pre-defined order by notifying the participants of actions by other participants and if their task is due next. Workflows eliminate the burden of manual coordination and are instead automated helping in increased efficiencies.&lt;/p&gt;

&lt;p&gt;Examples of business processes include:&lt;/p&gt;

&lt;p&gt;Employee Onboarding: Covers interviews, offer approvals, document submission, and induction.&lt;br&gt;
Agile Development: A user story that involves estimation, coding, and testing.&lt;br&gt;
Customer Support: Handling an ISP issue, escalating as needed, and resolving it with field support.&lt;br&gt;
You must have come across many workflows in modern productivity tools. These tools incorporate workflows but often limit them to email triggers or notifications. In reality, workflows are far more powerful and should be central to any enterprise system.&lt;/p&gt;

&lt;p&gt;Large companies integrate workflow engines to streamline operations as an after-thought after the systems are already built. Instead, workflows should be part of the core platform feature set fully integrated from day one. This will ensure a smooth progression of the business process landscape as it evolves and adapts to the constantly changing business needs and market conditions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What a Future-Ready System Should Offer&lt;/strong&gt;&lt;br&gt;
An ideal system should:&lt;/p&gt;

&lt;p&gt;Model all business processes efficiently reflecting actual business operations and the Process Hierarchies/Dependencies.&lt;br&gt;
Design all workflows tying all operations from end to end providing visibility and transparency into every operation.&lt;br&gt;
CRUD and Business Logic should be built on top of the BPM Layer&lt;br&gt;
Support rapid changes to business process models and workflows while ensuring backward compatibility.&lt;br&gt;
Retain historical data with accurate business process tracking.&lt;br&gt;
Offer built-in analytics to optimize operations and remove bottlenecks.&lt;br&gt;
Enable seamless data integration with data warehouses and data lakes for BI by leveraging real-time event brokers.&lt;br&gt;
Bringing It All Together&lt;br&gt;
The future of No Code and Low Code solutions lies in empowering businesses to build and modify enterprise software effortlessly, without sacrificing security, scalability, or performance. A true game-changer will place workflows at the core, giving businesses the ability to build complex systems with minimal effort while ensuring flexibility and efficiency.&lt;/p&gt;

&lt;p&gt;This is the vision I’ve been working towards — a platform that makes enterprise software development intuitive, scalable, and adaptable and more importantly extremely easy to build and change. Anyone and everyone who understands the business process landscape should be able to build it. If you are a Non Tech Founder or a Solopreneur, it should help you build a SaaS product quickly without understanding the underlying technologies. For larger companies, it should help digitize complex processes and build massive systems helping in increased efficiencies and time / cost savings.&lt;/p&gt;

&lt;p&gt;The platform should walk the BPM Architect (or a Citizen Developer / Superuser / Business Analyst) through setting up Business Processes and Workflows, adding data fields for CRUD operations etc. by asking questions and helping build the solution quickly. The system should be ready to use right away without having to build it and deploy. This will provide an amazing user experience as the system is fully functional in minutes. All of the additional project management, routing and analytics features should be made available without having a Process Architect (or Citizen Developer) spend extra time configuring these features.&lt;/p&gt;

&lt;p&gt;Now, let us go through the platform I created and see how these features are implemented. Here are some examples of what I have built on my Low Code No Code Platform. This is in no way a full demo but rather some important aspects to consider in such an undertaking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An Agile Software Development Business Process Suite&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is an example everyone in IT domain can relate to. The important processes in agile software development methodology include Epic, Story, Retrospective, Scrum, Initiative etc. All of these processes store data and form part of workflows and can optionally trigger other tasks and processes for build, deployment and are inter-related to each other in some way or another. Each task/activity and process should have customizable status and file upload capabilities. All of these are available on this platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fifuz2tfi2rxk4cjqxhnd.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fifuz2tfi2rxk4cjqxhnd.png" alt="Image description" width="628" height="567"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The user story has individual steps and each step is performed separately one after the other as a workflow. Once a step or task is marked completed, it will trigger the next step status change to indicate the next step is ready to be worked on. The above screenshot shows the very first step in the process. Once the Story details are available, a developer can code it. Once the developer finishes coding and marks it completed, it can be tested by another member of the team who has an assigned task for this as shown on his/her dashboard. The workflow based system should represent this idea clearly as shown above. And there are data fields that capture all information for every step. In addition to specific data fields for this step, there are other generic fields as shown for marking status/ETA/estimates etc. I will skip those details and other complex areas and keep it simple to help understand the core concepts.&lt;/p&gt;

&lt;p&gt;If you noticed above, the business function, data and workflows are all intertwined in the same screen. This is done to ensure that workflows and task management are part of the business function itself and do not need to be recorded in separate systems. To record it separately becomes an extra step and costs extra time and effort. Business users are not fond of spending extra time just to record the status and effort it took. It is generally an overhead for project managers and supervisors to coordinate among upper management and the workforce just to produce status reports! A system offering work estimations, status updates etc. as part of the business system itself helps employees manage their work easily without having to use additional systems and provide transparency in their work without having to spend additional time for it.&lt;/p&gt;

&lt;p&gt;Let us look at another step from this same process — the last step in the process. This is performed by a Product Owner and the task is assigned to John Davis who is the PO on the scrum team. Once the PO accepts and marks the task or step complete, the dashboard clears automatically and this task is no longer displayed in the active tasks dashboard for John. As this is the last step in the story process, a new process like Deployment for DevOps team will be automatically triggered if configured. New tasks will be visible to DevOps team members automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgv6d8ynacvm68d2wzt9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frgv6d8ynacvm68d2wzt9.png" alt="Image description" width="592" height="758"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please note all of this can be custom built and configured accordingly in a matter of a few hours. Our example is for an Agile SDLC Methodology. It can easily be done for any other business domain. However, the system supports scrum/agile/Kanban features so any business domain can leverage these agile practices. I built the whole process suite including all processes and workflows and establishing all roles and many scrum teams. All of this took me less than 2 days of work on this No Code Platform! What you are seeing is just a few screens, but there are many dashboards and other screens that support task assignments, automated workflows routing work to members who have capacity to do the work (estimation and routing module) etc. There are Kanban boards, Gaant charts, self-cleaning task and process dashboards for team members who are active task participants and for managers who supervise all tasks and activities. While the system provides transparency, it also ensures only users who have access to the actual processes will be able to access this data. A user may just have an observer-level or read-only access or can be an active participant/performer or a reviewer or approver. The workflow will adjust accordingly by sending tasks to reviewers and approvers via status changes.&lt;/p&gt;

&lt;p&gt;Let us see some more example screens — here is my dashboard for all tasks. Please note I am part of many processes and only I can see these as I am assigned a role in each of these processes. A manager who is assigned access can see what I am assigned and also other team members’ workload, capacity, status etc.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9h5363fcyj42qghfiro3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9h5363fcyj42qghfiro3.png" alt="Image description" width="720" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a workflow based process is so easy on this platform that my daughter built a process for her sister’s birthday and assigned me tasks! She also invited Batman and Ironman as attendees.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrl6zh79e2dfap0e0n57.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdrl6zh79e2dfap0e0n57.png" alt="Image description" width="445" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcmd8wqo9ph1ko2wmvopi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fcmd8wqo9ph1ko2wmvopi.png" alt="Image description" width="445" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This addresses No Code CRUD screens for all business processes modeled as workflows. How about Low Code for adding custom behavior ? We just need a small change in each of these screens to be able to call APIs on the click of a button — it should be able to send data on the screen via a HTTP API and the developer can code the API that sends data back accordingly.&lt;/p&gt;

&lt;p&gt;The Save and Close are standard buttons. Let us add a search button that calls an API for a Customer Engagement in a CRM system for a Real Estate Agency. The results will populate other fields when a result is found, else a message is shown. Building a CRM system is a one-day affair on my platform!&lt;/p&gt;

&lt;p&gt;So far, we did not see any setup screens — there are many but here is the one helping us to add a button to integrate with an external API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Freh84amq3bhpl7xu768a.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Freh84amq3bhpl7xu768a.png" alt="Image description" width="489" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here is the resulting screen with the Customer Search button placed exactly where we said in the control render order.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1r8q2uo1bpkpew4l6s9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz1r8q2uo1bpkpew4l6s9.png" alt="Image description" width="536" height="757"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are over 40 screens with many dashboards, analytics and project management features. There are many screens for setting up workflows, building processes etc. But more importantly, the system has the CRUD screens that you can create and update on the fly and can integrate your APIs easily for a fully customized business logic. Since building enterprise software is made so easy on this platform, why not digitize each and every activity and build BPM solutions for the whole enterprise? Model all business processes and operations for every department from end-to-end. You can set up teams and manage work by assigning to teams directly and someone from the team will be assigned tasks depending on who has capacity to accept work. Building software today should not cost you a fortune and should instead be something that anyone can build easily. It should be easily extensible and maintainable. Hope you enjoyed understanding what it means to build a Low Code No Code Platform for the enterprise. It has been a fun activity for me building this platform and trying to solve one of the most complex problems for digitizing the enterprise. I would appreciate any feedback and comments. If you like to get in touch, feel free to email me — &lt;a href="mailto:anjum.vaseem@gmail.com"&gt;anjum.vaseem@gmail.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Vaseem Anjum&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.linkedin.com/in/vaseem-anjum-07514a7/" rel="noopener noreferrer"&gt;https://www.linkedin.com/in/vaseem-anjum-07514a7/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.digitifynow.com/" rel="noopener noreferrer"&gt;https://www.digitifynow.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.non-tech-founders.com" rel="noopener noreferrer"&gt;www.non-tech-founders.com&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  SaaS #NoCode #LowCode #CloudComputing #Digitization #DigitalTransformation
&lt;/h1&gt;

</description>
      <category>lowcode</category>
      <category>nocode</category>
      <category>architecture</category>
      <category>productivity</category>
    </item>
    <item>
      <title>Low-Code, No-Code based Enterprise Application Architecture</title>
      <dc:creator>Vaseem Anjum</dc:creator>
      <pubDate>Fri, 21 Feb 2025 01:12:15 +0000</pubDate>
      <link>https://dev.to/vaseem_anjum_b1050bcfaffe/no-code-low-code-based-enterprise-application-architecture-3ine</link>
      <guid>https://dev.to/vaseem_anjum_b1050bcfaffe/no-code-low-code-based-enterprise-application-architecture-3ine</guid>
      <description>&lt;p&gt;&lt;strong&gt;The Early Fascination with Building&lt;/strong&gt;&lt;br&gt;
As a child, I was always fascinated by cars, boats, airplanes, and more. I loved to build them but they had little functionality. The wheels of my toy cars could rotate with a simple axle, and the rotor of my dream helicopter could spin in unison with the wheel movement.&lt;/p&gt;

&lt;p&gt;I once stumbled upon a magazine advertising kits for building boats and airplanes. This discovery was a revelation — could I really build a fully functional airplane? The idea was powerful. It made me feel an immense sense of freedom, as if I had wings and could fly. That moment shaped my belief that building things should be easy and attainable for everyone.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The State of Software Development Today&lt;/strong&gt;&lt;br&gt;
After decades in software development, I deeply feel that we are not utilizing our skills to develop software in an easier manner: we still write code for basic CRUD operations. These lower level details should be abstracted out and presented as features inside of tools and made available as pluggable building blocks generic enough for any database/storage technology. Things become more complicated when we talk about business logic. Everything has to be custom built when it comes to enterprise applications. Not that there are no tools in the market today but the tools are either way too simplistic or overtly complex and need someone with good technology skills to use and produce enterprise software. For citizen developers, non tech founders, solopreneurs and also for business analysts in larger organizations, the tools that can help them meet their needs are very limited. I am in no way implying that software industry is not complex. On the contrary, software technology is way too complex with applications in every business domain. For example, automobile engineering is limited in scope and application to automobiles only. But software industry is wide open for use in almost all industries, businesses, politics, research and almost every human endeavor. It is almost infrastructural in usage that every business or organization needs software.&lt;/p&gt;

&lt;p&gt;We place immense demands and high expectations on the software industry. While we continuously develop software for every niche and industry, we often overlook the need for frameworks and tools that simplify software creation for everyone. We have yet to reach a point where building software is as effortless as assembling LEGO pieces or kits to construct a house, a car, or an airplane. It’s an ambitious goal — but one I firmly believe is within our reach.&lt;/p&gt;

&lt;p&gt;There are many Low Code No Code tools available in the market today that are trying to do this same exact thing. Some are way too simple while others are overtly complex and need a deep learning curve. We should be able to build a fully functional enterprise software that is secure, highly scalable and highly performant using a Low Code No Code Platform. We should not accept anything less. This will help in quick digitization of domains, areas and geographies that lack digitization. The increased technology adoption and penetration will help free ourselves of tasks and activities that are mundane and propel us to be more creative and efficient.&lt;/p&gt;

&lt;p&gt;Every business application has a CRUD layer and the business functionality is built on top of it. Depending on the complexity of the business logic, these CRUD operations can take up anywhere from 50% to 90% of a developer’s time. While we should account for the CRUD operations in a No Code Platform which is perhaps a simpler problem, the Low Code aspect of the platform should provide easy pluggable logic to a system built on it. This will help organizations to build software quickly at a lower cost and at the same time allow citizen developers and business analysts to be able to help build and be part of the software development process. The complex aspects can be left for seasoned developers to tackle. With this approach, organizations can digitize almost every area of their operations. End to end digitization is always a dream for every organization while the reality is that most depend on manual and people processes to do things that are not seen as important. Organizations build systems for processes that give the most ROI but the other ancillary and supplementary processes are not prioritized for digitization. These processes are also equally important as they do impact the important processes indirectly or impact human and other resources associated with the important revenue generating processes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Limitations of Low-Code, No-Code Solutions&lt;/strong&gt;&lt;br&gt;
Many Low-Code, No-Code tools assist with CRUD operations but fail to scale effectively. Solutions built on No Code Platforms generally have issues with scaling, security and often go through many changes to tackle the inadequate underlying foundations. When it comes to business functionality, there are very few tools offering an easy build and integration of APIs seamlessly preserving the architectural guidelines intact. A good Low Code No Code Platform should offer more than just a working prototype or a basic product that needs revisions as the application needs and usage grows.&lt;/p&gt;

&lt;p&gt;Many Business Rule Engines do fill in this gap and other similar tools exist, but they generally address only simple system behaviors. In my experience, I have yet to see a No Code or Low Code platform that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is easy to learn and adopt for citizen developers, business analysts, or super users.&lt;/li&gt;
&lt;li&gt;Provides a scalable, high-performance architecture leveraging the cloud.&lt;/li&gt;
&lt;li&gt;Allows for custom functionality beyond simple CRUD operations.&lt;/li&gt;
&lt;li&gt;Allows for best security practices like RBAC and ensures industry standards are met to address privacy and security guidelines.&lt;/li&gt;
&lt;li&gt;Simplifies or completely eliminates build and deployment.&lt;/li&gt;
&lt;li&gt;Is easily extensible and simplifies change management&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Most tools today focus on one or a combination of task management, workflows, and collaboration features — helpful for productivity but insufficient for enterprise-level application development. Businesses still need to write extensive code to implement logic, making software development expensive and time-consuming.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The Need for a Holistic Solution&lt;/strong&gt;&lt;br&gt;
Enterprise software development requires a tool that allows businesses to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easily build and modify software on the fly.&lt;/li&gt;
&lt;li&gt;Provide a secure, well-architected system with custom functionality.&lt;/li&gt;
&lt;li&gt;Be intuitive for business users to build without requiring advanced technical knowledge.&lt;/li&gt;
&lt;li&gt;Provide features for task management, workflows etc. as a standard feature set and build CRUD and business logic on top of it.&lt;/li&gt;
&lt;li&gt;Scale seamlessly without any external intervention with options to manually override any infrastructural/cloud features.
Unfortunately, no existing No Code or Low Code platform fully meets these needs. Most demand a steep learning curve with complex configurations and unused features. Any new tool in this space should empower developers to focus on complex business logic instead of struggling with the platform itself.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Designing a Better Solution&lt;/strong&gt;&lt;br&gt;
After spending 27 years in continuous employment, I finally had the time and opportunity in the past six months (thanks to my position moving to offshore) to deeply reflect on this problem. I wasn’t starting from scratch — I had been experimenting with similar ideas for years, aiming to simplify enterprise software development with minimal coding (or no coding at all) while ensuring full customization.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding the Core Concepts: Tasks and Workflows&lt;/strong&gt;&lt;br&gt;
At the heart of my solution lies a simple yet powerful idea: the concept of a task.&lt;/p&gt;

&lt;p&gt;Every profession involves tasks—from CEOs to entry-level employees, from doctors to engineers. Consider the following examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Healthcare: A doctor diagnosing a patient is a task. They might assign a task to a lab technician for a blood test, who then generates a lab report—another task.&lt;/li&gt;
&lt;li&gt;HR &amp;amp; Recruitment: The process of onboarding an employee, from interviews to the first day at work, consists of multiple interconnected tasks.&lt;/li&gt;
&lt;li&gt;IT Support: An ISP customer calls about an internet issue. A Level 1 technician logs the request, an expert analyzes it, and a field technician resolves it—all structured as tasks.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Workflows as the Foundation of Enterprise Systems&lt;/strong&gt;&lt;br&gt;
Tasks are grouped into processes to manage work efficiently. A process is a collection of tasks stitched together to achieve a business function.&lt;/p&gt;

&lt;p&gt;Examples of business processes include:&lt;/p&gt;

&lt;p&gt;**Employee Onboarding: Covers interviews, offer approvals, document submission, and induction.&lt;/p&gt;

&lt;p&gt;Agile Development: A user story that involves estimation, coding, and testing.&lt;/p&gt;

&lt;p&gt;Customer Support: Handling an ISP issue, escalating as needed, and resolving it with field support.&lt;br&gt;
**&lt;br&gt;
You must have come across many workflows in modern tools. These tools incorporate workflows but often limit them to email triggers or notifications. In reality, workflows are far more powerful and should be central to any enterprise system.&lt;/p&gt;

&lt;p&gt;Large companies integrate workflow engines to streamline operations as an after-thought after the systems are already built. Instead, workflows should be part of the core platform feature set fully integrated from day one. This will ensure a smooth progression of the business process landscape as it evolves and adapts to the constantly changing business needs and market conditions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What a Future-Ready System Should Offer&lt;/strong&gt;&lt;br&gt;
An ideal system should:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model all business processes efficiently reflecting actual business operations and the Process Hierarchies/Dependencies.&lt;/li&gt;
&lt;li&gt;Design all workflows tying all operations from end to end providing visibility and transparency into every operation.&lt;/li&gt;
&lt;li&gt;CRUD and Business Logic should be built on top of the BPM Layer&lt;/li&gt;
&lt;li&gt;Support rapid changes to business process models and workflows while ensuring backward compatibility.&lt;/li&gt;
&lt;li&gt;Retain historical data with accurate business process tracking.&lt;/li&gt;
&lt;li&gt;Offer built-in analytics to optimize operations and remove bottlenecks.&lt;/li&gt;
&lt;li&gt;Enable seamless data integration with data warehouses and data lakes for BI by leveraging real-time event brokers.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Bringing It All Together&lt;/strong&gt;&lt;br&gt;
The future of No Code and Low Code solutions lies in empowering businesses to build and modify enterprise software effortlessly, without sacrificing security, scalability, or performance. A true game-changer will place workflows at the core, giving businesses the ability to build complex systems with minimal effort while ensuring flexibility and efficiency.&lt;/p&gt;

&lt;p&gt;This is the vision I’ve been working towards—a platform that makes enterprise software development intuitive, scalable, and adaptable and more importantly extremely easy to build and change. Anyone and everyone who understands the business process landscape should be able to build it. If you are a Non Tech Founder or a Solopreneur, it should help you build a SaaS product quickly without understanding the underlying technologies. For larger companies, it should help digitize complex processes and build massive systems helping in increased efficiencies and time / cost savings.&lt;/p&gt;

&lt;p&gt;The platform should walk the BPM Architect (or a Citizen Developer / Superuser / Business Analyst) through setting up Business Processes and Workflows, adding data fields for CRUD operations etc. by asking questions and helping build the solution quickly. The system should be ready to use right away without having to build it and deploy. This will provide an amazing user experience as the system is fully functional in minutes. All of the additional project management, routing and analytics features should be made available without having a Process Architect (or Citizen Developer) spend extra time configuring these features.&lt;/p&gt;

&lt;p&gt;Now, let us go through the platform I created and see how these features are implemented. Here are some examples of what I have built on my No Code Low Code Platform. This is in no way a full demo but rather some important aspects to consider in such an undertaking.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;An Agile Software Development Business Process Suite&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Here is an example everyone in IT domain can relate to. The important processes in agile software development include Epic, Story, Retrospective, Scrum, Initiative etc. All of these processes store data and form part of workflows and can optionally trigger other tasks and processes for build, deployment and are inter-related to each other in some way or another. Each task/activity and process should have customizable status and file upload capabilities. All of these are available on this platform.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbav2ok7jekwt073qsep7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbav2ok7jekwt073qsep7.png" alt="Image description" width="628" height="567"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The user story has individual steps and each step is performed separately one after the other as a workflow. Once a step or task is marked completed, it will trigger the next step status change to indicate the next step is ready to be worked on. The above diagram shows the very first step in the process. Once the Story details are available, a developer can code it. Once the developer finishes coding and marks it completed, it can be tested by another member of the team who has an assigned task for this as shown on his/her dashboard. The workflow based system should represent this idea clearly as shown above. And there are data fields that capture all information for every step. In addition to specific data fields for this step, there are other generic fields as shown for marking status/ETA/estimates etc. I will skip those details and other complex areas and keep it simple to help understand the core concepts.&lt;/p&gt;

&lt;p&gt;If you noticed above, the business function, data and workflows are all intertwined in the same screen. This is done to ensure that workflows and task management are part of the business function itself and do not need to be recorded in separate systems. To record it separately becomes an extra step and costs extra time and effort. Business users are not fond of spending extra time just to record the status and effort it took. It is generally an overhead for project managers and supervisors to coordinate among upper management and the workforce just to produce status reports! A system offering work estimations, status updates etc. as part of the business system itself helps employees manage their work easily without having to use additional systems and provide transparency in their work without having to spend additional time for it. &lt;/p&gt;

&lt;p&gt;Let us look at another step from this same process - the last step in the process. This is performed by a Product Owner and the task is assigned to John Davis who is the PO on the scrum team. Once the PO accepts and marks the task or step complete, the dashboard clears automatically and this task is no longer displayed in the active tasks dashboard for John. As this is the last step in the story process, a new process like Deployment for DevOps team will be automatically triggered if configured. New tasks will be visible to DevOps team members automatically.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6d5hhrf4iicfticbarz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fk6d5hhrf4iicfticbarz.png" alt="Image description" width="592" height="758"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Please note all of this can be custom built and configured accordingly in a matter of a few hours. Our example is for an Agile SDLC Methodology. It can easily be done for any other business domain. However, the system supports scrum/agile/Kanban features so any business domain can leverage these agile practices. I built the whole process suite including all processes and workflows and establishing all roles and many scrum teams. All of this took me less than 2 days of work on this No Code Platform! What you are seeing is just a few screens, but there are many dashboards and other screens that support task assignments, automated workflows routing work to members who have capacity to do the work (estimation and routing module) etc. There are Kanban boards, Gaant charts, self-cleaning task and process dashboards for team members who are active task participants and for managers who supervise all tasks and activities. While the system provides transparency, it also ensures only users who have access to the actual processes will be able to access this data. A user may just have an observer-level or read-only access or can be an active participant/performer or a reviewer or approver. The workflow will adjust accordingly by sending tasks to reviewers and approvers via status changes.&lt;/p&gt;

&lt;p&gt;Let us see some more example screens - here is my dashboard for all tasks. Please note I am part of many processes and only I can see these as I am assigned a role in each of these processes.  A manager who is assigned access can see what I am assigned and also other team members' workload, capacity, status etc. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fuiqw54lpzw7bmj6ypc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5fuiqw54lpzw7bmj6ypc.png" alt="Image description" width="720" height="586"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Creating a workflow based process is so easy on this platform that my daughter built a process for her sister's birthday and assigned me tasks! She also invited Batman and Ironman as attendees. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flt4px6w5w4ujh0epj7j4.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flt4px6w5w4ujh0epj7j4.png" alt="Image description" width="445" height="755"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F69fapne0wt47fiotf7dz.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F69fapne0wt47fiotf7dz.png" alt="Image description" width="720" height="516"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This addresses No Code CRUD screens for all business processes modeled as workflows. How about Low Code for adding custom behavior ? We just need a small change in each of these screens to be able to call APIs on the click of a button - it should be able to send data on the screen via a HTTP API and the developer can code the API that sends data back accordingly. &lt;/p&gt;

&lt;p&gt;The Save and Close are standard buttons. Let us add a search button that calls an API for a Customer Engagement in an ERP system for a Real Estate Agency. The results will populate other fields when a result is found, else a message is shown.&lt;/p&gt;

&lt;p&gt;So far, we did not see any setup screens - there are many but here is the one helping us to add a button to integrate with an external API.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9u0ash9qhcr1mj29hrte.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9u0ash9qhcr1mj29hrte.png" alt="Image description" width="489" height="671"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And here is the resulting screen with the Customer Search button placed exactly where we said in the control render order.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feqt4kji2jcb18x9ty3pl.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Feqt4kji2jcb18x9ty3pl.png" alt="Image description" width="536" height="757"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There are over 40 screens with many dashboards, analytics and project management features. There are many screens for setting up workflows, building processes etc. But more importantly, the system has the CRUD screens that you can create and update on the fly and can integrate your APIs easily for a fully customized business logic. Since building enterprise software is made so easy on this platform, why not digitize each and every activity and build BPM solutions for the whole enterprise? Model all business processes and operations for every department from end-to-end. You can set up teams and manage work by assigning to teams directly and someone from the team will be assigned tasks depending on who has capacity to accept work. Building software today should not cost you a fortune and should instead be something that anyone can build easily. It should be easily extensible and maintainable. Hope you enjoyed understanding what it means to build a No Code Low Code Platform for the enterprise. It has been a fun activity for me building this platform and trying to solve one of the most complex problems for digitizing the enterprise. &lt;/p&gt;

&lt;p&gt;Vaseem Anjum&lt;/p&gt;

&lt;p&gt;Check us out @ &lt;a href="https://www.digitifynow.com/" rel="noopener noreferrer"&gt;https://www.digitifynow.com/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>nocode</category>
      <category>lowcode</category>
      <category>architecture</category>
      <category>cloudnative</category>
    </item>
  </channel>
</rss>
