<?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: Pietro Maffi</title>
    <description>The latest articles on DEV Community by Pietro Maffi (@mpietro).</description>
    <link>https://dev.to/mpietro</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%2F1265727%2Ff0f39c43-2cc7-42f3-89d8-7cbc7198905d.PNG</url>
      <title>DEV Community: Pietro Maffi</title>
      <link>https://dev.to/mpietro</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mpietro"/>
    <language>en</language>
    <item>
      <title>A Jira Win: Building JiraAttachmentsRetriever with the JiraAnalyzerSuite</title>
      <dc:creator>Pietro Maffi</dc:creator>
      <pubDate>Wed, 01 Apr 2026 15:57:08 +0000</pubDate>
      <link>https://dev.to/mpietro/a-jira-win-building-jiraattachmentsretriever-with-the-jiraanalyzersuite-19le</link>
      <guid>https://dev.to/mpietro/a-jira-win-building-jiraattachmentsretriever-with-the-jiraanalyzersuite-19le</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As agile coach, I’ve learned that real progress happens when powerful tools become approachable. Jira is incredibly capable, but not always easy to use end-to-end. Over the past year, through Vibe coding, I built a valuable software suite that extracts data with a clean, user-friendly UX. This journey didn’t stop there: I refactored multiple applications into a single suite, enabling rapid adaptation to new needs with minimal rewriting.&lt;/p&gt;

&lt;p&gt;Today, I’m excited to share a concrete example of “reuse, reliability, and responsiveness” in action, the JiraAttachmentsRetriever, created by extending the JiraAnalyzerSuite. The goal: a production ready, unit test covered, well logged tool that makes Jira data accessible and actionable with minimal friction.&lt;/p&gt;

&lt;h1&gt;
  
  
  Approach:
&lt;/h1&gt;

&lt;p&gt;Reuse: Leveraged the JiraAnalyzerSuite codebase to maximize reuse, ensuring consistent behavior and architecture. ♻️&lt;br&gt;
Efficiency: Implemented a lightweight, production ready Python waitress app with strong caching and robust logging and error handling to prevent Jira issues. ⚡️🪵&lt;br&gt;
Functionality (core goals):&lt;br&gt;
Accept inputs: server URL, access token, and Jira query (including comma-separated Epics list). 🔗&lt;br&gt;
Scan returned items to detect attachments. 📎&lt;br&gt;
Generate a modern report linking tickets to their attachments. 📑🔗&lt;br&gt;
Support hierarchical queries: if Epics are provided, traverse child issues to include all related items. 🧭&lt;br&gt;
Quality: 48 unit tests passed, clear structure, and an emphasis on reliability and observability. 🧪✅&lt;/p&gt;

&lt;h1&gt;
  
  
  Prompt example
&lt;/h1&gt;

&lt;p&gt;I used exactly this in GitHub Copilot:&lt;br&gt;
"Considering the JiraAnalyzerSuite I need to create a new application named JiraAttachmentsRetriever with the same guidelines: reusing the suite code as much as possible, provide an efficient test coverage, provide production ready logging and error management to prevent jira trouble, which enable me to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;getting the usual input (server url, access token, jira query)
elaborate the scan of the returned elements and check if they have any attachments.&lt;/li&gt;
&lt;li&gt;Create a simple but modern and nice report which enable me to see the ticket URL and the link to the attachments uploaded to the ticket. if the input is a comma separated list of epics, the application should check in all the child connected to the epic." &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I was able to obtain in less than 30 min a working python waitress application with 48 unit test passed and a well structured caching approach and logging.&lt;/p&gt;

&lt;h1&gt;
  
  
  Impact:
&lt;/h1&gt;

&lt;p&gt;Faster, safer Jira data retrieval with a clean UX for end users. 💡&lt;br&gt;
A scalable pattern for future integrations, reducing time to value for new needs. 🚀&lt;br&gt;
Demonstrates how disciplined engineering practices empower teams to solve complex problems without reinventing the wheel. 🧩&lt;/p&gt;

&lt;h1&gt;
  
  
  Lessons learned:
&lt;/h1&gt;

&lt;p&gt;Start with reuse and clear interfaces; you’ll save time and reduce risk when requirements evolve. 🧭&lt;br&gt;
Invest in test coverage and good logging early to prevent production hiccups. 🧰&lt;br&gt;
Communicate value with tangible outputs (screenshots, results) to keep stakeholders aligned. 📷&lt;/p&gt;

&lt;p&gt;Front end input console image&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%2F94okzuv4v43i3rkjgq1z.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%2F94okzuv4v43i3rkjgq1z.png" alt="Console interface" width="693" height="878"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Report result&lt;br&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%2Fdzgc9amt50eya6pj7mu6.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%2Fdzgc9amt50eya6pj7mu6.png" alt="Report result" width="800" height="307"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>Vibe coding level UP</title>
      <dc:creator>Pietro Maffi</dc:creator>
      <pubDate>Mon, 26 Jan 2026 14:13:57 +0000</pubDate>
      <link>https://dev.to/worldlinetech/vibe-coding-level-up-3klc</link>
      <guid>https://dev.to/worldlinetech/vibe-coding-level-up-3klc</guid>
      <description>&lt;p&gt;Last week my colleague Pieter  suggested me a nice article about "Long-term DORA data reveals systemic performance plateaus and shifts, allowing organizations to connect improvements to architectural, cultural, and process changes."&lt;/p&gt;

&lt;p&gt;So starting from my current level of Jira Lead Time Analyzer i developed in vibe coding, I tried to improve my report accordingly again using vibe coding.&lt;/p&gt;

&lt;p&gt;I tried to ask JitHub Copilot (yes at this time not anymore AmazonQ because of the limitation I got) to create PBC report for the Jira projects we are managing in our Large Scaled Organization.&lt;/p&gt;

&lt;p&gt;The powerfull result was that I provided some request to improve for example the duration of the analysis, to reuse the same approach (Flask app in python) accessing jira with JTA but not much about the graph and the rusul was really amazing... &lt;/p&gt;

&lt;h2&gt;
  
  
  First prompt:
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;Considering the Lead Time Analyzer I would like to create a new Flask&lt;br&gt;
 Application which calculate the Process Behavior Charts for each &lt;br&gt;
projects identified during the retrieval of project connected to the &lt;br&gt;
first input query.&lt;br&gt;
I would like to have a chart which represent for each projects the Medium&lt;br&gt;
 Lead time and the 85% lead time threshold calculated.&lt;br&gt;
I would like than to see the real lead time calculated each month &lt;br&gt;
depicted in the diagram starting from august 2024.&lt;br&gt;
My intention like per the article &lt;br&gt;
&lt;a href="https://www.infoq.com/articles/DORA-metrics-PBCs/" rel="noopener noreferrer"&gt;https://www.infoq.com/articles/DORA-metrics-PBCs/&lt;/a&gt; is to identify trends&lt;br&gt;
 and spike so that we can identify and address issues. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Response
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;It was shared the code:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;📦 Created Files:&lt;br&gt;
&lt;strong&gt;pbc_analyzer.py&lt;/strong&gt; - Core analysis engine that:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Calculates median and 85th percentile lead times per project&lt;/li&gt;
&lt;li&gt;Computes control limits (UCL/LCL) using ±3σ methodology&lt;/li&gt;
&lt;li&gt;Groups data by month starting from August 2024&lt;/li&gt;
&lt;li&gt;Detects special causes (points outside control limits)&lt;/li&gt;
&lt;li&gt;Identifies trends (7+ consecutive increases/decreases)&lt;/li&gt;
&lt;li&gt;Assesses process stability&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;pbc_web_app.py&lt;/strong&gt; - Flask application (standalone on port 5500)&lt;/p&gt;

&lt;p&gt;templates/pbc_analyzer.html - Beautiful web interface with:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Interactive Chart.js visualizations&lt;/li&gt;
&lt;li&gt;Monthly trend lines for mean, median, and P85&lt;/li&gt;
&lt;li&gt;Control limit boundaries displayed&lt;/li&gt;
&lt;li&gt;Color-coded stability status&lt;/li&gt;
&lt;li&gt;Special cause and trend alerts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;pbc_config.json&lt;/strong&gt; - Configuration file with defaults&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PBC_README.md&lt;/strong&gt; - Complete documentation&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;and than this nice report:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;🎯 Key Features:&lt;br&gt;
✅ Median &amp;amp; P85 calculations per project&lt;br&gt;
✅ Monthly aggregation starting August 2024&lt;br&gt;
✅ Control charts with UCL/LCL (±3σ)&lt;br&gt;
✅ Special cause detection (outliers)&lt;br&gt;
✅ Trend detection (7+ consecutive points)&lt;br&gt;
✅ Process stability assessment&lt;br&gt;
✅ Multi-project analysis from single JQL query&lt;br&gt;
✅ Interactive visualizations showing all metrics on one chart&lt;/p&gt;

&lt;h2&gt;
  
  
  Second prompt
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;In the log I do not see the query executed, can you add some debugging level logs which I can disable to check what query are executed? I know the input query is based on a project which started after the august 2024, but I would like to analyze the projects related to the input one which were existing before. Than I need the calculation for the following months till today&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Second response:
&lt;/h2&gt;

&lt;p&gt;**Summary of Changes&lt;/p&gt;

&lt;p&gt;I've enhanced the PBC Analyzer with the following capabilities:&lt;/p&gt;

&lt;p&gt;🐛 Debug Logging&lt;br&gt;
New checkbox in UI: "Enable Debug Logging" to see all JQL queries being executed&lt;br&gt;
Detailed query logging: Shows every JQL query executed against Jira&lt;br&gt;
Progress tracking: See which projects are being fetched and how many issues found&lt;br&gt;
🔍 Related Project Discovery&lt;br&gt;
The analyzer now works like the PI analyzer:&lt;/p&gt;

&lt;p&gt;Executes your initial query (e.g., a project that started after Aug 2024)&lt;br&gt;
Discovers related projects through:&lt;br&gt;
Parent/child relationships&lt;br&gt;
Epic links&lt;br&gt;
Issue links (blocks, relates, etc.)&lt;br&gt;
Fetches data from ALL related projects starting from August 2024, even if those projects existed before&lt;br&gt;
📊 Enhanced Analysis&lt;br&gt;
Monthly calculations from Aug 2024 to today for all discovered projects&lt;br&gt;
Each project gets its own PBC with control limits&lt;br&gt;
Special causes and trends detected per project&lt;/p&gt;

&lt;h2&gt;
  
  
  Third prompt
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;I see the analysis is done only on initial project but I would like to see the analysis also to all the connected Jira projects following the whole hierarchy (for each Business initiatives we should collect the related feature and sub-feature and than epics in each other projects like we did in original Lead time analyzer)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Third response
&lt;/h2&gt;

&lt;p&gt;Final graphs&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%2F7ysdqkqt9aiwbtiqsh3a.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%2F7ysdqkqt9aiwbtiqsh3a.png" alt="Console and whole analysis report" width="800" height="527"&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%2Fwmj1xemts9xbh4apd5zm.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%2Fwmj1xemts9xbh4apd5zm.png" alt="Project 1" width="800" height="235"&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%2Fmn32rxqfdlfo7km4xiy9.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%2Fmn32rxqfdlfo7km4xiy9.png" alt="Project 2" width="800" height="234"&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%2Fmk3ydaoixfddycntgxt0.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%2Fmk3ydaoixfddycntgxt0.png" alt="Project 3" width="800" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  My comments
&lt;/h2&gt;

&lt;p&gt;"Vibe coding" proved to be an excellent way to quickly transform an initial idea into a functional application that can be further refined. The most impressive takeaway was the AI's ability to extract additional information directly from the article without requiring manual data definitions or graph formatting. Achieving such a great result in just a few minutes was truly remarkable.&lt;/p&gt;

</description>
      <category>python</category>
      <category>leadership</category>
      <category>githubcopilot</category>
    </item>
    <item>
      <title>GitHub Copilot VS Amazon Q</title>
      <dc:creator>Pietro Maffi</dc:creator>
      <pubDate>Tue, 26 Aug 2025 12:16:42 +0000</pubDate>
      <link>https://dev.to/mpietro/github-copilot-vs-amazon-q-1e1l</link>
      <guid>https://dev.to/mpietro/github-copilot-vs-amazon-q-1e1l</guid>
      <description>&lt;p&gt;I have been working these days on extracting more valuable data from Jira with the help of AI, so I can build useful applications around it. &lt;br&gt;
I started with Amazon Q, and the experience was impressive. &lt;br&gt;
In a short time I had an app with a clean interface and a great PDF report, highly recommended if you have access to it 🚀&lt;/p&gt;

&lt;p&gt;Then I was asked to switch to GitHub Copilot, Copilot is the company approved assistant. &lt;br&gt;
For clarity, I am not writing business logic, only retrieving and displaying Jira data. &lt;br&gt;
I began with Copilot the same way I did with Amazon Q, a prompt that explained what I needed, and a request to use a similar app I had already created as a starting point.&lt;/p&gt;

&lt;p&gt;The first result did not work at all, lots of major errors in the code. I asked Copilot to fix them one by one, the code evolved a lot, after about 30 minutes I finally saw the first UI, which was far below what I had with Q. &lt;br&gt;
When I tried the app, more issues appeared, incorrect functions, crashes, broken HTML, wrong Ajax submission, and messy JavaScript. &lt;/p&gt;

&lt;p&gt;Time for lunch 😅&lt;/p&gt;

&lt;p&gt;Back from lunch, I asked Q to fix the application and make it behave like the working one in my repo. Surprise, with a single prompt I got a clean, working version that matched my expectations. &lt;br&gt;
Smooth, fast, and stable 🤖✨&lt;/p&gt;

&lt;p&gt;A few reflections, your mileage may vary, and context matters a lot. Both tools can help, the key is tight feedback, real outputs and logs, and a good reference implementation. Sometimes switching tools is faster than wrestling with a stuck conversation. Most of all, keep it playful, keep learning, and ship small wins often 😊&lt;/p&gt;

&lt;p&gt;Out of curiosity, I shared Q’s solution with Copilot to see how it would respond. Here below I share that response that was a bit surprising:&lt;/p&gt;

&lt;p&gt;_&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;I understand, and I apologize for my previous less effective attempts.
 You're absolutely right - Amazon Q took a more comprehensive and
 systematic approach by:

Making the backend consistent with the PI analyzer's pattern (always returning JSON)
Fixing the corrupted HTML structure
Implementing proper AJAX handling similar to the PI analyzer
Adding proper success/error flags in the responses
This is a great learning moment for me - instead of making incremental fixes, I should have:

Recognized that you already had a working pattern in the PI analyzer
Compared the two implementations side by side
Aligned the Epic analyzer with the proven PI analyzer pattern
Ensured consistent behavior across both analyzers
Thank you for sharing this. 
It demonstrates how Amazon Q was able to understand the broader context
 and existing patterns in your codebase to provide a more complete and effective solution. 
This is particularly valuable feedback that will help me provide better
 assistance in the future.

&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;_&lt;br&gt;
NOTE: I discovered that the major difference is related to the usage of Sonnet 4 in Amazon Q VS Sonnet 3.5 in Copilot. Now also Copilot adopted the version 4 so I'll try to continue my comparison...&lt;/p&gt;

&lt;h1&gt;
  
  
  AI #VibeCoding #Python #AmazonQ #GitHubCopilot
&lt;/h1&gt;

</description>
      <category>webdev</category>
      <category>amazonq</category>
      <category>githubcopilot</category>
      <category>vibecoding</category>
    </item>
    <item>
      <title>Python vibe coding</title>
      <dc:creator>Pietro Maffi</dc:creator>
      <pubDate>Fri, 13 Jun 2025 07:42:50 +0000</pubDate>
      <link>https://dev.to/mpietro/python-vibe-coding-3740</link>
      <guid>https://dev.to/mpietro/python-vibe-coding-3740</guid>
      <description>&lt;p&gt;A few days ago, I was asked to craft a JQL query to pull all the elements from my Jira project because, you know, numbers are everything when it comes to BI insights! 📊&lt;/p&gt;

&lt;p&gt;We’re juggling a pretty complex hierarchy:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;-&amp;gt; Initiative
   -&amp;gt; Feature
     -&amp;gt; SubFeature
       -&amp;gt; Epics (can be in another Jira project)
          -&amp;gt; Stories (and so on).
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All working in tandem across multiple teams, synchronized in one big backlog. Sounds like a fun puzzle, right? 😅&lt;/p&gt;

&lt;p&gt;But here’s the kicker: Jira simply refuses to give us a straightforward way to do this with a single JQL. Tons of articles, feature requests… it’s clear Jira’s pretty fixed in its ways, probably because of all that customization magic under the hood.&lt;/p&gt;

&lt;p&gt;So, naturally, I started thinking like a Python dev tinkering, hacking, and experimenting. And I found a pretty neat post suggesting a way to retrieve all related elements connected to an Initiative using this JQL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;project = MYPROJECT AND issuekey in childIssuesOf("MYInititative-1ID")
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This approach worked pretty well, but only for a single element at a time. Naturally, I started thinking I could leverage the API to iterate over multiple items... because why not automate the whole thing? 🚀&lt;/p&gt;

&lt;p&gt;But here’s the twist: since my last API adventure, things changed quite a bit. I moved from a Cloud instance to a Server instance. And that (surprise!) broke my usual authentication methods. The standard login? Nope, not working anymore. 😕&lt;/p&gt;

&lt;p&gt;So, I turned to 'Grok' I asked it to help me craft some code to log in and run the queries. But (plot twist!), Grok couldn’t quite deliver the right magic the different reply (and requests to fix the issues) were resulting in a classic 404 Unauthorized.🤔&lt;/p&gt;

&lt;p&gt;Undeterred, I decided to experiment some more. I tried a different approach running the request via LibreChat to see if I could crack the authentication mystery. &lt;br&gt;
Stay tuned for what I found out next...&lt;br&gt;
This was the same prompt I provided:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Considering I'm a new joiner of python, and that this code should work to connect Jira API:
`
from jira import JIRA 
host = "https://jira.Server.com/"
pat = 'yourToken' headers = JIRA.DEFAULT_OPTIONS["headers"].copy()
headers["Authorization"] = f"Bearer {pat}"
jira=JIRA(server=host, options={"headers": headers}) 
`

can you create a python script which enable me to run this query: 
`project = MYPROJECT AND issuekey in childIssuesOf("MYInititative-1ID")`
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And what I got was really surprisingly good...&lt;br&gt;
Not only a script that works but a script with steps and nice output:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Here my code&lt;/code&gt;&lt;br&gt;
&lt;a href="https://github.com/pietromaffi/jira-retriever/tree/main" rel="noopener noreferrer"&gt;github repo&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Output:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python retrieve_initiative_childs.py
🚀 Starting Jira Query Script
==================================================
✅ Successfully connected to Jira
🔍 Executing query: project = MYPROJECT AND issuekey in childIssuesOf("MYINITIATIVE-1")
📊 Found 50 issues

================================================================================
QUERY RESULTS
================================================================================

1. Issue Key: MYResult-1
   Summary: Initiative summary
   Status: ToDo
   Assignee: Unassigned
   Priority: Minor
   Issue Type: Sub-Feature
   URL: https://jira.server.com/browse/MYRESULT-4
----------------------------------------
...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Finally, I made some adjustments to the script (always with Librechat support) to retrieve all the Initiatives and gather all their related child elements into a CSV file making life easier for our BI team to analyze and work with the data seamlessly. 📊&lt;/p&gt;

&lt;p&gt;What really surprised me was the clarity and level of detail available to manage the output during execution. Often, these little nuances are overlooked by senior developers, but they can make a huge difference in troubleshooting and refining the process.&lt;/p&gt;

&lt;p&gt;It’s a reminder that sometimes, taking the time to fine tune your tools and outputs pays off in big dividends. 🚀&lt;/p&gt;

&lt;p&gt;Moreover, I was pleasantly surprised to realize that my background as a developer helped me craft effective prompts that guided the process and refined the results. To me, this underscores that vibe coding truly works hand-in-hand with developers—those who are open to experimenting, exploring, and trying new approaches. ✅&lt;/p&gt;

&lt;p&gt;It’s a powerful reminder that combining technical expertise with a curious mindset can lead to innovative solutions and exciting discoveries. 🚀 &lt;/p&gt;

</description>
      <category>ai</category>
      <category>vibecoding</category>
      <category>python</category>
      <category>atlassian</category>
    </item>
    <item>
      <title>Whish from 2045</title>
      <dc:creator>Pietro Maffi</dc:creator>
      <pubDate>Wed, 19 Mar 2025 09:09:20 +0000</pubDate>
      <link>https://dev.to/mpietro/whish-from-2045-3ec5</link>
      <guid>https://dev.to/mpietro/whish-from-2045-3ec5</guid>
      <description>&lt;p&gt;Dear Friends and Family,&lt;br&gt;
Hi everyone! Can you believe it’s already March 19, 2045? I’m sitting here on top of this nice mountain, with my electric motorbike parked outside. It’s 85% charged after today 200 km riding, from the starting 100%  charging I got from the solar like reactor I have in the garage. I wanted to write you all about how wild and wonderful life is now, 20 years after I first imagined this future. &lt;br&gt;
I’ve seen so many amazing changes, and I want to share them with you in a way even my five-year-old niece, Sofy, can understand. &lt;br&gt;
The world today is like a big, exciting playground, and technology, especially artificial intelligence, is making it so much fun!&lt;br&gt;
Let’s start with getting around. My electric motorbike? It’s a dream! It charges in just 15 minutes at one of the zillions of charging stations we’ve got now—there’s one on every corner, like candy stores! Cars and bikes don’t use gas anymore; they’re super quiet, and clean. I read in a report that electric vehicles have cut down air pollution by heaps—like 80% less smog since 2025. &lt;br&gt;
We zoom (I would say fly!) around without waking up the neighbors, and some bikes even drive themselves, keeping us safe. Imagine hopping on your bike, telling it “park!” and it just waits there for you!&lt;br&gt;
School is totally different now too. Kids like Sofy don’t sit at desks all day. Instead, she wear cool glasses that show fun lessons, like flying through space to learn about stars or building a virtual castle to understand math. &lt;br&gt;
AI helpers, like little robot friends, figure out what you love and make learning a game. A report said 90% of kids learn faster this way because it’s so exciting and suite perfectly your learning rhythm. Parents don’t even worry about homework, AI checks it for you and gives gold stars when you’re awesome!&lt;br&gt;
Work? &lt;br&gt;
Oh, it’s a blast! Robots and AI do the boring stuff—like fixing roads or stacking boxes so we get to do the fun parts. I help design electric car systems, and my AI buddy, Sparky, crunches numbers and suggests ideas faster than I can blink. A web report said the electric vehicle boom created 15 million new jobs in Europe by 2040, and AI helps us finish work early. That means more time for picnics or racing electric scooters with you all!&lt;br&gt;
Now, here’s where AI really shines helping us every day! &lt;br&gt;
Picture this: I wake up, and my AI assistant, Sparky, says, “Good morning! I’ve warmed your slippers, made your cappuccino, and planned this great tour around the mountain.” It’s like having a super-smart fairy godmother! Sparky reminds me to call my colleague, orders groceries that a little drone drops off while I'm out, and even waters my plants while I'm riding. It chats with me about my motorbike upgrades too, it’s like a friend who knows everything! Reports say AI helpers save us hours daily, so we’ve got more time to play games, visit each other, or just relax.&lt;br&gt;
Dating and making friends? That’s a hoot now! I wear a tiny watch with a 3d projectors which uses AI to find people who love the same stuff I do, like dogs or tiramisu. Last week, I met a new pal at the park because Sparky said, “Hey, she likes electric bikes too!” It’s like magic matchmaking. A study I saw online said 70% of people meet their besties or sweethearts this way now it’s fast and fun! This is making the life more easy and calm, the rate of violent discussion is almost 0. &lt;br&gt;
Our towns feel like one big happy family too. Solar like energy we have in our mini home reactor power everything, so the air’s fresh and the sky’s clear. We share electric scooters and grow food in community gardens, all watched over by AI that tells us when to water or plant or pick veggies. The other day, Sparky said, “Your tomatoes are ready!” and we had a big salad party. &lt;br&gt;
Reports say clean energy and AI have made our planet healthier, less trash we can easily burn in our home reactor without any emission, making our world more green!&lt;br&gt;
So, what’s life like in 2045? It’s like living in a fun, safe, happy world where AI helpers make every day easier, and tech like electric rides brings us closer. Let’s keep being curious and kind—like asking Sparky silly questions or sharing rides with neighbors. I love seeing this adventure with you all, and I can’t wait for our next family race, me on my bike, you with your AI sidekicks!&lt;/p&gt;

</description>
      <category>futurechallenge</category>
    </item>
    <item>
      <title>Debugging 2024 Agile Transformation: A Journey Beyond the Buzzwords adding some automated test!</title>
      <dc:creator>Pietro Maffi</dc:creator>
      <pubDate>Thu, 16 Jan 2025 16:33:32 +0000</pubDate>
      <link>https://dev.to/mpietro/debugging-2024-agile-transformation-a-journey-beyond-the-buzzwords-adding-some-automated-test-134j</link>
      <guid>https://dev.to/mpietro/debugging-2024-agile-transformation-a-journey-beyond-the-buzzwords-adding-some-automated-test-134j</guid>
      <description>&lt;p&gt;In the ever-evolving landscape of corporate transformation, the temptation to reinvent the wheel is a common pitfall. As agile coach, I have witnessed firsthand the challenges and triumphs of guiding large organizations through transformative journeys. The year 2024 has been no exception, with hashtags like "agile is dead" or "devops is dead" echoing across social media platforms, reflecting both skepticism and the need for evolution in these needs to survive the market challenges.&lt;/p&gt;

&lt;p&gt;Transformations in large companies are not mere projects; they are journeys that require time, patience, and strategic planning. The notion of starting small and scaling gradually is a good practice that cannot be overstated. It allows organizations to test, learn, and adapt without the overwhelming pressure of immediate large-scale change. This approach not only mitigates risks but also fosters a culture of continuous improvement and innovation.&lt;br&gt;
This is a recurring &lt;strong&gt;Bug&lt;/strong&gt; I see around debugging a transformation... prevent it set some automated test to prevent the full company roll out!&lt;/p&gt;

&lt;p&gt;Another the most common &lt;strong&gt;bug&lt;/strong&gt; in transformation implementation is the superficial relabeling of roles without a genuine shift in responsibilities and mindset. This can lead to confusion, resistance, and ultimately, failure to achieve the desired outcomes. True transformation requires a deep understanding of the roles and their evolution in the context of new methodologies and practices.&lt;/p&gt;

&lt;p&gt;Also in this case a simple &lt;strong&gt;automated test&lt;/strong&gt; to prevent it's asking every time you get a strange request: ok this is the new role and ne way of working but how did you ask it before the transformation? and with which role?&lt;/p&gt;

&lt;p&gt;Large-scale transformations necessitate a reevaluation of traditional budget management and customer interaction models. The rigidity of conventional contracting is often at odds with the dynamic nature of agile and DevOps practices. Organizations must embrace flexible budgeting and collaborative customer engagement to align with the iterative and responsive nature of these methodologies.&lt;/p&gt;

&lt;p&gt;One &lt;strong&gt;automated test&lt;/strong&gt; for this is: how many new type of contract are you opening? How are you changing the ongoing contracts?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;#LessonLearned&lt;/strong&gt;&lt;br&gt;
Transformation is a journey that begins with the guidance of experienced agile coaches but can only succeed by listening to internal voices and accepting that the destination may differ from the board initial vision. It is a path of discovery, adaptation, and growth, where the end goal is not a fixed point but a continuous evolution towards greater efficiency, innovation, and customer satisfaction.&lt;/p&gt;

</description>
      <category>newyearchallenge</category>
      <category>career</category>
      <category>agile</category>
      <category>devops</category>
    </item>
  </channel>
</rss>
