<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Opinion Article Archives - Crossjoin</title>
	<atom:link href="https://www.crossjoin.pt/category/opinion-article/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.crossjoin.pt/category/opinion-article/</link>
	<description>Perform to perfection</description>
	<lastBuildDate>Thu, 16 Jan 2025 15:18:26 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://www.crossjoin.pt/wp-content/uploads/2022/01/favicon_cross.png</url>
	<title>Opinion Article Archives - Crossjoin</title>
	<link>https://www.crossjoin.pt/category/opinion-article/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Performance Management in Software Projects</title>
		<link>https://www.crossjoin.pt/performance-management-in-software-projects/</link>
					<comments>https://www.crossjoin.pt/performance-management-in-software-projects/#comments</comments>
		
		<dc:creator><![CDATA[crossjoin]]></dc:creator>
		<pubDate>Wed, 21 Feb 2024 12:07:18 +0000</pubDate>
				<category><![CDATA[Article]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Crossjoin]]></category>
		<category><![CDATA[Opinion Article]]></category>
		<guid isPermaLink="false">https://www.crossjoin.pt/?p=20291</guid>

					<description><![CDATA[<p>The post <a href="https://www.crossjoin.pt/performance-management-in-software-projects/">Performance Management in Software Projects</a> appeared first on <a href="https://www.crossjoin.pt">Crossjoin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
		<div id="fws_69f0632ad22b2"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row top-level"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_69f0632ad3098"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img fetchpriority="high" decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="396" width="1024" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/White_paper_Jorge-Rodrigues.jpg" alt="Performance Management article" srcset="https://www.crossjoin.pt/wp-content/uploads/2024/02/White_paper_Jorge-Rodrigues.jpg 1024w, https://www.crossjoin.pt/wp-content/uploads/2024/02/White_paper_Jorge-Rodrigues-300x116.jpg 300w, https://www.crossjoin.pt/wp-content/uploads/2024/02/White_paper_Jorge-Rodrigues-768x297.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" />
          </div>
        </div>
      </div>
    </div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_69f0632ad4a10"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h1>An end-to-end view</h1>
	</div>
</div>




			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_69f0632ad5973"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2><span style="color: #e61d30;">1-</span> Abstract</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>In the rapidly evolving landscape of software development, performance management plays a crucial role throughout the entire lifecycle of software projects. This paper emphasises the importance of continuous performance management from initiation to delivery and ongoing maintenance, showcasing its integral role in achieving project objectives, enhancing software quality, and ensuring customer satisfaction.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2><span style="color: #e61d30;">2-</span> Introduction</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember706" class="ember-view reader-content-blocks__paragraph">Traditionally, performance management in large software projects is treated as an <strong>afterthought</strong>. The project progresses through its normal development cycle, and at a certain stage—usually after completing several development cycles—load and performance tests are conducted to determine if the system meets the &#8220;performance barrier.&#8221; This barrier assesses whether the current performance levels of the system are satisfactory for meeting user or client needs. If all goes well, the project advances to its next stages.</p>
<p id="ember707" class="ember-view reader-content-blocks__paragraph">However, it&#8217;s unlikely for a large system to pass performance testing without issues. This leads to a few possible scenarios:</p>
<ol>
<li><strong>Tuning Performance Problems</strong>: This is probably the most common scenario. Detected performance issues often stem from a lack of performance-oriented coding practices and tools and must be addressed by carefully analyzing performance bottlenecks and retesting.</li>
<li><strong>Structural Performance Problems</strong>: These issues are often the most challenging to resolve and typically originate from poor architectural design, inadequate tool and framework selection, or unsound software engineering practices.</li>
<li><strong>Hardware Performance Problems</strong>: This occurs when hardware sizing has been inappropriately planned, requiring either a scaling down of performance targets or the procurement of hardware upgrades.</li>
</ol>
<p id="ember709" class="ember-view reader-content-blocks__paragraph">It&#8217;s also common for performance testing to be neglected, with problems only emerging after the system goes live. In such cases, operations and development teams must enter &#8220;firefighting&#8221; mode to manage the situation as effectively as possible.</p>
<p id="ember710" class="ember-view reader-content-blocks__paragraph">Any of these scenarios is far from ideal, potentially leading to serious delays, increased costs, frustrated customers, and unusable systems. The severity of the impact depends on the type of performance issue encountered.</p>
<p id="ember711" class="ember-view reader-content-blocks__paragraph">For example, identifying a structural performance problem at this stage could take months and significant resources to resolve, putting the entire project at risk.</p>
<p id="ember712" class="ember-view reader-content-blocks__paragraph">It&#8217;s important to recognise that performance issues can arise at any time after the system goes live.</p>
<p id="ember713" class="ember-view reader-content-blocks__paragraph">Performance management is not a one-time concern; it is an integral part of the software development lifecycle and must be considered in any serious development program. Introducing performance management early in the program— ideally before it starts — significantly reduces the likelihood of encountering performance issues later on.</p>
<p id="ember714" class="ember-view reader-content-blocks__paragraph">Within the context of software development, performance management involves the continuous monitoring and improvement of various aspects of software performance throughout its lifecycle. This white paper explores why performance management is a critical, ongoing process and not merely a phase in the software project lifecycle.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2><span style="color: #e61d30;">3-</span> Performance Management in Software development</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember716" class="ember-view reader-content-blocks__paragraph">Performance management in software projects encompasses the establishment and monitoring of performance metrics and benchmarks, aimed at ensuring and enhancing the functional and operational aspects of the software. Key concepts include efficiency, responsiveness, scalability, and reliability, which are vital for the success of any software application.</p>
<ul>
<li id="ember717" class="ember-view reader-content-blocks__paragraph"><strong>System Efficiency</strong>: System efficiency refers to the ability of a software system to perform its functions accurately and quickly, while utilising minimal resources such as CPU, memory, and disk space. Efficient software systems execute tasks in a timely manner without wasting resources. This involves optimizing algorithms, reducing unnecessary computations, and minimizing resource consumption to ensure optimal performance.</li>
<li id="ember718" class="ember-view reader-content-blocks__paragraph"><strong>Responsiveness:</strong> Responsiveness pertains to how quickly a software system reacts to user input or external events. A responsive system provides timely feedback to user actions, ensuring that users do not experience significant delays or lags when interacting with the application. This involves designing interfaces and processing logic to prioritize user interactions and minimize latency, ensuring a smooth and interactive user experience.</li>
<li id="ember719" class="ember-view reader-content-blocks__paragraph"><strong>Scalability</strong>: Scalability refers to the ability of a software system to handle increasing workload or user demand without compromising performance or functionality. A scalable system can efficiently accommodate growing data volumes, user traffic, or concurrent users by gracefully expanding resources or distributing workload across multiple servers or resources. This involves designing architecture and components in a way that allows for easy horizontal or vertical scaling as needed.</li>
<li id="ember720" class="ember-view reader-content-blocks__paragraph"><strong>Reliability</strong>: Reliability denotes the ability of a software system to consistently perform its intended functions accurately and predictably, without failures or errors. A reliable system operates as expected under normal conditions and gracefully handles exceptions or failures, ensuring uninterrupted service for users. This involves implementing robust error handling, fault tolerance mechanisms, and rigorous testing practices to identify and mitigate potential failures or issues that could impact system reliability.</li>
</ul>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2><span style="color: #e61d30;">4-</span> The lifecycle of software projects</h2>
<h2></h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>From a performance standpoint, a software development lifecycle (SDLC) includes several phases: Pre-Program (planning), Program setup (when the program starts), Development, Quality Assurance, Operations &amp; Maintenance. Each of these phases has distinct objectives and activities, but they must all consider performance management to ensure the success and sustainability of the software project.</p>
	</div>
</div>



<div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="404" width="400" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205212-e1708549188980.png" alt="Performance Framework"  />
          </div>
        </div>
      </div>
    </div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<ul>
<li> <strong>Pre-Program:</strong> Planning with realistic and measurable performance goals is crucial. This phase involves defining key performance indicators (KPIs) and benchmarks that align with project objectives.</li>
<li> <strong>Program setup:</strong> The system architecture and design should facilitate the achievement of performance goals. This phase should focus on designing for scalability, efficiency, and reliability.</li>
<li><strong>Development:</strong> Developers should write optimized code with performance in mind, employing practices that enhance performance and resource utilization.</li>
<li>Quality assurance: Performance testing is critical to identify and address bottlenecks. This phase ensures that the software meets the set performance criteria under various conditions, including load and performance testing both for individual components and end-to-end (from the user’s perspective).</li>
<li><strong>Operations:</strong> Monitoring and managing the performance in a real-world setting is crucial for understanding the software&#8217;s behavior under different load conditions.</li>
<li>Maintenance: Ongoing performance evaluation and enhancements are necessary to adapt to changing user needs and technological advancements.</li>
</ul>
<p><span id="more-20291"></span></p>
<p><!--more--></p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2><span style="color: #e61d30;">5-</span> Integrating Performance Management</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>As part of its performance focused business model, Crossjoin has developed an integrated Performance Management Framework that covers all the required activities for a successful program, from a performance perspective.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="826" width="1863" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205146.jpg" alt="Performance Management Framework_image" srcset="https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205146.jpg 1863w, https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205146-300x133.jpg 300w, https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205146-1024x454.jpg 1024w, https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205146-768x341.jpg 768w, https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-205146-1536x681.jpg 1536w" sizes="(max-width: 1863px) 100vw, 1863px" />
          </div>
        </div>
      </div>
    </div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><strong>Pre-Program</strong></h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember735" class="ember-view reader-content-blocks__paragraph">Before a program starts, it&#8217;s crucial to ensure that the program&#8217;s functional and technical objectives are aligned with its performance goals. This alignment should be considered not only from a technical architecture perspective but also from budgetary, monitoring, and observability standpoints:</p>
<ul>
<li id="ember736" class="ember-view reader-content-blocks__paragraph"><strong>Performance, Scalability, Security &amp; Reliability Requirements: </strong>Identifying key requirements for performance, scalability, security, and reliability is fundamental for a successful program. These requirements can be incorporated into the program&#8217;s RFP (Request for Proposal) or, for in-house development, into the technical architecture and hardware specifications. The primary benefit of establishing these requirements upfront is to encourage all stakeholders to consider the system&#8217;s performance envelope in all program activities. For example, should the CI/CD pipeline include regular load and performance tests? What are the budget implications? Who is responsible for developing these tests, what data will be used, what hardware and tools are required, …?</li>
<li id="ember737" class="ember-view reader-content-blocks__paragraph"><strong>Observability Requirements: </strong>True end-to-end performance understanding comes from comprehending the performance of each system component, including hardware metrics, database behavior, component APIs, workflows, microservices, apps, and front-ends. These components, often a mix of off-the-shelf and custom developments, require end-to-end monitoring for full observability, achievable through market software or in-house development, often representing a project in its own right.</li>
<li id="ember738" class="ember-view reader-content-blocks__paragraph"><strong>Tool Selection: </strong>Choosing foundational tools for the program must account for performance requirements. Often, selected tools may have inherent limitations in throughput, design, or architecture, or may not have been tested against the program&#8217;s processing requirements. These foundational choices must be fit for purpose<strong><strong>.</strong></strong></li>
<li id="ember739" class="ember-view reader-content-blocks__paragraph"><strong>KPIs to Measure: </strong>Performance KPIs define what &#8216;done&#8217; looks like for the performance aspect of the program. They enable objective discussions around performance with vendors and internal teams by allowing them to test software against these KPIs.</li>
<li id="ember740" class="ember-view reader-content-blocks__paragraph"><strong>Performance Budget: </strong>Performance-related activities need dedicated budgeting. If performance considerations are secondary, this aspect of the budget will likely be insufficient, potentially necessitating additional funds for program completion. Budget considerations should cover the performance team, hardware environment for performance testing, observability projects, etc.</li>
<li id="ember741" class="ember-view reader-content-blocks__paragraph"><strong>PoC Implementation: </strong>For many programs, specific Proofs of Concept (PoCs) are necessary to verify that selected tools and architectures can meet performance targets. This validation should occur before tool selection and development commencement<strong><strong><strong>.</strong></strong></strong></li>
<li id="ember742" class="ember-view reader-content-blocks__paragraph"><strong>Architecture Design: </strong>A specific area of architecture design should focus on performance, addressing how the technical architecture will meet performance, scalability, security, and reliability requirements beyond just functional needs.</li>
<li class="ember-view reader-content-blocks__paragraph"><strong>Team and Capacity Planning: </strong>Incorporating performance &#8220;by design&#8221; requires careful planning and budgeting for design, development, testing, and operation within the system&#8217;s maximum performance envelope.</li>
</ul>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><strong>Program setup</strong></h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember745" class="ember-view reader-content-blocks__paragraph">During the initial stages of the program, key activities such as establishing a performance baseline, defining best practices, designing, and implementing the systems architecture with performance in mind, setting up observability and infrastructure, designing performance and load testing, and creating the correct blueprint for cloud services utilization are crucial.</p>
<p id="ember746" class="ember-view reader-content-blocks__paragraph">From a performance standpoint, these activities demand expert knowledge and tools for success. It is highly unlikely that an in-house team or a generalist vendor will possess the necessary skills and expertise. Therefore, adopting a complementary approach with expert services from a trusted provider, such as Crossjoin, is generally considered the best strategy</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3 id="ember747" class="ember-view"><strong>Development</strong></h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember748" class="ember-view reader-content-blocks__paragraph">During the development stage there are several key activities required to make sure the end software product performs according to expectations:</p>
<ul>
<li id="ember749" class="ember-view reader-content-blocks__paragraph"> <strong>Auditing &amp; mentoring:</strong> an external party working with the team to ensure code reviews, enforce best practices and provide expert guidance on methodology, framework usage, and coding best practices for performance amp; security.</li>
<li class="ember-view reader-content-blocks__paragraph"><strong>Observability implementation:</strong> working in tandem with the program development team to make sure observability requirements are met and tested together with the remaining program deliverables.</li>
<li class="ember-view reader-content-blocks__paragraph"><strong>Program automation:</strong> performance and load testing and automate their execution on the CI/CD pipeline.</li>
</ul>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3 id="ember752" class="ember-view"><strong>Quality Assurance</strong></h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember753" class="ember-view reader-content-blocks__paragraph">During this stage, a series of activities are dedicated to ensuring that performance requirements and KPIs are met. The initial focus of the performance and load testing activities is to establish a known correlation between the hardware, system configuration, data set, and load in the testing environment and the production environment to ensure that testing is representative. Once this correlation is achieved, a series of load testing runs simulating different usage profiles for the system are performed, and the results are compared with the agreed-upon KPIs and performance requirements.</p>
<p id="ember754" class="ember-view reader-content-blocks__paragraph">After the test results are available, a specific, performance-focused methodology is applied to identify potential bottlenecks and issues, along with recommendations for resolving these problems. The performance team collaborates closely with the program team to ensure that all identified problem areas are addressed.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3 id="ember755" class="ember-view"><strong>Operations &amp; Maintenance</strong></h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember756" class="ember-view reader-content-blocks__paragraph">After the program goes live there are several key activities that are part of the on-going performance management activities. For large programs, it makes sense to have a continuous performance service that works together with the regular operations team and performs L3 activities to:</p>
<ul>
<li id="ember757" class="ember-view reader-content-blocks__paragraph"><strong>Performance early warning: </strong>create a set of automations and dashboards to automatically identify and resolve potential performance problems before they happen. Crossjoin has identified many patterns that arise before a problem becomes a major production incident. Our application support and maintenance teams, together with our competence center can help diagnose and fix many of these problems before they are perceptible by the customers.</li>
<li id="ember758" class="ember-view reader-content-blocks__paragraph"><strong>Firefighting and systems recovery:</strong> once the problem is established, our application support and maintenance teams can help diagnose and recommend a solution for any end-to-end performance problem.</li>
</ul>
<p id="ember759" class="ember-view reader-content-blocks__paragraph">Most traditional support and operations teams have a segmented/partial view of the problem &#8211; the DBA looks at databases, the network admin at networks, the application support team at application problems. What is lacking in this view, is the ability to look at problems from an end-to-end perspective and diagnose problems without losing this end-to-end mindset. By having a team focused on end-to-end performance, there is a focus on accountability and problem resolution and less on finger-pointing and &#8220;not my problem&#8221; syndrome.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2 id="ember760" class="ember-view"><span style="color: #e61d30;">6-</span> Where to start?</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="459" width="582" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-204622.png" alt="PMW_Image" srcset="https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-204622.png 582w, https://www.crossjoin.pt/wp-content/uploads/2024/02/Screenshot-2024-02-21-204622-300x237.png 300w" sizes="(max-width: 582px) 100vw, 582px" />
          </div>
        </div>
      </div>
    </div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p id="ember762" class="ember-view reader-content-blocks__paragraph">At Crossjoin, most of our customer engagements start at the operations and maintenance stage. This is quite understandable, since at this stage performance problems are no longer a <strong>risk,</strong> and they quite often materialize as an <strong>issue</strong> that requires urgent attention by a firefighting team.<br />
It is also very common, that after the scare, we establish long-term relationships with our customers where we play the role of making sure the system behaves as expected on a more permanent basis.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2><span style="color: #e61d30;">7-</span> Assessing performance maturity</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>For customers focusing on end-to-end performance, it is very important to assess the current maturity of its existing processes. At Crossjoin we development a Performance Management Framework compliance service that enables customers to benchmark their maturity level against best-practice.</p>
	</div>
</div>



<div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="364" width="564" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/matrix.png" alt="Software Programa Performance Maturity Matrix" srcset="https://www.crossjoin.pt/wp-content/uploads/2024/02/matrix.png 564w, https://www.crossjoin.pt/wp-content/uploads/2024/02/matrix-300x194.png 300w" sizes="(max-width: 564px) 100vw, 564px" />
          </div>
        </div>
      </div>
    </div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2 id="ember767" class="ember-view"><span style="color: #e61d30;">8-</span> Conclusion</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>End-to-end performance management results in higher quality software, increased customer satisfaction, cost efficiency, and a stronger competitive edge. It challenges the misconception that performance is only a concern during the later stages of development by underscoring its significance throughout the project lifecycle.<br />
Performance management is a critical and ongoing process in software development, extending well beyond mere testing and deployment. Integrating performance management throughout the software development lifecycle is crucial for delivering software products that are not only high in quality but also efficient and reliable.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="120" width="120" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/Jorge-Rodrigues_image.png" alt="Image of Crossjoin&#039;s Associate Partner" srcset="https://www.crossjoin.pt/wp-content/uploads/2024/02/Jorge-Rodrigues_image.png 120w, https://www.crossjoin.pt/wp-content/uploads/2024/02/Jorge-Rodrigues_image-100x100.png 100w" sizes="(max-width: 120px) 100vw, 120px" />
          </div>
        </div>
      </div>
    </div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p><strong>Jorge Rodrigues</strong><br />
Associate Partner</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="sharing-default-minimal"><div class="nectar-social default" data-position="left" data-color-override="only_when_needed"><div class="nectar-social-inner"><a class='facebook-share nectar-sharing' href='#' title='Share this'>  <i class='fa fa-facebook'></i> <span class='social-text'>Share</span> </a><a class='twitter-share nectar-sharing' href='#' title='Share this'> <i class='fa icon-salient-x-twitter'></i> <span class='social-text'>Share</span> </a><a class='linkedin-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-linkedin'></i> <span class='social-text'>Share</span> </a></div></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="img-with-aniamtion-wrap  custom-size" data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="none" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <a href="https://www.crossjoin.pt/crossjoin-at-mwc-unlock-the-connectivity-potential-join-us/" target="_blank" class="">
              <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="403" width="600" data-animation="none" src="https://www.crossjoin.pt/wp-content/uploads/2024/02/MWC_Image_website-1-600x403.jpg" alt="Image about MWC" srcset="https://www.crossjoin.pt/wp-content/uploads/2024/02/MWC_Image_website-1-600x403.jpg 600w, https://www.crossjoin.pt/wp-content/uploads/2024/02/MWC_Image_website-1-900x604.jpg 900w, https://www.crossjoin.pt/wp-content/uploads/2024/02/MWC_Image_website-1-400x269.jpg 400w" sizes="(max-width: 600px) 100vw, 600px" />
            </a>
          </div>
        </div>
      </div>
      </div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p><a href="https://www.crossjoin.pt/crossjoin-at-mwc-unlock-the-connectivity-potential-join-us/">Meet us at MWC</a></p>
	</div>
</div>




			</div> 
		</div>
	</div> 
</div></div>
<p>The post <a href="https://www.crossjoin.pt/performance-management-in-software-projects/">Performance Management in Software Projects</a> appeared first on <a href="https://www.crossjoin.pt">Crossjoin</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.crossjoin.pt/performance-management-in-software-projects/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Managing Multigenerational Teams</title>
		<link>https://www.crossjoin.pt/managing-multigenerational-teams/</link>
					<comments>https://www.crossjoin.pt/managing-multigenerational-teams/#respond</comments>
		
		<dc:creator><![CDATA[crossjoin]]></dc:creator>
		<pubDate>Mon, 13 Nov 2023 15:17:45 +0000</pubDate>
				<category><![CDATA[Opinion Article]]></category>
		<guid isPermaLink="false">https://www.crossjoin.pt/?p=19428</guid>

					<description><![CDATA[<p>The post <a href="https://www.crossjoin.pt/managing-multigenerational-teams/">Managing Multigenerational Teams</a> appeared first on <a href="https://www.crossjoin.pt">Crossjoin</a>.</p>
]]></description>
										<content:encoded><![CDATA[
		<div id="fws_69f0632ae20fa"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				<div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="fade-in" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="396" width="1024" data-animation="fade-in" src="https://www.crossjoin.pt/wp-content/uploads/2023/11/artigo_nuno_valente.jpg" alt="" srcset="https://www.crossjoin.pt/wp-content/uploads/2023/11/artigo_nuno_valente.jpg 1024w, https://www.crossjoin.pt/wp-content/uploads/2023/11/artigo_nuno_valente-300x116.jpg 300w, https://www.crossjoin.pt/wp-content/uploads/2023/11/artigo_nuno_valente-768x297.jpg 768w" sizes="(max-width: 1024px) 100vw, 1024px" />
          </div>
        </div>
      </div>
    </div><div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>Multigenerational teams are a common reality in companies, but managing them can be a challenge. This article will help you identify, understand and take advantage of generational differences within the team.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><span style="color: #e61d30;">1 &#8211;</span> Find social common ground. Understand the zeitgeist.</h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>From time to time, I like to play the &#8220;Generation Gap Challenge&#8221;, where I post a movie, TV Series, singer, etc., and I ask my teams. &#8220;Who knows this without going to Google?&#8221;</p>
<p>You&#8217;ll be amazed at the results when some of your colleagues&#8217; age gap sometimes spans twenty-plus years. While the young crowd might not know anything about Knight Rider and show no interest in it, the more mature ones will also baulk at the latest short video social network trend.</p>
<p>The gap is real, not only in what we consume but how we consume it. Many of us might have needed to watch a show at the exact time it was being broadcast, while nowadays, one can see the number of views that a random YouTube video was replayed. These differences can be seen in our behaviours, and we were and are shaped by a social surrounding that changes very quickly.</p>
<p>Foster conversations around these topics to smooth out the bump of the gap and create empathy between your colleagues. Instil curiosity about how it is and how it was to strengthen the team bonds. Be the one that starts the conversation, questioning what these kids are up to nowadays, and be ready to accept your age and the less glamorous pictures of your past.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><span style="color: #e61d30;">2 &#8211;</span> Seniority is not an age nor the time spent on the job.</h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>Certain characteristics aren&#8217;t a product of how old you are nor how much you have been doing the task at hand. Accumulated experience requires variety, challenge, and discomfort that translates to growth pains. While one can experience them all in a year, sometimes we might spend decades in such a stable environment that we become frozen or distraught by the slightest bump in the road. On the other hand, one can go through volatility and learn nothing about it while surviving it in the end. The pain was felt, and the scars are there, but nothing guarantees you&#8217;ll make it next time.</p>
<p>Push your teams to avoid desk driving as much as possible, but also provide them with the tools to build wisdom from every experience they have. There&#8217;s no worth going to hell and back if you can&#8217;t share a story about it, but certainly, there&#8217;s no story if you don&#8217;t try to knock on hell&#8217;s door.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><span style="color: #e61d30;">3 &#8211;</span> Calibrate to the seniority. Demand attitude and quality.</h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p><span style="font-weight: 400;">It&#8217;s easy to be lenient when a young coworker fails the task. We can rationalize that the person wasn&#8217;t equipped for the task; it was too complex for his seniority, and eventually, we&#8217;ll see &#8220;They tried their best&#8221; underwriting something delivered below the bar. It can be accurate, but if it is, we have already failed before even starting. On the other hand, sometimes it looks so quick and easy that we skimp on our duties.</span></p>
<p><span style="font-weight: 400;">Don&#8217;t get me wrong. You should not push unskilled teammates to accept the responsibility for handsprings with somersaults and twists when they didn&#8217;t try a simple backflip. As a manager, you need to understand the skill boundaries of your teammates and put them working at their edge where they can clearly see the next difficulty level, but there&#8217;s a chance that the tasks at hand are simply put easy.</span></p>
<p><span style="font-weight: 400;">Quality first principles are independent of how challenging a task is. They are the support beams for whatever you&#8217;re building, whether committed to a ten-storey building or a shed. They aren&#8217;t negotiable if you&#8217;re too young or too tenured, since they are common ground for all, and this is when attitude makes a difference. We shouldn&#8217;t slack when it looks too easy, or no one seems to be looking. We shouldn&#8217;t find an excuse when the bar was slightly higher than the last time. It really doesn&#8217;t matter how experienced one is if attitude and quality are overlooked.</span></p>
<p><span style="font-weight: 400;">Gauging what terrain your teammates can handle is a shared, never-ending task between them and you, but don&#8217;t accept corner-cutting under the pressure of a tricky challenge or when it is just another walk in the park.</span></p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><span style="color: #e61d30;">4 &#8211;</span> The twenties, thirties, forties and more</h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>Usually, life changes with age. Priorities, preoccupations, responsibilities, moods, hopes and regrets.</p>
<p>While a young generation might not completely understand those changes, an older one should have already gone through many and be ready to shepherd those suffering with the changes. I often see young people switching from a more unrestrained way of life to a more demanding one when they leave academia behind and start their professional lives. For some, losing the ability to sleep late, surf mid-day or just wander around is a shock. After some years, it becomes life, and you learn how to deal with the restraints, but it&#8217;s probably not over. Eventually, other interests show up and building a family is the next step.</p>
<p>Working with multiple generations will ultimately bring some of these restrictions to the table. Being on time at the desk and becoming reliable during work hours is the beginning. Accepting that work sometimes goes offhand, and you must step up to cover someone else in the team. Your teammate must attend his kids&#8217; parents&#8217; meeting at school and will be unavailable for a few hours or just doesn&#8217;t have time for much banter during work hours. You might have that early date with the partner of your life. I could go on and on, but you get my drift.</p>
<p>Managing these situations sometimes requires transparency and sometimes needs protecting personal affairs, but all should understand where they are in their lives and respect others&#8217; choices within the constraints of a professional career and their personal lives. A multigenerational team is a benefit and not a constraint as long as you instil empathy and comprehension between all.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h3><span style="color: #e61d30;">5 &#8211;</span> Expectations and bias</h3>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h5><strong>&#8220;We should hire an intern to do that.&#8221;</strong></h5>
<p>I don&#8217;t know how often I have caught teammates saying this. Seniors tend to undervalue some tasks because they are too much of the same thing and too easy. They think they will solve the issue by pushing that workload to younger team members. Cut this in the bud since it will create a moat between tenured and younger team members while fostering a culture of disrespect for the new generations.</p>
<h5><strong>&#8220;It&#8217;s how we do it here.&#8221;</strong></h5>
<p>Be ready to explain clearly why work is done in a specific manner. If you&#8217;re hiring the smart and young, then expect them to be questioning everything. Patience might get thinner when you must repeat the same to many, but don&#8217;t fall back on the easy way out of &#8220;it is because it is&#8221;.</p>
<h5><strong>&#8220;He should work way more than me.&#8221;</strong></h5>
<p>Biology shows that age and stamina are strongly correlated. While seniors tend to believe that if you&#8217;re young, then you can handle frequent all-nighters, juniors sometimes think that seniors need to work way more than they do since their career paths are way further up on the ladder.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<h2>How to manage multigenerational teams, and where to start?</h2>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>Age and seniority gaps bring a healthy imbalance in a team. It creates growth opportunities for everyone and brings diverse thinking into problem-solving. Your task is to create an environment of respect and understanding between your team members, no matter their ages, but demanding the same work ethic and quality delivery on a difficulty and responsibility gradient. Are you feeling these issues within your teams? Do you see more critical issues that should be addressed? We&#8217;d love to know what you have to say about it, so drop your comments below to start the discussion.</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 25px;" class="divider"></div></div><div class="img-with-aniamtion-wrap " data-max-width="100%" data-max-width-mobile="default" data-shadow="none" data-animation="fade-in" >
      <div class="inner">
        <div class="hover-wrap"> 
          <div class="hover-wrap-inner">
            <img decoding="async" class="img-with-animation skip-lazy" data-delay="0" height="103" width="100" data-animation="fade-in" src="https://www.crossjoin.pt/wp-content/uploads/2023/11/tumbnail-nv.png" alt=""  />
          </div>
        </div>
      </div>
    </div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>Nuno Valente<br />
Architect</p>
	</div>
</div>



<div class="divider-wrap" data-alignment="default"><div style="height: 40px;" class="divider"></div></div>
<div class="wpb_text_column wpb_content_element " >
	<div class="wpb_wrapper">
		<p>Share on:</p>
	</div>
</div>



<div class="sharing-default-minimal"><div class="nectar-social default" data-position="left" data-color-override="only_when_needed"><div class="nectar-social-inner"><a class='facebook-share nectar-sharing' href='#' title='Share this'>  <i class='fa fa-facebook'></i> <span class='social-text'>Share</span> </a><a class='twitter-share nectar-sharing' href='#' title='Share this'> <i class='fa icon-salient-x-twitter'></i> <span class='social-text'>Share</span> </a><a class='linkedin-share nectar-sharing' href='#' title='Share this'> <i class='fa fa-linkedin'></i> <span class='social-text'>Share</span> </a></div></div></div>
			</div> 
		</div>
	</div> 
</div></div>
		<div id="fws_69f0632ae636e"  data-column-margin="default" data-midnight="dark"  class="wpb_row vc_row-fluid vc_row"  style="padding-top: 0px; padding-bottom: 0px; "><div class="row-bg-wrap" data-bg-animation="none" data-bg-animation-delay="" data-bg-overlay="false"><div class="inner-wrap row-bg-layer" ><div class="row-bg viewport-desktop"  style=""></div></div></div><div class="row_col_wrap_12 col span_12 dark left">
	<div  class="vc_col-sm-12 wpb_column column_container vc_column_container col no-extra-padding inherit_tablet inherit_phone "  data-padding-pos="all" data-has-bg-color="false" data-bg-color="" data-bg-opacity="1" data-animation="" data-delay="0" >
		<div class="vc_column-inner" >
			<div class="wpb_wrapper">
				
			</div> 
		</div>
	</div> 
</div></div>
<p>The post <a href="https://www.crossjoin.pt/managing-multigenerational-teams/">Managing Multigenerational Teams</a> appeared first on <a href="https://www.crossjoin.pt">Crossjoin</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.crossjoin.pt/managing-multigenerational-teams/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>

<!--
Performance optimized by W3 Total Cache. Learn more: https://www.boldgrid.com/w3-total-cache/

Page Caching using Disk: Enhanced 
Lazy Loading (feed)
Minified using Disk

Served from: www.crossjoin.pt @ 2026-04-28 07:35:06 by W3 Total Cache
-->