Single Sign-On for Spotler Group

Introduction

We have been working with the Spotler Group for over 3 years. After starting work on the Email Editor project, the client invited us to collaborate on the creation of the Single Sign-On system.

Focus

Objective

To create an SSO system that would unify various products of the Spotler Group under a single brand.

Needs

Approach

We started with discovery workshops, during which we received both technical information about the projects that the SSO would cover and a specification of business requirements.

The results of the workshop provided a basis for conducting an extensive review of commercially available SSO solutions. We presented the advantages and disadvantages of each solution to the client’s Steering Group. After selecting a core solution, a draft of the proposed architecture was prepared. Until that time, the process had been supported by our architect, who had already created similar solutions for other clients.

We used lessons learned from previous projects to avoid potential pitfalls. The next step consisted of the implementation, first of the MVP version and then of the testing phase. The verification of the MVP version was conducted simultaneously with the onboarding of the technical support staff, who provided additional feedback on the part of the application responsible for handling user requests.

The next stage involved deploying the solution to the production environment and beginning the onboarding of customers. Throughout the entire process, our team not only improved the solution but also provided assistance to the teams responsible for specific Spotler Group products in integrating with the SSO system.

In managing the work of the development team from ArdentCode, we used the Kanban method. The entire process was supervised by a manager from Spotler.

During the project, we delivered weekly progress reports. Initially, the reports were presented to the Steering Group, and later to the CTO and Head of Product Development at Spotler.

Key changes

Results

Conclusion

SSO enables improved security and therefore helps protect the privacy and safety of Spotler Group users. Ultimately, after the migration has been completed, the system will also enable a reduction in costs related to the maintenance of authentication systems.

WCAG #2 – 994 accessibility fixes, one compliant platform

Introduction:    

ArdentCode has partnered with Wolters Kluwer for several years, and their latest need was to ensure that their flagship legal research platform, VitalLaw (formerly Cheetah™), meets WCAG 2.2 Level AA accessibility standards. This was a challenging task due to the large-scale, long-term nature of the project. 

Focus: 

Objective:   

To ensure that VitalLaw meets WCAG 2.2 Level AA standards, to enhance accessibility and compliance, thereby improving user experience and ensuring compliance with legal requirements. 

Needs:  

  1. Ensuring that VitalLaw complies with WCAG 2.2 Level AA standards, especially as more laws nowadays focus on web accessibility compliance. 
  1. Fix all identified accessibility issues in the VitalLaw platform. 

Approach:  

  1. An external company conducted a thorough audit to identify accessibility issues. 
  1. The ArdentCode team addressed all 994 reported issues, creating Jira tickets for each WCAG success criterion. 
  1. External dependencies were resolved in collaboration with various teams 
  1. Fixes were implemented in areas such as keyboard accessibility, colour contrast, HTML semantics and many others. 
  1. Merged PRs covering some of the work, with ongoing efforts to fix issues, including those awaiting solutions from UI/UX designers and other teams responsible for external dependencies. 

Key changes

Results:  

  1. 994 accessibility issues were identified and addressed. 
  1. Improved compliance with WCAG 2.2 Level AA standards. 
  1. Enhanced user experience for all users, including those with disabilities. 
  1. Strengthened Wolters Kluwer’s reputation for accessibility and compliance. 
  1. Contributed to a more inclusive digital environment, in line with global accessibility standards. 

Conclusion:  

Our collaboration with Wolters Kluwer has significantly improved the accessibility of their VitalLaw platform, demonstrating ArdentCode’s capability to handle complex accessibility challenges and deliver compliant solutions. This project highlights our commitment to creating inclusive digital experiences. 

WCAG #1 – solutions with amazing scalability

Introduction:     

As a part of blended team our team members cooperate in a Wolters Kluwer internal team. Its objective is to create tools that other Wolters Kluwer products can utilize to make the products brand compliant, follow the accessibility standards, and speed up the development. Our solutions are exceptionally scalable. By developing a single solution, we can successfully implement it across more than 100 different products, demonstrating its versatility and flexibility.

Focus:  

Objective:   

We aim to revise our principles to ensure that our components are not only visually appealing but also exhibit excellent functionality and behavior.   

Needs:  

Build DEV team awareness of the necessity of accessibility and providing information on what it involves. 

Provide the components that prioritize accessibility, usability, and meet legal standards.  

Approach:  

  1. Leveraging our knowledge to address complex challenges and avoid common pitfalls. 
  1. Analyzing how to implement WCAG requirements in client environments, ensuring compliance while sidestepping typical issues. 
  1. We have introduced automated accessibility testing into our Continuous Integration pipeline. 
  1. Proper keyboard navigation is now the must have in our components. 
  1. We started using the screen reader on a daily basis. 
  1. Strong collaboration with UX team regarding accessibility challenges. 

Key changes:  

Results:  

  1. Components strictly adhere to WCAG AA guidelines and follow the best practices outlined by the W3C, ensuring that they are as semantic as possible and offer a seamless user experience.  
  1. Hundreds of product teams can build their applications based on the blocks that meet the highest standards. 

Conclusion:  

The new strategy that we applied while creating the components helps us to provide the highest quality building blocks for our clients. These can be recommended as inspirational for other teams as a great starting point while building the user-friendly solutions yet following the guidelines of the ADA and EAA. The components are meticulously designed to meet these requirements, helping clients avoid potential legal challenges while fostering an inclusive online environment.  

Solo or in a team? 

Surely, everyone knows when it’s better to work individually and when to be a part of a team. It’s so obvious! Or is it? We’ve prepared a summary outlining when it’s better to work alone and when it is more effective to engage a team. For those who prefer a quick glance, we’ve got a concise graphic. And for the others, we encourage you to read on. 

I’ll handle it myself

Tasks that require deep concentration, coherence, and quick decision-making are better done independently. This way, we can avoid the burden of having to discuss or wait for decisions. Acting solo also works well when there’s a high level of responsibility for results, independence, and control over processes. Tasks that require specialized skills form a separate category for solo work. 

Let’s do it together

Teamwork is more effective for projects or tasks that demand a variety of skills. This is often due to the complexity or scale of the project. Combining the knowledge of multiple experts helps find more comprehensive and innovative solutions. Similarly, tasks that require creativity and the exchange of ideas are better suited for a team. Complex, multidimensional issues are also better tackled in a group than alone, and tasks that require a high level of engagement—when there’s a lot to do in a limited time—benefit from building a team, which significantly increases the chances of success. 

When else should we build a team? 

In our organization, we place particular emphasis on learning competencies and sharing expert knowledge within the company. This is a natural and engaging way to develop skills and strengthen team bonds, leading to a high level of mutual trust among employees. Another important value at ArdentCode is effectiveness, which we understand as the combination of high quality, the right pace of action, and proper organization of work. 

Summary

Modern organizations face the challenge of balancing the choice between individual work and teamwork. The decision which path to choose depends on the problem at hand. Another challenge for companies is finding the golden mean between the need for independence and group work, especially when many team members are seasoned experts with high qualifications. However, those considerations will be left for another occasion.

Case study of Email Editor – great cooperation

Introduction

Spotler Group is a European provider of digital marketing and communication tools, which helps companies engage customers and enhance their brand experience. The Spotler Group has grown in part by acquiring companies that offer solutions in the MarTech space. As the group expanded, the need for a modern, scalable email editor that could be integrated with multiple products became apparent, and in 2022, the decision was made to begin work on such an editor. ArdentCode, with its experience in similar projects, was chosen to partner with Spotler to execute the task.

Product

The concept of the Email Editor had been analyzed and developed within the Spotler Group for some time. However, due to limited internal resources, it was necessary to open up to an external partner. ArdentCode, with its experience, was the natural choice for the project. As work progressed, the scope changed, and we expanded the team, adapting to the client’s evolving expectations.

Focus: 

Objective:  

Implement an application providing an email editor for non-technical users that can also be embedded in existing applications created in various technologies.

Needs: 

  1. Replace previous and costly-to-maintain editors
  2. Introduce a consistent design across products of one group, facilitating the use of the editor in different applications
  3. Eliminate the differences between them
  4. Use and develop Spotler Group’s Domain-specific language for email needs

Approach: 

  1. Take over the internally built PoC (Proof of Concept).

Starting work involved analyzing the implementation of the first version of the editor as a Proof of Concept. We verified the design from both the technical and functional points of view. Based on this evaluation, we provided guidance for the further direction of work.

2. Create the MVP (Minimal Valuable Project). 

After the analysis, we formed a project team that joined the existing team, and as a blended team, we completed the first version of the editor in accordance with the specification.

3. Deployment. 

After testing, we launched the editor’s production version. Proper implementation in one application was the key, to be followed by others. 

Results: 

  1. Reduced maintenance costs. By replacing multiple editors with one common solution, Spotler Group was able to significantly reduce future development costs and streamline the development of a single editor. 
  2. Introduction of a single email editing tool. This change contributed to delivering a vast amount of functionality to several products simultaneously, implementing AI assistants, creating a unified brand management system, and integrating with external service providers.
  3. Verification of the internal idea. The editor uses a descriptive markup language (SPML) created specifically for this project. The project’s success confirmed that creating SPML was a good direction, as the application is not dependent on external solutions.

Conclusion: 

The implementation of the Email Editor allowed for the optimization of various applications offered by Spotler Group, significantly reducing the costs of maintaining the teams responsible for the product operation and creating a wide range of new possibilities. The universal application of the new solution also contributed to simplifying deployment procedures for end clients, who, having access to diversified solutions from Spotler Group, could quickly and easily adapt to new functionalities. 

5 proven ways to burn out the best ones

Let’s set some assumptions — ideally, articles about inappropriate management practices should not exist. But our daily reality is not a utopia, and burnout issues have been described from many perspectives and in many ways. However, to show how easy it is to lead the best people on the team to have a sense of futility, we present a ready-made recipe—applying these practices guarantees negative consequences, even in the short term.

1. Guess what I expect from you

Most misunderstandings and frustrations arise from gaps in communication. They may stem from managers’ failure to define the key areas for which team members are responsible. Another threat is the inconsistency in defining roles and responsibilities. Examples? One day, give an employee the feeling that they should take the initiative and that their suggestions are valuable. And shortly after, criticize them for their engagement and reduce them to a typical do-it role. However, when the project is delayed or problems arise, blame (and responsibility) should fall on the employee.

2. If I’m not criticizing it, It’s OK—don’t you know?

The highest form of praise is the absence of criticism? Great, if you want to smother any enthusiasm and engagement within your team. Some managers assume that the only form of feedback should be pointing out elements for correction or change, forgetting how important it is to appreciate positive aspects, progress, and development. Lack of appreciation is one of the most common problems in teams. An example from our backyard is a situation where an employee devoted all their energy and skills for weeks to meet expectations within the deadline. However, they received no feedback, so they took the initiative and proposed a one-on-one meeting. When they directly asked for feedback on their performance, they received a response that can be paraphrased as: “Don’t you know that if I don’t give feedback, it means that everything is OK?”

3. Don’t bother me, just get it done

Arrogant remarks directed at team members do not reflect one’s position or competencies but rather significant communication issues. It is worth noting that when involving an engineer with a specific specialisation in a project, it is necessary to trust their knowledge and skills. Pushing for an accelerated process or ignoring information about necessary solutions may result in the project’s failure. The consequence is burnout, manifested by indifference, a sense of powerlessness, and turning a dedicated specialist into someone who just blindly follows orders.

4. I say one thing but do another

There’s a known saying: “Paper will take anything.” But the moment of truth comes when it turns out actions don’t match words. Yet, consistency and responsibility are the key traits of leaders. Here, it’s worth citing an example we encountered in one of our collaborations. Specialists from ArdentCode faced a situation where the client’s representative often suggested ideas without specifying requirements. Changes in expectations, requirements, and vision were also frequent and unjustified for the project. Employees who were involved in this collaboration experienced a lack of stability in decisions. This created concerns since one of a leader’s roles is to provide a sense of stability and security, which are essential in effective and productive team work.

5. What are you saying? You’d better look at yourself

Gaslighting[1] may occur not only in romantic relationships but unfortunately also in professional situations. It’s enough to conduct conversations in a way that instills doubt in the recipient about their maturity, experience, skills, and knowledge. A representation of this status may be a situation where a specialist (yet again) takes the initiative to talk about the team’s situation, project, and the communication style of the project manager. To quickly and efficiently destroy their commitment, just do not accept the criticism backed by specific arguments (constructive criticism). To defend yourself, throw in something about a personal attack and lack of professionalism.  In this way, you will stir up guilt in the employee attempting to change the situation and admit that the problem indeed lies with them.

Summary:

Each of these attitudes will negatively affect the team. Combining them practically guarantees quickly burning out even the resilient and ambitious employees. The ironic tone of this article should not overshadow its real message — that the behaviour described above indicates a lack of leadership skills and improper selection of management methods. At ArdentCode, we place a strong emphasis on effectively preventing burnout among team members, even if they are affected by a negative style of collaboration with clients. We will write about these methods in our future materials.


[1]https://www.newportinstitute.com/resources/mental-health/what_is_gaslighting_abuse/

The role of the CTO at different stages of a company’s development and financing

An effective Chief Technology Officer (CTO) understands very well the need to evolve his or her role through the successive stages of a company’s development. These are often directly related to successive rounds of financing.

Seed Stage (Seed phase): Foundations and vision

In the seed phase, the CTO plays a key role as a builder of the company’s technology foundation. During this phase, the CTO often serves as the founder or chief technology officer, who is responsible for:

Challenge: Balancing technology development with limited financial resources.

Series A: Scaling up and formalizing

Once Series A funding is secured, the CTO’s role becomes more organized and defined. At this stage, the CTO focuses on:

Challenge: The CTO manages growth and ensures that technology supports the company’s strategic goals.

Series B: Expansion and innovation

In the Series B round, the CTO’s role involves a broader range of responsibilities, including:

Challenge: Focus on innovation while managing the company’s growing structure.

Series C: Operational scaling and preparing for an IPO

At the Series C stage, the CTO plays a key role in:

Challenge: Managing large-scale technology and preparing the company for future challenges.

Pre-IPO (pre-IPO): Growth readiness

In the IPO preparation phase, the CTO’s role includes:

Challenge: Ensuring that technology and operations are ready for the big changes and challenges of an IPO.

Summary

For mature CTOs, understanding the role and challenges of each stage of financing is critical to successfully leading a technology company. From the seed stage to pre-IPO preparations, the CTO’s role requires constant adaptation and strategic thinking to support the company’s growth and help achieve its goals. It’s also worth remembering that the key and most difficult transition is from the role of a hands-on technical leader and visionary to an agile C-level leader.

Case Study

Improvement of Legal Research: 

ArdentCode’s DevOps Transformation for Wolters Kluwer’s VitalLaw

Introduction:   

ArdentCode partnered with Wolters Kluwer to upgrade their flagship legal research platform – VitalLaw (former Cheetah™). It was a challenge to introduce DevOps practices to a large-scale, multi-year project. ArdentCode aimed to increase frequency of production deployments and lower the time needed for change implementation. 

Focus: 

Objective:  

Enhance the development process for VitalLaw, while maintaining the highest standards of security. 

Needs: 

  1. Increase frequency of production deployments and lower the time needed for changes implementation 
  2. Introduce DevOps practices to VitalLaw – large scale, multi-year project 

Approach: 

  1. Continuous Integration: Through DevOps practices, ArdentCode team was able to change production deployment from two months to bi-weekly production releases. This change also gave a possibility for daily deployments. 
  2. International blended team creation: ArdentCode used DevOps tooling and practices across teams in the USA, Europe, and India, facilitating collaboration and efficiency. 
  3. Process improvement: The adoption of the Scaled Agile Framework (SAFe) enabled smoother development processes and enhanced agility. It was conducted in accordance with the client’s internal processes. Needed improvements were also enhanced.
  4. Testing and verification: There was a need to test the application in a different way – it was a basic need of the project.  The goal was to reduce testing time. We changed the scope of testing to automatically test only the areas touched in the code.  As a result, instead of testing in a few working days, we were able to deliver some changes in a few hours, with testing taking much less time once the changes were made. The number of e2e tests was reduced to each release, integrating with external applications to support testing.  

Key changes

Results: 

  1. Accelerated deployment: Deployment frequency increased from 2 months to 2 weeks, with the ability to deploy changes on a daily basis. 
  2. Changes in shortened time: Teams were able to deliver required changes more quickly. 
  3. Agility: Every code change (Pull Request, Merge Request) is a potential release candidate. 
  4. Rollback on demand: Rollback to previous version on demand  
  5. Improved stability: Less number of regression bugs. Higher confidence in the release quality. 
  6. Comprehensive tooling: DevOps tooling and practices were successfully integrated across all collaborating teams, enhancing collaboration and efficiency. 
  7. Security and elevated performance: ArdentCode ensured rigorous security and performance verification, maintaining the highest standards for VitalLaw. 

Conclusion: The adoption of comprehensive DevOps practices by ArdentCode resulted in a significant change, thanks to the reduction of deployment timelines from months to weeks, and the introduction of daily deployment capabilities. The operational shift not only accelerated change delivery but also fostered a culture of agility, where every code change became a potential release candidate, enhancing adaptability and responsiveness within the organization. Moreover, the emphasis on rollback capabilities and the observed decrease in regression bugs underscored a commitment to stability and quality assurance, reflecting a pragmatic approach to software development that prioritizes efficiency and reliability.  

Sustainable team growth 

Concluding our series, this article is the final installment of a three-part series on building high-performance software development teams.

Achieving success is one thing; sustaining it is another. In this final installment, we’ll explore strategies for sustaining success and fostering growth within software development teams for a long-term success and continued innovation.

Nurturing talent

To achieve the growth and development of team members, companies need to invest in them. How? By providing opportunities for learning and advancement, mentorship programs and access to resources that foster professional growth. By nurturing talent from within, organizations cultivate a culture of continuous improvement and innovation. To prove the foregoing, at ArdentCode we have experts who have worked in the IT industry for over 15 years, which is meaningful, indeed.

Staying agile and adaptive

Today, agility is key. It is important to encourage a team to embrace change, adapt quickly to new technologies and market trends, as well as continuously iterate and improve their processes. By staying agile and adaptive, teams can respond swiftly to challenges and capitalize on emerging opportunities.

Leading by example

Being a leader forces us to lead by example. What is also important is to present the values and principles not only on paper, but also in daily working with a team, fostering a culture of transparency, communication and collaboration, providing a role model to employees. At ArdentCode annual feedback and review is created not only for the team, but for the board members and leaders, too, because there is always an opportunity to make changes. 

In summary, sustaining success and fostering growth within software development teams requires a multifaceted approach that encompasses talent development, diversity and inclusion, agility, leadership and resilience. By implementing these strategies, organizations can build teams that do not only achieve success in the short term, but also thrive and innovate in the long run, ensuring continued growth and success in an ever-changing digital environment.

Our series on building high-performance software development teams has emphasized the essential components of strategic recruitment, continuous growth, shared vision and collaborative culture. These elements are the key to empowering teams to navigate challenges, foster innovation and attain remarkable outcomes. By prioritizing creativity, sustainability and long-term success, organizations can cultivate thriving software development teams ready to flourish in today’s ever-evolving digital realm.

Team innovation strategies

Continuing our exploration, this article is the second installment of a three-part series on building high-performance software development teams.

In this article, we’ll explore the pivotal role of creativity in software development teams and uncover strategies for igniting innovation and pushing the boundaries of what’s possible.

Creating a culture of innovation

A culture of innovation begins with leadership. It is important to cultivate an environment where experimentation is encouraged, failure is viewed as a learning opportunity and bold ideas are celebrated. By fostering a culture of psychological safety and autonomy, teams feel empowered to explore new possibilities and challenge the status quo. 

Fostering idea sharing 

Cross-functional collaboration brings together diverse perspectives and skill sets, fostering creativity and driving innovation. It also creates opportunities for encounters and sharing knowledge in order to spark new ideas and solutions. At ArdentCode we have a history of great solutions for our clients, thanks to our creative and out of the box thinking culture.

Providing resources and support

Teams need to be equipped with the resources and support they need to innovate effectively. We provide them with the access to modern tools and technologies, allocate time for experimentation and exploration and offer support and guidance from the leadership. By removing barriers to innovation, teams can focus on pushing the boundaries of what’s possible. At ArdentCode we take care of this area by organizing ArdentAcademy workshops, regularly reviewing the progress of the qualification and creating a space to produce our own solutions or apps. 

Celebrating successes and learning from failures

There are different styles of celebrating successes – official congratulations, team celebrations in the office or informal dinners with attractions, such as carting or bowling. At ArdentCode we celebrate in different styles, but always taking care of creating a moment to say “thank you” to people who are involved in projects. What is also important, failures are treated as an inevitable part of the innovation process. Furthermore, we believe they are an opportunity for growth and change. Via the encouragement to experiment and learn, we present harder moments as lessons needed to create future success.

In conclusion, fostering creativity and innovation within software development teams is essential for staying ahead in today’s fast-paced digital landscape. By creating a culture of innovation, providing resources and support, as well as celebrating successes while learning from failures, organizations can unlock the full potential of their teams and drive groundbreaking solutions. In the final installment, we’ll explore strategies for sustaining success and enhancing growth within software development teams for a long-term success.