<?xml version="1.0" encoding="UTF-8" ?><!-- generator=Zoho Sites --><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><atom:link href="https://www.bolbeck.com/blogs/tag/pitfalls/feed" rel="self" type="application/rss+xml"/><title>Bolbeck LLC - Blog #pitfalls</title><description>Bolbeck LLC - Blog #pitfalls</description><link>https://www.bolbeck.com/blogs/tag/pitfalls</link><lastBuildDate>Mon, 08 Dec 2025 14:05:44 -0800</lastBuildDate><generator>http://zoho.com/sites/</generator><item><title><![CDATA[Navigating the new frontier]]></title><link>https://www.bolbeck.com/blogs/post/lessonsFromAgenticApps</link><description><![CDATA[<img align="left" hspace="5" src="https://www.bolbeck.com/images/AILessons.png"/>Lessons from building a multi-modal agentic AI application]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_t8JlvhIwTbWtLBMPE7oQ-w" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_FZKFztz1Q_-_5hQP0bHEMA" data-element-type="row" class="zprow zprow-container zpalign-items- zpjustify-content- " data-equal-column=""><style type="text/css"></style><div data-element-id="elm_1aJPBknoSaiv95nVvk8DhQ" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"></style><div data-element-id="elm_wEzSlx9ZTReatLI_0iFQIQ" data-element-type="heading" class="zpelement zpelem-heading "><style></style><h2
 class="zpheading zpheading-align-center zpheading-align-mobile-center zpheading-align-tablet-center " data-editor="true"><span><span>Lessons from Building and Deploying Agentic AI Apps</span></span></h2></div>
<div data-element-id="elm_jeJeulp6SWSk-321Cx4pIg" data-element-type="text" class="zpelement zpelem-text "><style></style><div class="zptext zptext-align-center zptext-align-mobile-center zptext-align-tablet-center " data-editor="true"><p><span><span>Building GenAI Agentic based applications feels both familiar and unusual at the same time. While the core principles of software development—APIs, services, and infrastructure—remain, the introduction of agentic AI brings a new set of challenges like probabilistic models, semantic evaluation, and prompt security. These elements introduce a new layer of complexity that can be both exhilarating and perplexing.&nbsp;</span></span></p><p><span><span>Click on the image below to see the slides from the talk</span></span></p></div>
</div><div data-element-id="elm_fu56aPkBS-DvO8sDdx_kyQ" data-element-type="image" class="zpelement zpelem-image "><style> @media (min-width: 992px) { [data-element-id="elm_fu56aPkBS-DvO8sDdx_kyQ"] .zpimage-container figure img { width: 600px !important ; height: 332px !important ; } } </style><div data-caption-color="" data-size-tablet="" data-size-mobile="" data-align="center" data-tablet-image-separate="false" data-mobile-image-separate="false" class="zpimage-container zpimage-align-center zpimage-tablet-align-center zpimage-mobile-align-center zpimage-size-original zpimage-tablet-fallback-fit zpimage-mobile-fallback-fit "><figure role="none" class="zpimage-data-ref"><a class="zpimage-anchor" href="/files/AgenticAIDevelopment_small.pdf" target="" rel=""><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/images/AILessons.png" size="original" alt="Link to Navigating the new frontier slides"/></picture></a></figure></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Thu, 03 Apr 2025 00:55:25 -0500</pubDate></item><item><title><![CDATA[Enterprise Software selection]]></title><link>https://www.bolbeck.com/blogs/post/enterpriseSotwareSelection</link><description><![CDATA[While companies typically do a good job determining business needs, they tend to downplay the role of growth & adaptability of new software solutions. They also tend to base decisions on past experiences and assumptions that are not applicable when selecting software to transform existing processes]]></description><content:encoded><![CDATA[<div class="zpcontent-container blogpost-container "><div data-element-id="elm_MwjtulCJQQOXP1oQ1tHUCw" data-element-type="section" class="zpsection "><style type="text/css"></style><div class="zpcontainer-fluid zpcontainer"><div data-element-id="elm_r0-epITtQ1GZisvwf-SWgQ" data-element-type="row" class="zprow zprow-container zpalign-items-center zpjustify-content-center " data-equal-column=""><style type="text/css"> [data-element-id="elm_r0-epITtQ1GZisvwf-SWgQ"].zprow{ border-radius:1px; } </style><div data-element-id="elm_ZHlxEARMSP6co78ffjXo6w" data-element-type="column" class="zpelem-col zpcol-12 zpcol-md-12 zpcol-sm-12 zpalign-self- "><style type="text/css"> [data-element-id="elm_ZHlxEARMSP6co78ffjXo6w"].zpelem-col{ border-radius:1px; } </style><div data-element-id="elm_QLOlNVlmSKSaDGpG9YtDag" data-element-type="heading" class="zpelement zpelem-heading "><style> [data-element-id="elm_QLOlNVlmSKSaDGpG9YtDag"].zpelem-heading { border-radius:1px; } </style><h2
 class="zpheading zpheading-align-center " data-editor="true"><span style="color:inherit;">​</span><span style="color:inherit;">&nbsp;Common mistakes that lead to bad choices</span><br></h2></div>
<div data-element-id="elm_UVzagBnL18jVu7IO1KWWkQ" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> [data-element-id="elm_UVzagBnL18jVu7IO1KWWkQ"].zpelem-imagetext{ border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="left" data-tablet-image-separate="" data-mobile-image-separate="" class="zpimagetext-container zpimage-with-text-container zpimage-align-left zpimage-size-small zpimage-tablet-fallback-small zpimage-mobile-fallback-small hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/images/Selection.jpg" size="small" data-lightbox="true" style="width:386px;"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="font-size:14px;">As business needs change, applications grow stale and new software capabilities come about, it is common to replace an existing systems. The search for a new, hopefully more advanced, alternative begins. Committees are formed, user feedback is solicited and a request for proposal is drawn out. A few weeks later vendors are lined up out the door, eager to present their latest and greatest application. </span></p><p><span style="font-size:14px;"><br></span></p><p><span style="font-size:14px;">Unfortunately the process sometimes results in slow and painful implementations, not to mention millions lost in applications that barely work. So, given the time and resources invested, what derails this process?</span></p><p><span style="font-size:14px;"><br></span></p><p><span style="color:inherit;font-size:14px;"></span></p><p><span style="font-size:14px;">While companies typically do a good job determining business needs for a new software, there are three factor categories that are commonly missed or downplayed during the selection process but that are crucial for ongoing success of an application. The first category is not accounting for the flexibility of the application and how it will grow over time to continue to deliver value to the business. The second category is basing decisions on previous experience instead of relying on data. While experience is important when performing repetitive tasks, it is less accurate when transforming a process or adopting new technology. Finally, the third factor is harder to detect because it is about the assumptions we make while making decisions. Assumptions can lead us to discard viable opportunities without even realizing it. In the next few pages, we will review these categories to explore how they can lead the selection process astray</span></p><p><span style="font-size:14px;"><br></span></p><p><span style="font-size:14px;"><span style="color:inherit;"><span style="font-size:24px;">Growth and adaptability</span></span><br></span></p></div>
</div></div><div data-element-id="elm_PpSbJJzXNKSiK_cbp60g5Q" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> [data-element-id="elm_PpSbJJzXNKSiK_cbp60g5Q"].zpelem-imagetext{ border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="right" data-tablet-image-separate="" data-mobile-image-separate="" class="zpimagetext-container zpimage-with-text-container zpimage-align-right zpimage-size-small zpimage-tablet-fallback-small zpimage-mobile-fallback-small hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-none " src="/images/coffee.jpg" size="small" alt="but first coffee image" data-lightbox="true" style="width:461px;"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p>Identifying the company's needs in terms of software capabilities is important, but it is crucial to prioritize them properly. Companies tend to exclusively focus on business features needed to solve business issues. However, in the world of digital speed and ever changing customer preference, ignoring or downplaying the software adaptability leads to applications that hamper new business opportunities instead of enhancing them. Below is the list of the top 5 priorities when evaluating an application's ability to grow and enhance the business:<br></p><ul><li><p><span style="font-size:14px;"><strong>Peak time performance</strong>: The ability to handle a large number of concurrent users in peak seasons. Can you imagine a retailer's software that shuts down on Black Friday ?</span></p></li><li><p><span style="font-size:14px;"><strong>Scalability</strong>: Can the application easily scale to handle more users? In the age of Microservices and cheap commodity hardware, applications should automatically scale to meet increasing demand.</span></p></li><li><p><span style="font-size:14px;"><strong>Upgradability</strong>: Upgrading applications used to require months of planning and execution. Nowadays, upgrades should be frequent non-events that push out new features faster than ever before.</span></p></li><li><p><span style="font-size:14px;"><strong>Modularity</strong>: Applications that can only be upgraded by replacing the whole code base entail risky and costly endeavours on every upgrade, no matter how small is the change to the code. Applications designed as small, independent pieces can deliver business value quickly and with minimum risk.</span></p></li><li><p><span style="font-size:14px;"><strong>Feature delivery:</strong> Wether buying or creating software, the team building the software needs to deliver new features at the rate needed by the business. Therefore, priority should be given to teams that rely on modularity, automated testing and embrace continuous integration and delivery (CI/CD)</span></p></li></ul><p><span style="color:inherit;font-size:14px;"></span></p><p><span style="font-size:14px;">An astute reader could point out that, it is ok to pick a solution does not meet the above requirements as long as the vendor is working on fixing the short comings. However, it is important that needed improvements are documented in writing with the corresponding schedule, legal provisions and consequences for delivery. After all, talk is cheap and not legally binding.</span></p></div>
</div></div><div data-element-id="elm_PCjz1_PGPes1g2sAU4jmfw" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_PCjz1_PGPes1g2sAU4jmfw"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p><span style="color:inherit;"><span style="font-size:24px;">Previous experiences</span></span></p><p><span style="font-size:14px;">Using previous experience instead of data to make decisions could skew the process in the wrong direction.</span></p><p><span style="color:inherit;font-size:14px;"></span></p><ul><li><p><span style="font-size:14px;"><strong>Previous relationships</strong>: Selecting an application because a relationship already exists with a vendor. While relationships are important, they are not a substitute for a thorough review of the software performance and capabilities. </span></p></li><li><p><span style="font-size:14px;"><strong>Previous application:</strong> Assuming an application will work because we already use other applications from the same vendor. People usually assume:</span></p><ul><li><p><span style="font-size:14px;"><strong>Ease of integration</strong>: Assumption that apps can easily be integrated if they come from the same vendor. While this may be true in a few cases, reality is that :</span></p><ul><li><p><span style="font-size:14px;">Companies customize enterprise software, so integration is not longer out of the box </span></p></li><li><p><span style="font-size:14px;">Applications are built by different vendor teams. Also, vendors could just buy an app and rebrand it. As such, one should verify that applications compatibility before signing the contract</span></p></li></ul></li><li><p><span style="font-size:14px;"><strong>Better support:</strong> Assuming the same level of support will extend to a new app. However: </span></p><ul><li><p><span style="font-size:14px;">The support teams for different applications are usually different and so is their level of familiarity with each tool. Assuming the same support level from both teams is aspirational.</span></p></li><li><p><span style="font-size:14px;">No amount of support can substitute poor/missing features. </span></p></li></ul></li><li><p><span style="font-size:14px;"><strong>Previous success:</strong> The fact that a vendor's application successfully solved issues in the past has unfortunately no correlation to the ability of a different offering solving a new set of issues.</span></p></li></ul></li></ul></div>
</div><div data-element-id="elm_M-RKV0xgOrBJjwZhWwEh5w" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_M-RKV0xgOrBJjwZhWwEh5w"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p><span style="color:inherit;"><span style="font-size:24px;">Assumptions</span></span></p><p><span style="font-size:14px;">Using assumptions instead of the necessary data can lead to interesting decisions:</span></p><p><span style="color:inherit;font-size:14px;"></span></p><ul><li><p><span style="font-size:14px;"><strong>No test drive</strong>: While 90% of the population would not buy a house sight unseen, many companies wait until after the process is complete and the contract is signed before test driving the app.</span></p></li><li><p><span style="font-size:14px;"><strong>Vendor size/name:</strong> Assuming vendor size/name correlates to how well the app will solve the company's issues. In the current digital age, most innovative solutions come from small, flexible companies. Ignoring this trend may cause the company to miss on potential advantages over the competition. </span></p></li><li><p><strong><span style="font-size:14px;">Feature overload</span></strong><span style="font-size:14px;">: While it is important to evaluate a software based on the features it offers, it is even more important that the software has the right features. It is easy to get swayed by a large feature set, but keep in mind features are only good if they add value</span></p></li></ul></div>
</div><div data-element-id="elm_MDxL67J_uFov-52WnlFeJg" data-element-type="imagetext" class="zpelement zpelem-imagetext "><style> [data-element-id="elm_MDxL67J_uFov-52WnlFeJg"].zpelem-imagetext{ border-radius:1px; } </style><div data-size-tablet="" data-size-mobile="" data-align="right" data-tablet-image-separate="" data-mobile-image-separate="" class="zpimagetext-container zpimage-with-text-container zpimage-align-right zpimage-size-small zpimage-tablet-fallback-small zpimage-mobile-fallback-small hb-lightbox " data-lightbox-options="
            type:fullscreen,
            theme:dark"><figure role="none" class="zpimage-data-ref"><span class="zpimage-anchor" role="link" tabindex="0" aria-label="Open Lightbox" style="cursor:pointer;"><picture><img class="zpimage zpimage-style-none zpimage-space-thin " src="/images/OpenSourceSoftware.png" size="small" data-lightbox="true" style="width:600px;padding:0px;margin:0px;"/></picture></span></figure><div class="zpimage-text zpimage-text-align-left " data-editor="true"><p><span style="font-size:14px;"><strong>Open source</strong>: Ignoring solutions built (or contains) on open source software. This strategy results in lost opportunities given that nowadays: </span></p><p><span style="color:inherit;font-size:14px;"></span></p><ul><li><p><span style="font-size:14px;">All tech giants include open source software in their product portfolios and contribute to open source projects</span></p></li><li><p><span style="font-size:14px;">Most proprietary software contain open source libraries under the covers.</span></p></li><li><p><span style="font-size:14px;">Open source is at the core of big data infrastructure. </span></p></li><li><p><span style="font-size:14px;">All major AI and Machine learning software is open source or is built using open source libraries</span></p></li><li><p><span style="font-size:14px;">Open source software is as secure as proprietary code. Just as with proprietary code, there are some more secure than others. (Google 'Microsoft Windows vulnerability' for an eye opening experience)</span></p></li></ul></div>
</div></div><div data-element-id="elm_HeCinB9s0b-i5aV69x7fFA" data-element-type="text" class="zpelement zpelem-text "><style> [data-element-id="elm_HeCinB9s0b-i5aV69x7fFA"].zpelem-text { border-radius:1px; } </style><div class="zptext zptext-align-left " data-editor="true"><p><span style="color:inherit;"><span style="font-size:24px;">Bottom line</span></span></p><p><span style="font-size:14px;">As technology continues to speed up our regular, every day lives, it also requires businesses to adapt ever more quickly. Evaluating enterprise software is no longer just about business requirements, but also about speed, reliability and upgradability. The software selection must also evolve to pick applications that can move and adapt quickly to enhance business opportunities, not hamper them. Being aware of the potential pitfalls of software selection is the first step in the path to implementing quality, forward looking applications</span></p></div>
</div></div></div></div></div></div> ]]></content:encoded><pubDate>Mon, 30 Sep 2019 15:57:52 -0500</pubDate></item></channel></rss>