best practices Articles / Blogs / Perficient https://blogs.perficient.com/tag/best-practices-2/ Expert Digital Insights Sat, 08 Mar 2025 18:17:11 +0000 en-US hourly 1 https://blogs.perficient.com/files/favicon-194x194-1-150x150.png best practices Articles / Blogs / Perficient https://blogs.perficient.com/tag/best-practices-2/ 32 32 30508587 Responsible Design Starts within the Institution https://blogs.perficient.com/2025/03/08/responsible-design-starts-within-the-institution/ https://blogs.perficient.com/2025/03/08/responsible-design-starts-within-the-institution/#respond Sat, 08 Mar 2025 18:17:11 +0000 https://blogs.perficient.com/?p=378321

The global business landscape is complex, and responsible design has emerged as a critical imperative for organizations across sectors. It represents a fundamental shift from viewing design merely as a creative output to recognizing it as an ethical responsibility embedded within institutional structures and processes.

True transformation toward responsible design practices cannot be achieved through superficial initiatives or isolated projects. Rather, it requires deep institutional commitment—reshaping governance frameworks, decision-making processes, and organizational cultures to prioritize human dignity, social equity, and environmental stewardship.

This framework explores how institutions can move beyond performative gestures toward authentic integration of responsible design principles throughout their operations, creating systems that consistently produce outcomes aligned with broader societal values and planetary boundaries.

The Institutional Imperative

What is Responsible Design?
Responsible design is the deliberate creation of products, services, and systems that prioritize human wellbeing, social equity, and environmental sustainability. While individual designers often champion ethical approaches, meaningful and lasting change requires institutional transformation. This framework explores how organizations can systematically embed responsible design principles into their core structures, cultures, and everyday practices.

Why Institutions Matter
The imperative for responsible design within institutions stems from their unique position of influence. Institutions have extensive reach, making their design choices impactful at scale. They establish standards and expectations for design professionals, effectively shaping the future direction of the field. Moreover, integrating responsible design practices yields tangible benefits: enhanced reputation, stronger stakeholder relationships, and significantly reduced ethical and operational risks.

Purpose of This Framework
This article examines the essential components of responsible design, showcases institutions that have successfully implemented ethical design practices, and provides practical strategies for navigating the challenges of organizational transformation. By addressing these dimensions systematically, organizations can transcend isolated ethical initiatives to build environments where responsible design becomes the institutional default—creating cultures where ethical considerations are woven into every decision rather than treated as exceptional concerns.

Defining Responsible Design
Responsible design encompasses four interconnected dimensions: ethical consideration, inclusivity, sustainability, and accountability. These dimensions form a comprehensive framework for evaluating the ethical, social, and environmental implications of design decisions, ultimately ensuring that design practices contribute to a more just and sustainable world.

Interconnected Dimensions
These four dimensions function not as isolated concepts but as integrated facets of a holistic approach to responsible design. Ethical consideration must guide inclusive practices to ensure diverse stakeholder perspectives are genuinely valued and incorporated. Sustainability principles should drive robust accountability measures that minimize environmental harm while maximizing social benefit. By weaving these dimensions together throughout the design process, institutions can cultivate a design culture that authentically champions human wellbeing, social equity, and environmental stewardship in every project.

A Framework for the Future
This framework serves as both compass and blueprint, guiding institutions toward design practices that meaningfully contribute to a more equitable and sustainable future. When organizations fully embrace these dimensions of responsible design, they align their creative outputs with their deepest values, enhance their societal impact, and participate in addressing our most pressing collective challenges. The result is design that not only serves immediate business goals but also advances the greater good across communities and generations.

Ethical Consideration

Understanding Ethical Design
Ethical consideration: A thoughtful evaluation of implications across diverse stakeholders. This process demands a comprehensive assessment of how design decisions might impact various communities, particularly those who are vulnerable or historically overlooked. Responsible designers must look beyond intended outcomes to anticipate potential unintended consequences that could emerge from their work.

Creating Positive Social Impact
Beyond harm prevention, ethical consideration actively pursues opportunities for positive social impact. This might involve designing solutions that address pressing social challenges or leveraging design to foster inclusion and community empowerment. When institutions weave ethical considerations throughout their design process, they position themselves to contribute meaningfully to social equity and justice through their creations.

Implementation Strategies
Organizations can embed ethical consideration into their practices through several concrete approaches: establishing dedicated ethical review panels, conducting thorough stakeholder engagement sessions, and developing robust ethical design frameworks. By placing ethics at the center of design decision-making, institutions ensure their work not only reflects their core values but also advances collective wellbeing across society.

Inclusive Practices

Understanding Inclusive Design
Inclusive practices: Creating designs that meaningfully serve and represent all populations, particularly those historically marginalized. This approach demands that designers actively seek diverse perspectives, challenge their inherent biases, and develop solutions that transcend physical, cognitive, cultural, and socioeconomic barriers. By centering previously excluded voices, inclusive design creates more robust and universally beneficial outcomes.

Empowering Marginalized Communities
True inclusive design transcends mere accommodation—it fundamentally shifts power dynamics by elevating marginalized communities from subjects to co-creators. This transformation might involve establishing paid consulting opportunities for community experts, creating accessible design workshops in underserved neighborhoods, or forming equitable partnerships where decision-making authority is genuinely shared. When institutions embrace these collaborative approaches, they produce designs that authentically address community needs while building lasting relationships based on mutual respect and shared purpose.

Implementation Strategies
Organizations can systematically embed inclusive practices by recruiting design teams that reflect diverse lived experiences, conducting immersive community-based research with appropriate compensation for participants, and establishing measurable inclusive design standards with accountability mechanisms. By integrating these approaches throughout their processes, institutions not only create more accessible and equitable designs but also contribute to dismantling systemic barriers that have historically limited full participation in society.

Sustainability

Definition and Core Principles
Sustainability: Minimizing environmental impact and resource consumption across the entire design lifecycle. This comprehensive approach spans from raw material sourcing through to end-of-life disposal, challenging designers to eliminate waste, preserve natural resources, and significantly reduce pollution. Sustainable design necessitates careful consideration of long-term environmental consequences, including addressing critical challenges like climate change, habitat destruction, and biodiversity loss.

Beyond Harm Reduction
True sustainability transcends mere harm reduction to actively generate positive environmental outcomes. This transformative approach creates products and services that harness renewable energy, conserve vital water resources, or restore damaged ecosystems. When institutions fully embrace sustainability principles, they contribute meaningfully to environmental resilience and help foster regenerative systems that benefit both present and future generations.

Implementation Strategies
Organizations can embed sustainability through strategic, measurable approaches including rigorous lifecycle assessments, integrated eco-design methodologies, and significant investments in renewable energy infrastructure and waste reduction technologies. By elevating sustainability to a core organizational value, institutions can dramatically reduce their ecological footprint while simultaneously driving innovation and contributing to planetary health and wellbeing.

Accountability

Definition and Core Principles
Accountability: Taking ownership of both intended and unintended outcomes of design decisions. This principle demands establishing robust systems for monitoring and evaluating design impacts, along with mechanisms for corrective action when necessary. Accountable designers maintain transparency throughout their process, actively seek stakeholder feedback, and acknowledge responsibility for any negative consequences, even those that were unforeseen. This foundation of responsibility ensures designs serve their intended purpose while minimizing potential harm.

Learning and Growth
True accountability transcends mere acknowledgment of errors—it transforms mistakes into catalysts for improvement. This transformative process involves critically examining design failures, implementing process refinements, enhancing designer training, and establishing more comprehensive ethical frameworks. When institutions embrace accountability as a pathway to excellence rather than just a response to failure, they cultivate stakeholder trust while continuously elevating the quality and integrity of their design practices.

Implementation Strategies
Organizations can foster a culture of accountability by establishing well-defined responsibility chains, implementing comprehensive monitoring systems, and creating accessible channels for feedback and remediation. Effective implementation includes regular ethical audits, transparent reporting practices, and systematic incorporation of lessons learned. By prioritizing accountability at every organizational level, institutions ensure their designs consistently uphold ethical standards, promote inclusivity, and advance sustainability goals.

Patagonia’s Environmental Responsibility

Environmental Integration in Design
Patagonia has revolutionized responsible design by weaving environmental considerations into the fabric of its product development process. The company’s groundbreaking “Worn Wear” program—which actively encourages repair and reuse over replacement—emerged organically from the organization’s core values rather than as a response to market trends. Patagonia’s governance structure reinforces this commitment through rigorous environmental impact assessments at every design stage, ensuring sustainability remains central rather than peripheral to innovation.

Sustainability Initiatives
Patagonia demonstrates unwavering environmental responsibility through comprehensive initiatives that permeate all aspects of their operations. The company has pioneered the use of recycled and organic materials in outdoor apparel, dramatically reduced water consumption through innovative manufacturing processes, and committed to donating 1% of sales to grassroots environmental organizations, a pledge that has generated over $140 million in grants to date. These initiatives represent the concrete manifestation of Patagonia’s mission rather than superficial corporate social responsibility efforts.

Environmental Leadership as a Competitive Advantage
Patagonia’s remarkable business success powerfully illustrates how environmental responsibility can create lasting competitive advantage in the marketplace. By elevating environmental considerations from afterthought to guiding principle, the company has cultivated a fiercely loyal customer base willing to pay premium prices for products aligned with their values. Patagonia’s approach has redefined industry standards for sustainable business practices, serving as a compelling case study for organizations seeking to integrate responsible design into their operational DNA while achieving exceptional business results.

IDEO’s Human-Centered Evolution

Organizational Restructuring
IDEO transformed from a traditional product design firm into a responsible design leader through deliberate organizational change. The company revolutionized its project teams by integrating ethicists and community representatives alongside designers, ensuring diverse perspectives influence every creation. Their acclaimed “Little Book of Design Ethics” now serves as the foundational document guiding all projects, while their established ethics review board rigorously evaluates proposals against comprehensive responsible design criteria before approval.

Ethical Integration in Design Process
IDEO’s evolution exemplifies the critical importance of embedding ethical considerations throughout the design process. By incorporating ethicists and community advocates directly into project teams, the company ensures that marginalized voices are heard, and ethical principles shape all design decisions from conception to implementation. The “Little Book of Design Ethics” functions not simply as a reference manual but as a living framework that empowers designers to navigate complex ethical challenges with confidence and integrity.

Cultural Transformation
IDEO’s remarkable journey demonstrates that responsible design demands a fundamental cultural shift within organizations. The company has cultivated an environment where ethical awareness and accountability are celebrated as core values rather than compliance requirements. By prioritizing human impact alongside business outcomes, IDEO has established itself as the preeminent leader in genuinely human-centered design. Their case offers actionable insights for institutions seeking to implement responsible design practices while maintaining innovation and market leadership.

Addressing Resistance to Change
Institutional transformation inevitably encounters resistance. Change disrupts established routines and challenges comfort zones, often triggering reactions ranging from subtle hesitation to outright opposition. Overcoming this resistance requires thoughtful planning, transparent communication, and meaningful stakeholder engagement throughout the process.

Why People Resist Change
Resistance typically stems from several key factors:
• Fear of the unknown and potential failure
• Perceived threats to job security, status, or expertise
• Skepticism about the benefits compared to required effort
• Attachment to established processes and organizational identity
• Past negative experiences with change initiatives

Effective Strategies for Change Management
• Phased implementation with clearly defined pilot projects that demonstrate value
• Identifying and empowering internal champions across departments to model and advocate for new approaches
• Creating safe spaces for constructive critique of existing practices without blame
• Developing narratives that connect responsible design to institutional identity and core values

Keys to Successful Transformation
By implementing these strategies, institutions can cultivate an environment that embraces rather than resists change. Transparent communication creates trust, active stakeholder engagement fosters ownership, and focusing on shared values helps align diverse perspectives. When people understand both the rationale for change and their role in the transformation process, resistance diminishes and the foundation for responsible design practices strengthens.

Balancing Competing Priorities
The complex tension between profit motives and ethical considerations demands sophisticated strategic approaches. Modern institutions navigate a challenging landscape of competing demands: maximizing shareholder value, meeting evolving customer needs, and fulfilling expanding social and environmental responsibilities. Successfully balancing these interconnected priorities requires thoughtful deliberation and strategic decision-making that acknowledges their interdependence.

Tensions in Modern Organizations
These inherent tensions can be effectively managed through:
• Developing comprehensive metrics that capture long-term value creation beyond quarterly financial results, including social impact assessments and sustainability indicators
• Identifying and prioritizing “win-win” opportunities where responsible design enhances market position, builds brand loyalty, and creates competitive advantages

Strategic Decision Frameworks
• Creating robust decision frameworks that explicitly weigh ethical considerations alongside financial metrics, allowing for transparent evaluation of tradeoffs
• Building compelling business cases that demonstrate how responsible design significantly reduces long-term risks related to regulation, reputation, and resource scarcity

Long-term Value Integration
By thoughtfully integrating ethical considerations into core decision-making processes and developing nuanced metrics that capture multidimensional long-term value creation, institutions can successfully reconcile profit motives with responsible design principles. This strategic approach enables organizations to achieve sustainable financial success while meaningfully contributing to a more just, equitable, and environmentally sustainable world.

Beyond Token Inclusion
Meaningful participation requires addressing deep-rooted power imbalances in institutional structures. Too often, inclusion is reduced to superficial gestures—inviting representatives from marginalized communities to consultations while denying them genuine influence over outcomes and decisions that affect their lives.

The Challenge of Meaningful Participation
To achieve authentic participation, institutions must confront and transform these entrenched power dynamics. This means moving beyond symbolic representation to creating spaces where traditionally excluded voices carry substantial weight in shaping both processes and outcomes.

Key Requirements for True Inclusion:
• Redistributing decision-making authority through participatory governance structures that give community members voting rights on critical decisions
• Providing fair financial compensation for community members’ time, expertise, and design contributions—recognizing their input as valuable professional consultation
• Implementing responsive feedback mechanisms with sufficient authority to pause, redirect, or fundamentally reshape projects when community concerns arise
• Establishing community oversight boards with substantive veto power and resources to monitor implementation

Building Equity Through Empowerment
By fundamentally redistributing decision-making authority and genuinely empowering marginalized communities, institutions can transform design processes from extractive exercises to collaborative partnerships. This shift ensures that design benefits flow equitably to all community members, not just those with pre-existing privilege. Such transformation demands more than good intentions—it requires concrete commitments to equity, justice, and collective accountability.

The Microsoft Inclusive Design Transformation

Restructuring Design Hierarchy
Microsoft fundamentally transformed its design process by establishing direct reporting channels between accessibility teams and executive leadership. This strategic restructuring ensured inclusive design considerations could not be sidelined or overridden by product managers focused solely on deadlines or feature development. Additionally, they created a protected budget specifically for community engagement that was safeguarded from reallocation to other priorities—even during tight financial cycles.

Elevating Accessibility Teams
This structural change demonstrates a commitment to inclusive design that transcends corporate rhetoric. By elevating accessibility specialists to positions with genuine organizational influence and providing them with unfiltered access to executive leadership, Microsoft ensures that inclusive design principles are embedded in strategic decisions at the highest levels of the organization. This repositioning signals to the entire company that accessibility is a core business value, not an optional consideration.

Dedicated Community Engagement
The protected budget for community engagement reinforces this commitment through tangible resource allocation. By dedicating specific funding for meaningful partnerships with marginalized communities, Microsoft ensures diverse voices directly influence product development from conception through launch. This approach has yielded measurable improvements in product accessibility and market reach, demonstrating how institutional transformation of design processes can simultaneously advance inclusion, equity, and business outcomes.

Regulatory Alignment

Anticipating Regulatory Changes
Visionary institutions position themselves ahead of regulatory evolution rather than merely reacting to it. As global regulations on environmental sustainability, accessibility, and data privacy grow increasingly stringent, organizations that proactively integrate these considerations into their design processes create significant competitive advantages while minimizing disruption.

Case Study: Proactive Compliance
Consider this example:
• European medical device leader Ottobock established a specialized regulatory forecasting team that maps emerging accessibility requirements across global markets
• Their “compliance plus” philosophy ensures designs exceed current standards by 20-30%, virtually eliminating costly redesigns when regulations tighten

Benefits of Forward-Thinking Regulation Strategy
Proactive regulatory alignment transforms compliance from a burden into a strategic asset. Organizations that embrace this approach not only mitigate financial and reputational risks but also establish themselves as industry leaders in responsible design. This strategic positioning requires continuous environmental scanning and a genuine commitment to ethical design principles that transcend minimum requirements.

Market Differentiation

Rising Consumer Expectations
The evolving landscape of consumer expectations presents strategic opportunities to harmonize responsible design with market advantage. Today’s consumers are not merely preferring but actively demanding products and services that demonstrate ethical production standards, environmental sustainability practices, and social responsibility commitments. Organizations that authentically meet these heightened expectations can secure significant competitive advantages and cultivate deeply loyal customer relationships.

Real-World Success Stories
Consider these compelling examples:
• Herman Miller revolutionized the furniture industry through circular design principles, exemplified by their groundbreaking Aeron chair remanufacturing program
• This innovative initiative established a premium market position while substantially reducing material consumption and environmental impact

Creating Win-Win Outcomes
When organizations strategically align responsible design principles with market opportunities, they forge powerful win-win scenarios that simultaneously benefit business objectives and societal wellbeing. Success in this approach demands both nuanced understanding of evolving consumer expectations and unwavering commitment to developing innovative solutions that address these expectations while advancing sustainability goals.

Beyond Good Intentions
Concrete measurement systems are essential for true accountability. While noble intentions set the direction, only robust metrics can verify real progress in responsible design. Organizations must implement comprehensive measurement frameworks to track outcomes, identify improvement opportunities, and demonstrate genuine commitment.

Effective Measurement Systems
Leading examples include:
• IBM’s Responsible Design Dashboard, which provides quantifiable metrics across diverse product lines
• Google’s HEART framework (Happiness, Engagement, Adoption, Retention, Task success) that seamlessly integrates ethical dimensions into standard performance indicators
• Transparent annual responsible design audits with publicly accessible results that foster organizational accountability

Benefits of Implementation
By embracing data-driven measurement systems, organizations transform aspirational goals into verifiable outcomes. This approach demonstrates an authentic commitment to responsible design principles while creating a foundation for continuous improvement. The willingness to measure and transparently share both successes and challenges distinguishes truly responsible organizations from those with merely good intentions.

Incentive Restructuring

The Power of Aligned Incentives
Human behavior is fundamentally shaped by incentives. To foster responsible design practices, institutions must strategically align rewards systems with desired ethical outcomes. When designers and stakeholders are recognized and compensated for responsible design initiatives, they naturally prioritize these values in their work.

Implementation Strategies
Organizations are achieving this alignment through concrete approaches:
• Salesforce has integrated diversity and inclusion metrics directly into executive compensation packages, ensuring leadership accountability
• Leading firms like Frog Design have embedded responsible design outcomes as key criteria in employee performance reviews
• Structured recognition programs celebrate and amplify exemplary responsible design practices, increasing visibility and adoption

Creating a Culture of Responsible Design
Thoughtfully restructured incentives transform organizational culture by signaling what truly matters. When ethical, inclusive, and sustainable practices are rewarded, they become embedded in institutional values rather than treated as optional considerations. This transformation requires rigorous assessment of current incentive frameworks and bold leadership willing to realign reward systems with responsible design principles.

Institutional Culture and Learning Systems
Responsible design flourishes within robust learning ecosystems. Rather than a one-time achievement, responsible design represents an ongoing journey of discovery, adaptation, and refinement. Organizations must establish comprehensive learning infrastructures that nurture this evolutionary process and ensure design practices remain ethically sound, inclusive, and forward-thinking.

Key Components of Learning Infrastructure
An effective learning infrastructure incorporates:
• Rigorous post-implementation reviews that critically assess ethical outcomes and user impact
• Vibrant communities of practice that facilitate knowledge exchange and cross-pollination across departments
• Strategic partnerships with academic institutions to integrate cutting-edge ethical frameworks and research
• Diverse external advisory boards that provide constructive critique and alternative perspectives

Benefits of Learning Systems
By investing in robust learning infrastructure, organizations cultivate a culture of continuous improvement and adaptive excellence. These systems ensure responsible design practices evolve in response to emerging challenges, technological shifts, and evolving societal expectations. Success requires unwavering institutional commitment to evidence-based learning, collaborative problem-solving, and transparent communication across all levels of the organization.

The Philips Healthcare Example

The Responsibility Lab Initiative
Philips Healthcare established a groundbreaking “Responsibility Lab” where designers regularly rotate through immersive experiences with diverse users from various backgrounds and abilities. This innovative rotation system ensures that responsible design knowledge becomes deeply embedded across the organization rather than remaining isolated within a specialized team.

Benefits of Experiential Learning
This approach powerfully demonstrates how experiential learning catalyzes responsible design practices. By immersing designers directly in the lived experiences of diverse users, Philips enables them to develop profound insights into the ethical, social, and environmental implications of their design decisions—insights that could not be gained through traditional research methods alone.

Organizational Knowledge Distribution
The strategic rotation system ensures that valuable ethical design principles flow throughout the organization, transforming responsible design from a specialized function into a shared organizational capability. This case study exemplifies how institutions can build effective learning systems that not only foster a culture of responsible design but also make it an integral part of their operational DNA.

The Institutional Journey

A Continuous Transformation
Institutionalizing responsible design is not a destination but a dynamic journey of continuous evolution. It demands skillful navigation through competing priorities, entrenched power dynamics, and ever-shifting external pressures. Forward-thinking institutions recognize that responsible design is not merely adjacent to their core mission—it is fundamental to their long-term viability, relevance, and social license to operate in an increasingly conscientious marketplace.

Beyond Sporadic Initiatives
By addressing these dimensions systematically and holistically, organizations transcend fragmentary ethical initiatives to achieve truly institutionalized responsible design. This transformation creates environments where ethical considerations and responsible practices become the natural default—woven into the organizational DNA—rather than exceptional efforts requiring special attention or resources.

Embrace the Journey of Continuous Growth
Immerse yourself in a transformative journey that thrives on continuous learning, adaptive thinking, and cross-disciplinary collaboration. This mindset unlocks the potential for design practices that fuel a more just, equitable, and sustainable world. By embracing this profound shift, institutions can drive real change.

Achieving this radical transformation requires visionary leadership, ethical conduct, and an innovative culture. It demands the united courage to challenge outdated norms and champion a brighter future. When institutions embody this ethos, they become beacons of progress, inspiring others to follow suit.

The path forward is not without obstacles, but the rewards are immense. Institutions that lead with this mindset will not only transform their own practices but also catalyze systemic change across industries. They will set new standards, reshape markets, and pave the way for a more responsible, inclusive, and sustain.

]]>
https://blogs.perficient.com/2025/03/08/responsible-design-starts-within-the-institution/feed/ 0 378321
Tea-Time: Tips for Leveraging Time After Standup https://blogs.perficient.com/2025/02/28/tea-time-tips-for-leveraging-time-after-standup/ https://blogs.perficient.com/2025/02/28/tea-time-tips-for-leveraging-time-after-standup/#respond Fri, 28 Feb 2025 16:17:50 +0000 https://blogs.perficient.com/?p=377830

It’s typical to aim for 15-minute Standups, but how many times have your standups gotten side-tracked and suddenly more than a half-hour has gone by? These occurrences are not exactly my cup of tea…

Of course, sometimes topics need to be discussed, and planning a follow-up meeting will only slow down or delay resolution.

It’s important to keep Standups on-topic, and if run effectively, consider taking time after the Standup (I like to call it a Stay-After) with a smaller audience to cover “Tea-time” topics:

  • T: Tabled discussions.
  • E: Expectation setting.
  • A: Addressing blockers.

Why have a Stay-After

Likely, Standup meetings have all members of a team in attendance. To make the best use of everyone’s time, staying after Standup is a great opportunity to have a smaller, focused discussion with only the relevant team members. Typically, a Stay-After meeting is used to cover time-sensitive topics – “TEA”:

  • Tabled discussions: These are conversations that perhaps went too long during Standup and need to be continued once everyone else completes their updates.
  • Expectations: Often, the project manager or another team member may have process changes or other announcements to make to the team or specific team members, making a Stay-After an ideal time to communicate those quick updates.
  • Addressing blockers: Part of Standup is that team members escalate any blockers they are facing on an assignment. A Stay-After is also a good opportunity to troubleshoot or help provide clarifications to help unblock the team member.

Determining the agenda for a Stay-After

Stay-After meetings can be planned or unplanned.

Planned topics typically come up during the prior workday. These are usually if a team member requires some clarification of a work assignment, or, to share information. The project manager can send an invite immediately following the next standup that contains the necessary attendees and agenda.

Unplanned topics typically arise during the Standup itself because of one of these scenarios:

  • A team member requests other specific team members to stay-back after the Standup for a specific topic.
  • A team member requires help to troubleshoot a technical blocker.
  • The project manager requests specific team members stay-back after the Standup if they recognize that a conversation is going too long.

It’s not uncommon that there may be both planned and unplanned topics for a Stay-After. The PM or team needs to determine which topics to give priority to for that specific day and time. De-prioritized topics may need to be addressed as part of a different meeting or as part of the next day’s Stay-After.

Running an effective Stay-After

Like actual Standups, there is likely only limited time available to hold a Stay-After. Consider these tips to make sure the time is used most efficiently:

  • Keep the conversation on-topic. Keep the focus on what decisions or help is needed.
  • If you find that a conversation requires more time or team members who are not in attendance, pause and plan a dedicated meeting for that topic.
  • Record any quick decisions or action items and move on to the next topic, if applicable.
  • Allow team members to drop off the call if the remaining topics are no longer relevant to them.

In Summary

Taking advantage of Standup Stay-After “Tea-time” is a great way to make sure that all team members get a chance to participate in the daily Standups, but, also allow time-sensitive topics to be addressed without delay. Consider these tips at your next Standup, and it will help get your team started off to a tea-rrific day.

]]>
https://blogs.perficient.com/2025/02/28/tea-time-tips-for-leveraging-time-after-standup/feed/ 0 377830
Tell your Project’s Story using Azure DevOps Queries and Dashboards https://blogs.perficient.com/2025/02/24/tell-your-projects-story-using-azure-devops/ https://blogs.perficient.com/2025/02/24/tell-your-projects-story-using-azure-devops/#comments Mon, 24 Feb 2025 14:50:44 +0000 https://blogs.perficient.com/?p=377552

Sometimes purely looking at an Azure DevOps backlog or Board may not tell the right story in terms of progress made towards a specific goal. At first glance, it may seem like a horror story, but in reality, it is not the case. The data needs to be read or conveyed in the right way.

Though Azure DevOps provides multiple ways to view work items, it also provides a powerful reporting capability in terms of writing queries and configuring dashboards.

Work Items in Azure DevOps contain various fields which can enable data reports. However, to make that data meaningful, the right queries and the use of dashboards can help to present the precise state of the work.

Author purposeful Queries

Every Azure DevOps query should have a motive. Fields on work items are attributes which can help to provide an answer. Let us look at a few use cases and how those queries are configured.

Example 1: I want to find all Bugs in my project that are not in a State of ‘Closed’ or ‘Removed’ and which contain a tag ‘CMS’. I can use the work item fields ‘Work Item Type,’ ‘State,’ and ‘Tags’ to find any matches.

Query Example 1

Example 2: I want to find all Bugs that are Severity 1 or Severity 2 that are not Closed or Resolved (I want to see only Severity 1 or 2 Bugs that are in New or Active State.) In this example, I have grouped the 2 rows for Severity to be an ‘Or’ condition. This allows me to get results that include both Severity 1 and Severity 2 results.

Query Example 2

Example 3: I want to find all Bugs that contain the Tag “missing requirement” which were created on or after November 5, 2024. Another helpful attribute to report on is by Date – in this example, I am querying for results created after a specific date, but you can change the operator or set a date range for further control of results.

Query Example 3

Tips:

    • In these examples, I am using out-of-box field types, however, there are ways to create custom fields for an Azure DevOps project, to further enrich or customize your reports.
    • Review the columns you have showing once you run a query. You may need to use the ‘Column Options’ to enable additional columns for additional data points.
    • Save your query as a Shared Query, so that its results can be viewed by other members of the team.

Having these queries is great if you need a list of work items or if you want to make bulk updates for items which match your criteria. However, we can take these results a step further by visualizing the data onto a Dashboard.

Publish your results with Dashboards

Sometimes visuals can help to better portray a story; the same can be true when reporting on a project’s progress.

Out-of-the-box, Azure DevOps provides a variety of widget types which can be used to configure a Dashboard. Some widgets require the use of a Query, while others are purely based on settings you define.

Here are a few examples of widgets I use most often:

  • Burndown: This widget does NOT require a query. When you place the widget, you’ll be able to control how data is pulled:
    • Work Item Type
    • Dates span
    • Team (if applicable)
    • Field Criteria
    • Interval of time (days/weeks/months)
  • Chart for Work Items: This widget is based on a Query. I find this widget to be very versatile, as you can choose the type of chart and which data points you want to display.
  • Query Results: This widget is based on a Query and will simply display the results in a list, however, you can select which columns of data to show/hide in the widget.
  • Query Tiles: This widget is based on a Query and will display the number of results matching a query. You can further customize this widget to dynamically show in unique colors, based on specific count criteria.

Tips:

    • There is no limit to the number of Dashboards you can have. Consider creating Dashboards for unique purposes or for unique audiences, which contain only the relevant data needed.
    • Queries and Dashboards are only as good as your data. Make sure you are regularly maintaining your work items to ensure they are tagged, parented, and prioritized appropriately.
    • There is also an option to export query results into excel files, if you find that dashboard widgets are not filling all your reporting needs.

Convey the Story

Identify what is most important for your team or client to know, monitor, or be aware of. Once you have the data you need, you will be better equipped to explain progress and status to your team and the client.

In my personal experience, some types of unique dashboards I found to be effective for my clients or team members:

  • Dashboard related to UAT activities
  • Dashboard for Backlog Maintenance monitoring
  • Dashboard for Executives
  • Dashboard for QA Sprint-Based Activities
  • Dashboard for Dependency monitoring

Example of an Executive Dashboard, using Burndown, Chart for Work Items, and Query Tile widgets:Executive Dashboard

With each of these dashboards, I wrote unique queries to find data that my team or client most often needed to reference. This enabled them to know if we were on track or if some action is needed.

By having a precise way to explain the story of your project, you will find that your team is able to make better decisions when the right data is available to them, in order to lead to a happy project ending.

]]>
https://blogs.perficient.com/2025/02/24/tell-your-projects-story-using-azure-devops/feed/ 1 377552
The Colorful World of Azure DevOps Boards https://blogs.perficient.com/2025/02/18/the-colorful-world-of-azure-devops-boards/ https://blogs.perficient.com/2025/02/18/the-colorful-world-of-azure-devops-boards/#comments Tue, 18 Feb 2025 18:08:51 +0000 https://blogs.perficient.com/?p=377362

Out of the box, Azure DevOps provides black-and-white capabilities in terms of how it can be utilized to support a project and its code repository. Over time, teams establish and settle into work processes, often continuing to use those basic settings, which can lead to a mundane operation and, perhaps, risk losing sight of the end goal.

Even if a project is customized in terms of workflow, custom state options, or custom fields, sometimes it is still difficult to know where things stand and what is important to focus on.

There are a few ways in which Azure DevOps can aid in making those items visible and obvious, to better help guide a team.

Leverage color to draw attention

When viewing a Board in Azure DevOps, it can often be overwhelming to look at or find specific work items. Consider: what is most important for the team to complete or prioritize, and, what could be a unique identifier to locate those items? These are the items we want the team to notice and work on first.

There are a couple of ways in which Azure DevOps allows us to style work items on a board:

  • Card Styles
  • Tag Colors

Let’s take an example of Card Styles: We want the client to quickly and easily see if items on the Board are blocked. In our board settings, we can use the Board Settings > Cards > Styles options to apply some rules to make any work items which contain the tag ‘Blocked’ to appear Red in color.

Example Settings:

Blocked Card Style Settings 

Example Card Preview:

Blocked Card

Another use case for applying Card Styles could be that we want our team members to prioritize and focus on any Bug work items which have a Priority of 1. In the same settings dialog, we can add another styling rule so that any Bug work item which has a Priority of ‘1’ should appear Yellow in color. This will make it extremely easy to find those Priority 1 Bugs when viewing the board, so that it is obvious to any team member who is assigned to one.

Example Card Preview:

Priority 1 Card

Let’s look at one more use case – we want our team to easily recognize work items containing the tag ‘content.’ In this example, this tag means that the work item will require manual content steps, along with the code changes. In the Board Settings > Cards > Tag Colors options, we can configure a rule so that this specific tag will appear in Pink while viewing the board.

Example Card Preview:

Content Tags

TIP: While it is great to provide color styling rules to work items, it is best to reserve those rules only items needing specific, frequent attention. Consider this before applying any styling setting on a project’s Board.

Find key details in a dash on your Dashboard

Lastly, Dashboards are a fantastic way to provide fast, summary information regarding the progress of a team or project. Consider creating dashboards to display results of queries that you often find yourself referencing for reporting or oversight. Like the Backlog and Boards views, keep the dashboards focused on the most valuable information. Make it easily visible by organizing the most important widgets to the top of the dashboard.

In this example below, the team wanted to automate a way of finding work items which were mis-placed in the backlog or were without tags. A series of queries were created and used to provide data of matching results. In the first screenshot, there are no results, and all the tiles are equal to 0 – this is the ideal state. In the second screenshot, there are results in one of the tables and three of the tiles have a matching result of 1, in which case the tile is configured to turn Red in color. This makes it very easy for a team member to notice and take action to make sure specific work items are addressed quickly.

Screenshot 1:

Dashboard Ex 1

Screenshot 2:

Dashboard Ex 2

 

TIPS:

    • Create multiple dashboards, each with their own purpose, to prevent having just 1 or 2 dashboards being overwhelmed by too much information.
    • The ‘Chart for Work Items’ widget on the dashboards also allows for the color options to be customized. Consider this in cases where you want to draw attention to a specific attribute, such as work item State.

Paint the picture for your team

To help keep the team focused and from settling into a mundane work pattern, keep the most important data in Azure DevOps accessible and visible on project Boards, Backlogs, and Dashboards. Use visual indicators like color to help enable the team to quickly find what is most important to use their time most efficiently towards the project’s goal.

By using these simply tips and tricks, it will help to paint a masterpiece of a project that both the team and client will be better engaged in.

]]>
https://blogs.perficient.com/2025/02/18/the-colorful-world-of-azure-devops-boards/feed/ 2 377362
Extending the Capabilities of Your Development Team with Visual Studio Code Extensions https://blogs.perficient.com/2025/02/11/extending-the-capabilities-of-your-development-team-with-visual-studio-code-extensions/ https://blogs.perficient.com/2025/02/11/extending-the-capabilities-of-your-development-team-with-visual-studio-code-extensions/#respond Tue, 11 Feb 2025 20:53:23 +0000 https://blogs.perficient.com/?p=377088

Introduction

Visual Studio Code (VS Code) has become a ubiquitous tool in the software development world, prized for its speed, versatility, and extensive customization options. At its heart, VS Code is a lightweight, open-source code editor that supports a vast ecosystem of extensions. These extensions are the key to unlocking the true potential of VS Code, transforming it from a simple editor into a powerful, tailored IDE (Integrated Development Environment).

This blog post will explore the world of VS Code extensions, focusing on how they can enhance your development team’s productivity, code quality, and overall efficiency. We’ll cover everything from selecting the right extensions to managing them effectively and even creating your own custom extensions to meet specific needs.

What are Visual Studio Code Extensions?

Extensions are essentially plugins that add new features and capabilities to VS Code. They can range from simple syntax highlighting and code completion tools to more complex features like debuggers, linters, and integration with external services. The Visual Studio Code Marketplace hosts thousands of extensions, catering to virtually every programming language, framework, and development workflow imaginable.

Popular examples include Prettier for automatic code formatting, ESLint for identifying and fixing code errors, and Live Share for real-time collaborative coding.

Why Use Visual Studio Code Extensions?

The benefits of using VS Code extensions are numerous and can significantly impact your development team’s performance.

  1. Improve Code Quality: Extensions like ESLint and JSHint help enforce coding standards and identify potential errors early in the development process. This leads to more robust, maintainable, and bug-free code.
  2. Boost Productivity: Extensions like Auto Close Tag and IntelliCode automate repetitive tasks, provide intelligent code completion, and streamline your workflow. This allows developers to focus on solving complex problems rather than getting bogged down in tedious tasks.
  3. Enhance Collaboration: Extensions like Live Share enable real-time collaboration, making it easier for team members to review code, pair program, and troubleshoot issues together, regardless of their physical location.
  4. Customize Your Workflow: VS Code’s flexibility allows you to tailor your development environment to your specific needs and preferences. Extensions like Bracket Pair Colorizer and custom themes can enhance readability and create a more comfortable and efficient working environment.
  5. Stay Current: Extensions provide support for the latest technologies and frameworks, ensuring that your team can quickly adapt to new developments in the industry and leverage the best tools for the job.
  6. Save Time: By automating common tasks and providing intelligent assistance, extensions like Path Intellisense can significantly reduce the amount of time spent on mundane tasks, freeing up more time for creative problem-solving and innovation.
  7. Ensure Consistency: Extensions like EditorConfig help enforce coding standards and best practices across your team, ensuring that everyone is following the same guidelines and producing consistent, maintainable code.
  8. Enhance Debugging: Powerful debugging extensions like Debugger for Java provide advanced debugging capabilities, making it easier to identify and resolve issues quickly and efficiently.

Managing IDE Tools for Mature Software Development Teams

As software development teams grow and projects become more complex, managing IDE tools effectively becomes crucial. A well-managed IDE environment can significantly impact a team’s ability to deliver high-quality software on time and within budget.

  1. Standardization: Ensuring that all team members use the same tools and configurations reduces discrepancies, improves collaboration, and simplifies onboarding for new team members. Standardized extensions help maintain code quality and consistency, especially in larger teams where diverse setups can lead to confusion and inefficiencies.
  2. Efficiency: Streamlining the setup process for new team members allows them to get up to speed quickly. Automated setup scripts can install all necessary extensions and configurations in one go, saving time and reducing the risk of errors.
  3. Quality Control: Enforcing coding standards and best practices across the team is essential for maintaining code quality. Extensions like SonarLint can continuously analyze code quality, catching issues early and preventing bugs from making their way into production.
  4. Scalability: As your team evolves and adopts new technologies, managing IDE tools effectively facilitates the integration of new languages, frameworks, and tools. This ensures that your team can quickly adapt to new developments and leverage the best tools for the job.
  5. Security: Keeping all tools and extensions up-to-date and secure is paramount, especially for teams working on sensitive or high-stakes projects. Regularly updating extensions prevents security issues and ensures access to the latest features and security patches.

Best Practices for Managing VS Code Extensions in a Team

Effectively managing VS Code extensions within a team requires a strategic approach. Here are some best practices to consider:

  1. Establish an Approved Extension List: Create and maintain a list of extensions that are approved for use by the team. This ensures that everyone is using the same core tools and configurations, reducing inconsistencies and improving collaboration. Consider using a shared document or a dedicated tool to manage this list.
  2. Automate Installation and Configuration: Use tools like Visual Studio Code Settings Sync or custom scripts to automate the installation and configuration of extensions and settings for all team members. This ensures that everyone has the same setup without manual intervention, saving time and reducing the risk of errors.
  3. Implement Regular Audits and Updates: Regularly review and update the list of approved extensions to add new tools, remove outdated ones, and ensure that all extensions are up-to-date with the latest security patches. This helps keep your team current with the latest developments and minimizes security risks.
  4. Provide Training and Documentation: Offer training and documentation on the approved extensions and best practices for using them. This helps ensure that all team members are proficient in using the tools and can leverage them effectively.
  5. Encourage Feedback and Collaboration: Encourage team members to provide feedback on the approved extensions and suggest new tools that could benefit the team. This fosters a culture of continuous improvement and ensures that the team is always using the best tools for the job.

Security Considerations for VS Code Extensions

While VS Code extensions offer numerous benefits, they can also introduce security risks if not managed properly. It’s crucial to be aware of these risks and take steps to mitigate them.

  1. Verify the Source: Only install extensions from trusted sources, such as the Visual Studio Code Marketplace. Avoid downloading extensions from unknown or unverified sources, as they may contain malware or other malicious code.
  2. Review Permissions: Carefully review the permissions requested by extensions before installing them. Be cautious of extensions that request excessive permissions or access to sensitive data, as they may be attempting to compromise your security.
  3. Keep Extensions Updated: Regularly update your extensions to ensure that you have the latest security patches and bug fixes. Outdated extensions can be vulnerable to security exploits, so it’s important to keep them up-to-date.
  4. Use Security Scanning Tools: Consider using security scanning tools to automatically identify and assess potential security vulnerabilities in your VS Code extensions. These tools can help you proactively identify and address security risks before they can be exploited.

Creating Custom Visual Studio Code Extensions

In some cases, existing extensions may not fully meet your team’s specific needs. Creating custom VS Code extensions can be a powerful way to add proprietary capabilities to your IDE and tailor it to your unique workflow. One exciting area is integrating AI Chatbots directly into VS Code for code generation, documentation, and more.

  1. Identify the Need: Start by identifying the specific functionality that your team requires. This could be anything from custom code snippets and templates to integrations with internal tools and services. For this example, we’ll create an extension that allows you to highlight code, right-click, and generate documentation using a custom prompt sent to an AI Chatbot.

  2. Learn the Basics: Familiarize yourself with the Visual Studio Code Extension API and the tools required to develop extensions. The API documentation provides comprehensive guides and examples to help you get started.

  3. Set Up Your Development Environment: Install the necessary tools, such as Node.js and Yeoman, to create and test your extensions. The Yeoman generator for Visual Studio Code extensions can help you quickly scaffold a new project.

  4. Develop Your Extension: Write the code for your extension, leveraging the Visual Studio Code Extension API to add the desired functionality. Be sure to follow best practices for coding and testing to ensure that your extension is reliable, maintainable, and secure.

  5. Test Thoroughly: Test your extension in various scenarios to ensure that it works as expected and doesn’t introduce any new issues. This includes testing with different configurations, environments, and user roles.

  6. Distribute Your Extension: Once your extension is ready, you can distribute it to your team. You can either publish it to the Visual Studio Code Marketplace or share it privately within your organization. Consider using a private extension registry to manage and distribute your custom extensions securely.

Best Practices for Extension Development

Developing robust and efficient VS Code extensions requires careful attention to best practices. Here are some key considerations:

  • Resource Management:

    • Dispose of Resources: Properly dispose of any resources your extension creates, such as disposables, subscriptions, and timers. Use the context.subscriptions.push() method to register disposables, which will be automatically disposed of when the extension is deactivated.
    • Avoid Memory Leaks: Be mindful of memory usage, especially when dealing with large files or data sets. Use techniques like streaming and pagination to process data in smaller chunks.
    • Clean Up on Deactivation: Implement the deactivate() function to clean up any resources that need to be explicitly released when the extension is deactivated.
  • Asynchronous Operations:

    • Use Async/Await: Use async/await to handle asynchronous operations in a clean and readable way. This makes your code easier to understand and maintain.
    • Handle Errors: Properly handle errors in asynchronous operations using try/catch blocks. Log errors and provide informative messages to the user.
    • Avoid Blocking the UI: Ensure that long-running operations are performed in the background to avoid blocking the VS Code UI. Use vscode.window.withProgress to provide feedback to the user during long operations.
  • Security:

    • Validate User Input: Sanitize and validate any user input to prevent security vulnerabilities like code injection and cross-site scripting (XSS).
    • Secure API Keys: Store API keys and other sensitive information securely. Use VS Code’s secret storage API to encrypt and protect sensitive data.
    • Limit Permissions: Request only the necessary permissions for your extension. Avoid requesting excessive permissions that could compromise user security.
  • Performance:

    • Optimize Code: Optimize your code for performance. Use efficient algorithms and data structures to minimize execution time.
    • Lazy Load Resources: Load resources only when they are needed. This can improve the startup time of your extension.
    • Cache Data: Cache frequently accessed data to reduce the number of API calls and improve performance.
  • Code Quality:

    • Follow Coding Standards: Adhere to established coding standards and best practices. This makes your code more readable, maintainable, and less prone to errors.
    • Write Unit Tests: Write unit tests to ensure that your code is working correctly. This helps you catch bugs early and prevent regressions.
    • Use a Linter: Use a linter to automatically identify and fix code style issues. This helps you maintain a consistent code style across your project.
  • User Experience:

    • Provide Clear Feedback: Provide clear and informative feedback to the user. Use status bar messages, progress bars, and error messages to keep the user informed about what’s happening.
    • Respect User Settings: Respect user settings and preferences. Allow users to customize the behavior of your extension to suit their needs.
    • Keep it Simple: Keep your extension simple and easy to use. Avoid adding unnecessary features that could clutter the UI and confuse the user.

By following these best practices, you can develop robust, efficient, and user-friendly VS Code extensions that enhance the development experience for yourself and others.

Example: Creating an AI Chatbot Integration for Documentation Generation

Let’s walk through creating a custom VS Code extension that integrates with an AI Chatbot to generate documentation for selected code. This example assumes you have access to an AI Chatbot API (like OpenAI’s GPT models). You’ll need an API key. Remember to handle your API key securely and do not commit it to your repository.

1. Scaffold the Extension:

First, use the Yeoman generator to create a new extension project:

yo code

2. Modify the Extension Code:

Open the generated src/extension.ts file and add the following code to create a command that sends selected code to the AI Chatbot and displays the generated documentation:

import * as vscode from 'vscode';
import axios from 'axios';

export function activate(context: vscode.ExtensionContext) {
 let disposable = vscode.commands.registerCommand('extension.generateDocs', async () => {
  const editor = vscode.window.activeTextEditor;
  if (editor) {
   const selection = editor.selection;
   const selectedText = editor.document.getText(selection);

   const apiKey = 'YOUR_API_KEY'; // Replace with your actual API key
   const apiUrl = 'https://api.openai.com/v1/engines/davinci-codex/completions';

   try {
    const response = await axios.post(
     apiUrl,
     {
      prompt: `Generate documentation for the following code:\n\n${selectedText}`,
      max_tokens: 150,
      n: 1,
      stop: null,
      temperature: 0.5,
     },
     {
      headers: {
       'Content-Type': 'application/json',
       Authorization: `Bearer ${apiKey}`,
      },
     }
    );

    const generatedDocs = response.data.choices[0].text;
    vscode.window.showInformationMessage('Generated Documentation:\n' + generatedDocs);
   } catch (error) {
    vscode.window.showErrorMessage('Error generating documentation: ' + error.message);
   }
  }
 });

 context.subscriptions.push(disposable);
}

export function deactivate() {}

3. Update package.json:

Add the following command configuration to the contributes section of your package.json file:

"contributes": {
    "commands": [
        {
            "command": "extension.generateDocs",
            "title": "Generate Documentation"
        }
    ]
}

4. Run and Test the Extension:

Press F5 to open a new VS Code window with your extension loaded. Highlight some code, right-click, and select “Generate Documentation” to see the AI-generated documentation.

Packaging and Distributing Your Custom Extension

Once you’ve developed and tested your custom VS Code extension, you’ll likely want to share it with your team or the wider community. Here’s how to package and distribute your extension, including options for local and private distribution:

1. Package the Extension:

VS Code uses the vsce (Visual Studio Code Extensions) tool to package extensions. If you don’t have it installed globally, install it using npm:

npm install -g vsce

Navigate to your extension’s root directory and run the following command to package your extension:

vsce package

This will create a .vsix file, which is the packaged extension.

2. Publish to the Visual Studio Code Marketplace:

To publish your extension to the Visual Studio Code Marketplace, you’ll need to create a publisher account and obtain a Personal Access Token (PAT). Follow the instructions on the Visual Studio Code Marketplace to set up your publisher account and generate a PAT.

Once you have your PAT, run the following command to publish your extension:

vsce publish

You’ll be prompted to enter your publisher name and PAT. After successful authentication, your extension will be published to the marketplace.

3. Share Privately:

If you prefer to share your extension privately within your organization, you can distribute the .vsix file directly to your team members. They can install the extension by running the following command in VS Code:

code --install-extension your-extension.vsix

Alternatively, you can set up a private extension registry using tools like Azure DevOps Artifacts or npm Enterprise to manage and distribute your custom extensions securely.

Conclusion

Visual Studio Code extensions are a powerful tool for enhancing the capabilities of your development environment and improving your team’s productivity, code quality, and overall efficiency. By carefully selecting, managing, and securing your extensions, you can create a tailored IDE that meets your specific needs and helps your team deliver high-quality software on time and within budget. Whether you’re using existing extensions from the marketplace or creating your own custom solutions, the possibilities are endless. Embrace the power of VS Code extensions and unlock the full potential of your development team.

For more information about Perficient’s Mobile Solutions expertise, subscribe to our blog or contact our Mobile Solutions team today!

]]>
https://blogs.perficient.com/2025/02/11/extending-the-capabilities-of-your-development-team-with-visual-studio-code-extensions/feed/ 0 377088
Stay Safe Online – Cybersecurity Awareness Session by WIT India https://blogs.perficient.com/2025/01/21/stay-safe-online-cybersecurity-awareness-session-by-wit-india/ https://blogs.perficient.com/2025/01/21/stay-safe-online-cybersecurity-awareness-session-by-wit-india/#respond Tue, 21 Jan 2025 09:14:45 +0000 https://blogs.perficient.com/?p=375423

It’s a need of the hour and the topic of discussion – How to stay safe online. Promptly, Cybersecurity Awareness session was hosted by WIT, India. The speaker of the day is Sanjana Rathi, Cyber security specialist. She shared her wisdom on Cybercrimes, preventive measures and practical solutions to the problems.
In this blog the victim is called Mr. David and Scamster/Predator is called Goliath.


The mobile number magic
We tend to be free with our Phone number and basic details and while billing in a hotel, service provider, coupons for Free raffles, we tend to share the number for free without thinking much on the consequences. There are no proper policies with the application to guard our data and hence it gets leaked to the predators who are waiting for an opportunity to prey on us.


Call forwarding scam:
Mr. David was approached by Goliath asking him to dial few numbers and at that time David was unaware, call forwarding would be activated in his mobile and his data would be stolen, As the call forwarding is activated in his mobile and Goliath used WhatsApp for Business installed newly in his phone and messaged his contacts asking for money. Few people got scammed and others reached out to this Mr. Dávid and only then he was aware he and his friends were under cyberattack.


Cyber security:
“Cyber security is about being aware and takes lots of practice to stay safe from Scammers”.
There are lot of challenges in the digital era. We tend to agree to Application license without going through the documentation granting them access for our personal data such as Contacts, Photos, location and much more.


Types of Cyberthreats:
Cyber threats are classified majorly into four categories.
• Malware
• Phishing
• Ransomware
• DDos attacks


Phishing:
Goliath uses social engineering tactics to send you link, we are prompted to download link/ respond to a mail or pay our utility bills using the link. Once we click it by mistake, we would be routed to a fake website asking us for our bank details and we would be scammed.


Voice cloning/Face cloning in Ransomware:
Cyber Crime tools using AI, Metaverse – predators use Voice cloning/Face cloning asking for money transfer. A businessman’s secretary was asked by a man pretending to be his boss asking for money transfer through voice call. The secretary was vigilant and as the ransomware amount was huge. He did reach out to his boss and found out it was a fake Request. If at all he wasn’t careful, they would have got scammed.


Data Hygiene:
      Data Hygiene is important while we look out to buy new electronic devices and haul away the older ones. Some of the suggestions to be practiced are,

  • Get a phone/system from a credible source.
  • For Important data, have cloud storage and backup.
  • Reg the Disposal of the data regarding the resell of phone, degaussing of data must be done to erase/dispose the data in the Mobiles/Systems.
  • Cyber criminals make use of E-waste from foreign nations. They look in for the Recycle bin of the systems for data.
  • Always be cautious and verify before taking a step for transaction.


UPI Fraud:
• RBI regulations – on the first transaction, Report the crime on time by calling 1093 (Cybercrime helpline) – 4 hours within the incident and contacted the bank to freeze the account. Report to the ombudsman. It’s likely the bank has to refund the amount.
                     “Scamsters fuel on the fear of the Victim to prey on them”

Digital Arrest:
The recent day scam is as follows, At midnight, Mr. David got a call from Goliath impersonating that he is a Customs officer calling to say that Mr. David has sent a Package which contains a Illegal item distant nation. The call gets connected to the Police Commissioner where they asked Mr. David is enquired on video call and team member of Goliath’s impersonate as police commissioner with the whole setup uniform and background and prey on the fear of David.

Mr. David is asked to Withdraw a huge amount of money from the bank. The bank employees found Mr. David acting weird and trying to close a huge amount of his savings in short notice. Meanwhile Goliath’s team would stay on call while Mr. David was at the bank. After multiple counselling by Banker and his trustworthy nature, David agreed that he was victimized and hence the scam is avoided.

Cyber security measures at Perficient:
ISMS awareness month is celebrated every year with various interesting games in order to educate and make us aware on the Domain spooking, different threats and solutions, Various mails been shared to us regarding the Do’s and Don’ts of using Perficient email and password management.

Conclusion:
With the advancement in AI, metaverse and Technology, Team of Goliaths comes up with various scams. They even use books like How to win friends and influence people by Dale Carenidge in order to trick people in liking them and to eventually scam them. We cannot eradicate cybercrimes completely. The best thing we can do is be aware of the ongoing scams and follow the safe practices in daily life. Staying cautious and vigilant and best practices will save us from cybercrime.

]]>
https://blogs.perficient.com/2025/01/21/stay-safe-online-cybersecurity-awareness-session-by-wit-india/feed/ 0 375423
People of Perficient: Meet Rodrigo Vargas, Technical Architect from Chile https://blogs.perficient.com/2024/11/05/people-of-perficient-meet-rodrigo-vargas-technical-architect-from-chile/ https://blogs.perficient.com/2024/11/05/people-of-perficient-meet-rodrigo-vargas-technical-architect-from-chile/#respond Tue, 05 Nov 2024 19:51:22 +0000 https://blogs.perficient.com/?p=371233

Ever wondered what a day looks like when technology meets teamwork? 

As a technical architect at Perficient, Rodrigo Vargas builds solutions and bridges between teams, tools, and ideas. From streamlining automation across multiple frameworks to shaping roadmaps and client strategies, every day is a blend of technical challenges and creative collaboration. 

Curious to see how it all unfolds? Let’s dive in! 

 

Whatsapp Image 2024 10 09 At 12.56.57What is your role? Describe a typical day in the life. 

As a technical architect, I lead the standardization and optimization of six CI/CD/CT automation teams across multiple technology stacks. My job involves implementing agile methodologies to synchronize end-to-end testing across multiple frameworks.  

I also lead PDF content validation efforts for clinical letters and develop comprehensive roadmaps in collaboration with IT team members to improve document processing workflows. A crucial aspect of my role is to facilitate direct communication with client stakeholders for accurate estimation and roadmap planning while optimizing workload distribution and improving cross-team collaboration. 

How do you explain your job to family, friends, or children? 

My role is similar to that of an architect and construction supervisor, but in the world of computer programs. I ensure that programs are built correctly, work seamlessly together, and perform as expected.  

I also explain how I lead a team that creates special tools to check that everything works perfectly. Simply put, my job is to ensure that the software we create is high quality and meets our clients’ needs. 

Whether big or small, how do you make a difference for our clients, colleagues, communities, or teams? 

In my role, I make a difference through technical innovation and effective leadership. For our clients, I streamline critical processes and improve software quality, resulting in more efficient and reliable solutions. This not only directly benefits businesses, but also has a positive impact on the communities that use these services. 

With my colleagues and teams, I foster an environment of continuous learning and collaboration. Sharing knowledge about emerging technologies and agile methodologies not only improves our projects, but also drives the professional growth of each team member. My focus on skill development and innovation creates a positive ripple effect, elevating the quality of our work as a team and the satisfaction of our clients. 

What are your proudest accomplishments, personally and professionally? Any milestone moments at Perficient? 

In my professional career, I am proud to have successfully led the standardization and optimization of many CI/CD/CT automation teams for different clients. This achievement significantly improved the efficiency of our processes and elevated the quality of our deliveries. Implementing agile methodologies and integrating automated testing into our workflow are important milestones that have transformed the way we work. 

Personally, I consider my continuous learning and adaptation to modern technologies, especially in the field of artificial intelligence and language models, a great achievement.  

My ultimate goal is transcendence. 

Ecb97fcd 409f 4392 8f5e F8e76f433d1d

What has your experience at Perficient taught you?

I have learned the value of interdisciplinary collaboration. At Perficient, I have seen how constructive collaboration between different specialties can generate innovative solutions and solve insurmountable challenges. 

Perficient has helped me in the arduous task of maintaining a balance between technical excellence, interpersonal skills, and devoting time to my family and children. 

What advice would you give to colleagues who are starting their career with Perficient? 

Always remember that behind every line of code, every project, and every technical challenge, there are people. Cultivate authentic relationships with your colleagues and clients. Technology is our tool, but it is human connections that truly drive innovation and success. 

Do not be afraid to show your vulnerability. It is okay to admit that you do not know everything. In fact, this honesty will open doors to learning and fostering an environment of trust within the team. Share your doubts, celebrate your successes, and learn from your failures openly. 

Keep your curiosity alive beyond technology. Explore interests outside of work, whether it’s art, music, sports, or any other passion. These diverse experiences will enrich your perspective and help you provide more creative and comprehensive solutions to technological challenges. 

Why did you choose Perficient? What keeps you here? 2a348257 488b 4b18 813c 6c63581a3b02

What keeps me here is the unique culture.  

Perficient is not just a place to work; it is an ecosystem of continuous learning and collaboration. My ideas are valued, and I have an opportunity to influence the development of solutions that make a difference for our clients.  

Why are you #ProudlyPerficient? 

At Perficient, my ideas are heard, and my contributions have a real impact. From leading the standardization of automation equipment to implementing innovative AI solutions, Perficient has given me the platform to drive change and innovation in the tech industry. 

What makes me truly proud is how Perficient fosters an environment of continuous learning and collaboration. We not only focus on delivering exceptional solutions to our customers, but we also invest in the personal and professional growth of each team member. 

What motivates you in your daily work? 

What motivates me in my daily work is the combination of technical challenges and the human impact that our solutions generate.  

Every day, I am driven by the opportunity to solve complex problems using innovative technologies, knowing that our work improves processes and people’s lives. 

How have you grown your career with Perficient? 

An important milestone in my growth was the transition from a purely technical role to a technical leadership role. Perficient gave me the opportunity to lead multidisciplinary teams on complex projects, allowing me to develop project management and team leadership skills. 

The company has also fost3813f739 7529 4a08 B8af C7ed71239d97 (1)ered my development in emerging technologies. For example, I have been able to delve deeper into areas such as artificial intelligence and large language models (LLM) and apply this knowledge in innovative future products for our clients. 

With Perficient’s mission statement in mind, how do you forge our future? 

Shaping the future, to me, is about more than just technology. It is about how we use our skills and knowledge to make the world a better place. When I am designing a solution, I ask myself, “How will this make life easier for someone? Are we really solving a problem that matters?”  

I also believe that shaping the future is about cultivating genuine relationships. At Perficient, we do not just build systems; we build trust. I strive to get to know my colleagues and clients and to understand their dreams and fears. Because in the end, technology is just a tool; it is the people who make the difference. 

If you had to define yourself using one Perficient value, which would it be and why? 

I would choose Collaboration.  

This value resonates deeply with me because true magic happens when we bring together diverse minds and perspectives. It is important to create an environment where all voices are valued, and where ideas can flow freely without fear of judgment. In my projects, I always seek to foster this spirit of openness and mutual respect. 

What are you passionate about outside of work? 

I am passionate about programming, music, taking long walks outdoors in the Los Andes Mountain range, and traveling. I also spend quality time with my three children and partner. 

74e2864d 0fe6 4d3e 867b 65e3511c98e1What’s something surprising people might not know about you or your background? 

I am part of a music group called Alejandría We create the kind of music that we like, which is outside of the mainstream. It is difficult, but it is tremendously gratifying.  

Perficient believes in a strong work/life balance. What is one way you accomplish this? 

Every other weekend, I set out to explore a new programming idea involving AI. This helps me maintain a balance between work and personal development, while also keeping me on the forefront in a rapidly evolving field.  

It’s my way of “playing” with technology without the pressure of deadlines or work expectations. Sometimes I experiment with a new machine learning algorithm, and sometimes I try to create a small chatbot. The important thing is that I do it for fun and personal curiosity. 

Connect with Rodrigo on LinkedIn: Rodrigo Vargas Molina 

 

SEEMORE PEOPLEOF PERFICIENT 

It is no secret our success is because of our people. No matter the technology or time zone, our colleagues are committed to delivering innovative, end-to-end digital solutions for the world’s biggest brands, and we bring a collaborative spirit to every interaction. We are always seeking the best and brightest to work with us. Join our team and experience a culture that challenges, champions, and celebrates our people.     

Visit our Careers page to see career opportunities and more!     

Go inside Life at Perficient and connect with us on LinkedIn, YouTube, Twitter, Facebook, TikTok, and Instagram. 

 

]]>
https://blogs.perficient.com/2024/11/05/people-of-perficient-meet-rodrigo-vargas-technical-architect-from-chile/feed/ 0 371233
Meet Martin Krahl: Director of Software Engineering at Perficient https://blogs.perficient.com/2024/11/05/meet-martin-krahl-director-of-software-engineering-at-perficient/ https://blogs.perficient.com/2024/11/05/meet-martin-krahl-director-of-software-engineering-at-perficient/#respond Tue, 05 Nov 2024 17:00:49 +0000 https://blogs.perficient.com/?p=371252

Having spent nearly six years at Perficient, Martin Krahl serves as Director of Software Engineering, where he balances strategy, mentorship, and technical excellence. From identifying business opportunities to building high-performing teams, his work ensures smooth project delivery and lasting impact. 

Curious to learn more about his journey, accomplishments, and advice? Read the full story and get inspired! 

Connect with Martin on LinkedIn: Martin Krahl Vitale 

 

What is your role? Describe a typical day in the life 

As the Director of Software Engineering, I oversee technical leadership and career development within the organization. My day usually involves a mix of strategy and hands-on guidance. A significant part of my role is acting as a technical advisor to help the business unit identify new opportunities from a technical and capability standpoint.  

I also help assemble the most efficient teams for our clients and oversee the delivery health and engineering excellence of multiple projects. Additionally, I mentor team members and work with them on their career development to ensure they have the skills and support to grow and excel in their roles. 

 

Whether big or small, how do you make a difference for our clients, colleagues, communities, or teams? Couple

I make a difference by prioritizing the career development of our people. Through mentoring and knowledge sharing, I contribute to building skilled teams that are prepared to tackle the tough challenges our clients may face. 

 

What are your proudest accomplishments, personally and professionally? Any milestone moments at Perficient? 

One of my proudest accomplishments at Perficient is being part of the team, led by Nicolas Pagliaro and Sebastian Giardello, that developed the HCL Commerce capability in Latin America. This initiative significantly contributed to our global depth strategy for the Commerce practice. 

 

Learn More: Perficient’s Expertise in Commerce 

 

What advice would you give to colleagues who are starting their career with Perficient? 

I would advise them not to be afraid of taking on new challenges. New roles or responsibilities can be tough in the beginning, but it’s important to learn how to manage the initial uncertainty. It will pay dividends in the long term. 

 

Why are you#ProudlyPerficient? 

I’m #ProudlyPerficient because I work with some of the most talented people in the industry. We truly make an impact on our clients by delivering robust and innovative solutions, and learning from each other, which makes Perficient a great place to develop a long-term career. 

 

Read More: How Perficient’s Award-Winning Culture Prioritizes Growth for Everyone 

Family

With Perficient’s mission statement in mind, why do we obsess over client outcomes? 

Obsessing over client outcomes means truly understanding their needs and challenges. Ultimately, our goal should be to add business value, and technology serves as the driver to achieve this in the most effective way. 

 

If you had to define yourself using one Perficient value, which would it be and why? 

If I had to define myself using one Perficient value, I would choose collaboration. I am always ready to help others by contributing to the development of new processes, mentoring colleagues, and providing support with technical challenges during project delivery. I believe that working together and sharing knowledge leads to better outcomes for everyone.

 

Martin’s journey at Perficient is a testament to the power of leadership, collaboration, and continuous growth. As he continues to mentor others and push the boundaries of innovation, Martin remains committed to creating meaningful solutions that make a lasting impact. With nearly six years under his belt—and many more to come—his story reflects not just personal success, but the spirit of teamwork that defines Perficient. 

Pets 

SEE MORE PEOPLE OF PERFICIENT

It’s no secret our success is because of our people. No matter the technology or time zone, our colleagues are committed to delivering innovative, end-to-end digital solutions for the world’s biggest brands, and we bring a collaborative spirit to every interaction. We’re always seeking the best and brightest to work with us. Join our team and experience a culture that challenges, champions, and celebrates our people.    

Visit our Careers page to see career opportunities and more!    

Go inside Life at Perficient and connect with us on LinkedIn, YouTube, Twitter, Facebook, TikTok, and Instagram. 

]]>
https://blogs.perficient.com/2024/11/05/meet-martin-krahl-director-of-software-engineering-at-perficient/feed/ 0 371252
4 Guidelines That Helped Me Consult as a Product Owner https://blogs.perficient.com/2024/09/02/4-guidelines-that-helped-me-consult-as-a-product-owner/ https://blogs.perficient.com/2024/09/02/4-guidelines-that-helped-me-consult-as-a-product-owner/#respond Mon, 02 Sep 2024 14:22:54 +0000 https://blogs.perficient.com/?p=369953

The Challenge

Knowledge about a product navigates product owners through a maze of complex decisions they need to make regularly.  Awareness of the business needs behind a product, the users who will benefit from it, and the functionalities it puts on the table, helps product owners maximize delivered value and successfully collaborate with stakeholders. Such awareness and expertise take time to build, so product owners invest significant effort to understand their field of interest and strengthen their knowledge.

But what happens when consultant product owners join a new project and need to quickly identify valuable information specific to client business goals?

The challenge resides in the fact projects often have a limited duration, and clients have their own knowledge networks that consultants need to adapt to.

In this scenario, product owners benefit from being flexible and capable of balancing focus on client needs and adaptation to the project environment.

To maintain such balance, I have followed four guidelines that have helped me consult as a product owner. These can be summarized as aligning with a new team, identifying the right knowledge sources, and building trust by strengthening communication skills and knowing how to share knowledge in the right way.

4 Guidelines for Product Owners

1. Strong Team Collaboration

While knowledge about a product stands as a centerpoint of the product owner role, strong collaboration with the team accelerates the pace toward great performance. Therefore, maintaining a balance between learning about a product and learning about the team’s inner processes can provide invaluable information about the project’s dynamics.

For example, transparent communication with Scrum Masters can provide insight not just into common blockers but also into how the team processes information about product goals. Establishing procedures for managing user story creation as a team and learning how a team responds to different Scrum events can also significantly improve the health of a backlog. When product owners understand how to analyze information and participate in discussions, they build the backlog more efficiently by clarifying and channeling key data required to successfully deliver product goals.

2. Active Listening

Joining a new project can be a significant challenge, and we often want to showcase our strengths as soon as possible in order to build a good relationship with a client.

But one of the best ways to provide support is to also turn our focus outward and actively listen to clients’ needs. Whether we interpret written or oral communication, we should carefully analyze the information to truly understand how our expertise can close the gaps and bring value.
Being an active listener also gives us another advantage: identifying key subject matter experts who can help us learn and adapt.

3. Identifying Subject Matter Experts

Consultants adapt to the assigned project team structure and identify the main communication points to set up their workflow and successfully collaborate with clients.

The Product Owner role often requires expanding our outreach and actively searching for subject matter experts (SMEs) who can help us understand a product’s core and the value we need to bring to the table. A good approach could include paying attention to who attends meetings and is active on communication channels, along with the topics they discuss and the manner they use for topic analysis. Once we identify the network of contacts, we can use it to build a clearer image of the product we manage.

4. Knowing How to Share Knowledge

Knowledge can be shared in many different forms, and if a product owner identifies the ones that fit client needs, they can build trust in their expertise and experience. The process of recognizing the right approach to share knowledge includes researching what a client prefers in areas such as:

  • Presentation style
  • Preferred written format (articles, blogs, or similar)
  • Method of communication (language style, channels, manner of speech)

Each Project Is a New Beginning

Each project brings forth a new set of topics to learn, challenges to overcome, and methods to incorporate to adapt to a new working environment.

Therefore, the listed guidelines open a dialogue that will continue in the next blog, where I will interview other product owners and highlight the guidelines they follow to be successful consultant product owners.

]]>
https://blogs.perficient.com/2024/09/02/4-guidelines-that-helped-me-consult-as-a-product-owner/feed/ 0 369953
Harnessing the Power of AWS Bedrock through CloudFormation https://blogs.perficient.com/2024/08/20/harnessing-the-power-of-aws-bedrock-through-cloudformation/ https://blogs.perficient.com/2024/08/20/harnessing-the-power-of-aws-bedrock-through-cloudformation/#comments Tue, 20 Aug 2024 09:38:41 +0000 https://blogs.perficient.com/?p=367196

The rapid advancement of artificial intelligence (AI) has led to the development of foundational models that form the bedrock of numerous AI applications. AWS Bedrock is Amazon Web Services’ comprehensive solution that leverages these models to provide robust AI and machine learning (ML) capabilities. This blog delves into the essentials of AI foundational models in AWS Bedrock, highlighting their significance and applications.

What are AI Foundational Models?

AI foundational models are pre-trained models designed to serve as the basis for various AI applications. These models are trained on extensive datasets and can be fine-tuned for specific tasks, such as natural language processing (NLP), image recognition, and more. The primary advantage of using these models is that they significantly reduce the time and computational resources required to develop AI applications from scratch.

AWS Bedrock: A Comprehensive AI Solution

AWS Bedrock provides a suite of foundational models that are easily accessible and deployable. These models are integrated into the AWS ecosystem, allowing users to leverage the power of AWS’s infrastructure and services. AWS Bedrock offers several key benefits:

  1. Scalability: AWS Bedrock models can scale to meet the demands of large and complex applications. The AWS infrastructure ensures that models can handle high volumes of data and traffic without compromising performance.
  2. Ease of Use: With AWS Bedrock, users can access pre-trained models via simple API calls. This ease of use allows developers to integrate AI capabilities into their applications quickly and efficiently.
  3. Cost-Effectiveness: Utilizing pre-trained models reduces the need for extensive computational resources and time-consuming training processes, leading to cost savings.

Key Components of AWS Bedrock

AWS Bedrock comprises several key components designed to facilitate the development and deployment of AI applications:

  1. Pre-trained Models: These models are the cornerstone of AWS Bedrock. They are trained on vast datasets and optimized for performance. Users can select models tailored to specific tasks, such as text analysis, image classification, and more.
  2. Model Customization: AWS Bedrock allows users to fine-tune pre-trained models to meet their specific needs. This customization ensures that the models can achieve high accuracy for specialized applications.
  3. Integration with AWS Services: Bedrock models seamlessly integrate with other AWS services, such as AWS Lambda, Amazon S3, and Amazon SageMaker. This integration simplifies the deployment and management of AI applications.

 

Amazon Bedrock supports a wide range of foundation models from industry-leading providers. We can choose the model that is best suited to achieving your unique goals.

Here are just a few of the popular ones:

11

Note: Account users with the correct IAM Permissions must manually enable access to available Bedrock foundation models (FMs) to use Bedrock. Once Model Access is granted for that particular region, we can use it to build and scale our application.

Using AWS Bedrock services requires specific IAM permissions to ensure that users and applications can interact with the service securely and effectively. Basic Bedrock Access, Model Training and Deployment, Inference and Usage, Data Management, Compute Resources Management, Security and Identity Management, Monitoring, and Logging are the types of IAM permissions that are typically needed.

The cost parameters for using AWS Bedrock include Compute, Storage, Data Transfer, and Model Usage costing depending on the Number of Input tokens for units per month. Understanding these parameters can help estimate the costs associated with deploying and running AI models using AWS Bedrock. For precise cost calculations, AWS provides the AWS Pricing Calculator and detailed pricing information on its official website.

Let’s try to implement any one of these foundation models (for example: Titan) using AWS CloudFormation service.

Amazon Titan in Amazon Bedrock

Amazon Bedrock exclusively offers the Amazon Titan series of models, which benefit from Amazon’s 25 years of innovation in AI and machine learning. Via a fully controlled API, these Titan foundation models (FMs) offer a range of high-performance choices for text, graphics, and multimodal information. Created by AWS, Titan models are pre-trained on extensive datasets, making them powerful and versatile for a wide range of applications while promoting responsible AI usage. They can be used as they are or customized privately with your data.

Titan models have three categories: embeddings, text generation, and image generation. Here, we will focus on the Amazon Titan Text generation models, which include Amazon Titan Text G1 – Premier, Amazon Titan Text G1 – Express, and Amazon Titan Text G1 – Lite. We will implement “Titan Text G1 – Premier” from the list above.

Amazon Titan Text G1 – Premier

Amazon Titan Text G1 – Premier is a large language model (LLM) for text generation that is integrated with Amazon Bedrock Knowledge Base and Amazon Bedrock Agents and is highly helpful for a variety of tasks, including summarizing, code generation, and answering open-ended and context-based questions, and also supports Custom Finetuning in preview.

ID – amazon.titan-text-premier-v1:0

Max tokens – 32,000

Language – English only

Use cases – 32k context window, Context-Based Question Answering, open-ended text generation, Knowledge Base support, Agent’s support, chain of thought, rewrite, brainstorming, summarizations, code generation, table creation, data formatting, paraphrasing, extraction, QnA, chat, Model Customization (preview).

Inference parameters – Temperature, Top P (Default: Temperature = 0.7, Top P = 0.9)

While implementing this using CloudFormation, we will first need to create a stack for it. Creating a stack template for AWS CloudFormation involves defining your AWS infrastructure and resources using either JSON or YAML format.

Let’s try to implement the Python AWS Lambda function that utilizes the AWS Bedrock’s Titan service to generate text based on an input prompt through a YAML-based cloud formation script.

22

The given AWS CloudFormation template defines resources for creating an IAM role and a Lambda function to invoke a model from AWS Bedrock i.e., providing text generation capabilities through the specified Titan model.

IAM Role

  • Allows Lambda to assume the role and invoke the Bedrock model.
  • Grants permission to invoke the specific Bedrock model (amazon.titan-embed-text-v1) and list available models.

Lambda Function

  • Python function that uses Boto3 to invoke the Bedrock model amazon.titan-text-premier-v1:0.
  • Sends a JSON payload to the model with a specified configuration for text generation. Returns the response from the model as the HTTP response.
  • If we check the Lambda function’s dashboard, then the “index.py” file, contains:

33
This AWS Lambda function interacts with the AWS Bedrock service to generate text based on an input prompt. It creates a client for the Bedrock runtime, invokes a specific text generation model with given configurations, processes the response to extract the generated text, and returns this text in an HTTP response. This setup allows for the automation of text generation tasks using AWS Bedrock’s capabilities.

Execution Results

44

As seen in the Response window for the input given as: “Hello, how are you?”, it has returned the output text as “Hello! I’m doing well, thank you. How can I assist you today?”.

In this manner, AWS Bedrock’s Amazon Titan Text G1 – Premier model is designed for a wide range of natural language processing (NLP) tasks due to its advanced capabilities and large context window.

]]>
https://blogs.perficient.com/2024/08/20/harnessing-the-power-of-aws-bedrock-through-cloudformation/feed/ 7 367196
PRISM’s Pronouns 101 https://blogs.perficient.com/2024/07/24/prisms-pronouns-101/ https://blogs.perficient.com/2024/07/24/prisms-pronouns-101/#respond Wed, 24 Jul 2024 15:59:41 +0000 https://blogs.perficient.com/?p=366277

Perficient’s newest ERG, PRISM, kicked off the summer with vibrant celebrations and important conversations surrounding Pride and the LGBTQIA+ community. A key event this year was our “Pronouns 101”, an enlightening and empowering session focused on understanding and respecting the diverse identities within our community.

Pronouns 101 provided attendees and viewers with a comprehensive understanding of pronouns and their significance in fostering a respectful and welcoming environment for everyone.

The session began by reviewing a detailed explanation of what pronouns are and why they matter. We discussed the importance of using the correct pronouns to show respect and acknowledgement of each individual.

One of the key points was the use of neo-pronouns such as xe, ze, and even they. Gender neutral pronouns have been in use since at least the 1800’s with the singular use of “they” going back to the 14th century.

Some of the best practices reviewed focused on three key elements: share, ask, and don’t assume. The best thing we can do as leaders is to normalize introductions of pronouns by introducing ourselves with pronouns. For example, “Hi, my name is Nicole, and I use she/they pronouns”.

Leaders can take things a step further by making this a standard part of introductions with new teams. This helps ensure everyone is included and feels seen and heard.

So, what happens if you make a mistake?

Images

Mistakes happen, we all say the wrong thing sometimes. The best thing to do when you make a mistake is apologize and move on.

If you’re thinking, what else can I do, here are some great options!

Remember that acknowledging and using correct pronouns shows that we value everyone and helps create a more welcoming environment.

Be mindful of gendered phrases. We often use gendered phrases like “Hey guys” and “Welcome ladies and gentlemen”. These phrases can make individuals feel ostracized or undervalued. Some great alternatives are using phrases like “Hey all”, “Welcome everyone”, and “Great work team” are just some examples of alternatives.

Download

Remember that using the correct pronouns helps affirm identity, validates individual experiences, and can significantly impact a person’s sense of belonging and safety.

Using correct pronouns is more than a matter of grammar; it’s about recognizing and affirming each person’s identity. It is a simple yet powerful way to show respect and create a sense of belonging. By making a conscious effort to use correct pronouns, we contribute to a more inclusive and accepting society.

The Pronouns 101 event was a fitting conclusion to Pride Month, reinforcing the values of acceptance, understanding, and respect. As we move forward, let us carry the lessons learned and continue to advocate for inclusivity in our daily lives. By embracing and respecting each other’s identities, we build a stronger, more united community.

 

]]>
https://blogs.perficient.com/2024/07/24/prisms-pronouns-101/feed/ 0 366277
Are we Agile Yet? https://blogs.perficient.com/2024/06/24/are-we-agile-yet/ https://blogs.perficient.com/2024/06/24/are-we-agile-yet/#respond Mon, 24 Jun 2024 07:54:38 +0000 https://blogs.perficient.com/?p=364930

Agile is a Cliché, a widely used Phrase in today’s Industrial timeline. Evey Organisation, Group, Team wants to be Agile. But is it adopted in the name only???

Agile frameworks hold such promise. From focusing on value driven delivery to empowered investors or stakeholders, it is the time to be part of enthusing Software development.

There are fairy stories about what an Agile team should be like:

  • It is a belief that an Agile team should not require a manager.
  • The team should be able to forecast all scopes and delivery timelines up ahead.
  • The team should always be self-sustaining all the time.
  • Focus on the Tasks completion and make very little room for changes.

If you are agreeing to all or some of them, then it is time to change and consider the fact.

Here are some of the signs that backs-up the Agile is in name only but not a mindset

1. Requiring a large Document at the beginning

Being Agile is to choose Incremental Delivery, allowing team to learn adapt for new information and changes. Obtaining an exhaustive requirement document paves the way for traditional waterfall approaches and limits the team’s ability to think through, adapt and innovate

2. Marginalizing the Product Owner

For a consultant like us the Product Owner is the Client or the Client’s SPOC who provides the Product Backlog. Frequent and periodical communication empowers the Product Owner decide on the content and prioritizing the content in a Product Backlog, thereby giving an edge to the team for faster delivery. Remember empowering a Product Owner leads to the success of the team.

3. Micro-Management

Micromanaging the developers is contradictory to one of the principles of Agile; self-Organization, limiting the team’s ability to respond to change effectively.

4. Count of Ticket or Outcomes…Which one?

We often submerge ourselves into completing the listed Tasks than to really look upon the quality of the Outcome and value delivered. Agile success is measured not by the Volume of Tasks handled by the team but by delivering meaningful results.

5. Expecting a Project Plan Instead allowing team to adapt as more is learned

Agile frameworks prioritize adaptability and responsiveness to change. Rigid project plans do not allow for the iterative learning and adjustment that are core to agile practices.

6. Too many columns on your board

Using Tools such as Jira, Trello, YouTrack etc. are important to keep a track, however over-emphasizing on the usage and adding too many columns will only cause chaos and sometimes derail from actual collaboration and continuous improvement.

7. Lack of Continuous improvement

Agile team should constantly strive to reflect on their processes and seek ways to improve. The Agile process stagnates if there are no room for continuous improvement. It is necessary to create a feedback loop for continuous improvement through Sprint reviews. Agile methodologies promote frequent collaboration with all stakeholders to ensure the product meets the demand, undermining the same indicates shallow adoption of it.

 

Agile is all about finding what is the best for team for perform effectively.

For Example: A Team is forced to use the user story format to capture and document technical details in the Product Backlog when it doesn’t really make sense and perhaps extra efforts and Time spent. This is the sign the team is forced to use complementary practices when it is not needed.

Treating Agile as just a set of Practice rather than a mindset and change focused on flexibility, collaboration and continuous improvement misses the essence of being Agile.

Remember, Agile Transformation is a journey which cannot be obtained overnight. But as the wise say, every positive steps adds to the glory. Change takes time, and sometimes, a series of small improvements will get you there faster than trying to change everything at once.

 

Happy Agile

]]>
https://blogs.perficient.com/2024/06/24/are-we-agile-yet/feed/ 0 364930