Choose your language:

France
Germany
Hong Kong

India
Ireland
Japan
Malaysia
Netherlands
New Zealand

Singapore

Sweden
United Kingdom
United States


Download PDF

A digital marketing SAAS provider partnered with TEKsystems for support in building new functionalities and enhancing the user interface (UI) for its marketing campaign management portal.

The client delivers digital marketing software-as-a-service (SaaS) solutions to help clients reach customers through communications channels including email, marketing automation, mobile, social media and websites. Founded in 2000, the company provides its marketing support services to Fortune 500 enterprises and small businesses around the globe. TEKsystems has partnered with this client since 2012.

IT has evolved as a revenue and business-generating part of businesses; it is no longer purely a support function. With that increased visibility also comes increased demands. IT leaders are now being challenged to be more productive with their already overloaded IT workforce. These challenges are being driven by customer expectations, technology advances and potential revenue opportunities.

In order to capitalize on those business opportunities and increase customer satisfaction and retention, companies are turning toward IT service providers for scalable support during times of high-priority, heavy workloads. Since these demands often fluctuate, partnering with a service provider offers the option to add specialized, experienced support when it’s needed without the long-term commitment, costs and administrative burden of adding full-time staff.

To make the most of the internal IT team/IT services provider partnership, each party should be committed to frequent and transparent communication, seamless and quick integration into the client’s IT environment, and agility in responding to changing scope and business demands.

JIRA,Windows .NET

The client, a global SaaS leader, has a marketing campaign management portal, a real-time multichannel engagement solution where marketers can manage their plans and programs. One of the client’s cornerstone customers approached the client asking for additional functionality to be added to the portal. The customer liked the product but felt it lacked self-service features to allow them to make changes or improvements on their own without having to contact our client. The current campaign request form—which used a JIRA application workflow—needed a richer set of self-service functionalities, single-sign on capabilities and enhanced user interface (UI) focusing on user friendliness.

Our client was challenged with internal capacity and could not meet the customer’s demand. Despite the already overloaded development team, the client wanted to provide the additional value and meet the customer’s requests. The client knew it needed help yet was apprehensive in partnering with a vendor for development work because of its highly complex and intricate environment. The client’s environment was fast-paced, ever-changing and had a lot of people putting projects into development. Previously, other vendors had difficulty ramping up to this environment and delivered poor quality code that needed extensive rework. The client was looking for a vendor who could understand the company’s concepts environment and toolset well enough to be effective quickly, as well as integrate seamlessly into their burgeoning Agile development methodology. Additionally, the client wasn’t entirely set on how they wanted the new functionality to look and feel or what type of technology they wanted to use. The client would require a partner who could help define and design a framework for the development.

Ultimately, the client’s objectives were timeline and quality-driven; it was top priority to be able to respond quickly to the end customer and obtain high-quality code that would involve little to no rework.

When the client’s customer approached them about these enhancements, TEKsystems was engaged on a quality insurance (QA) initiative for the client. The client approached TEKsystems for this project based on our dedicated Application Development practice in our Montreal Solution Centre (MSC) founded on the principles of Agile methodologies, our familiarity working within the client’s unique environment and its positive experiences working with our QA team.

Since so many aspects of the end product were undefined, we proposed that the project begin with an Inception Phase to gain a better understanding of the scope of work, understand the client’s business strategy and goals, establish the priorities, and then tailor a solution and resources to best achieve their needs.

Inception

During the four-week Inception Phase, we would gather and analyze requirements and create a high-level design to define the foundation, direction and vision of the final product. We would first travel to the client’s site to get a better understanding of the technical environment. The team would focus on defining the high-level business processes and requirements—both existing and future. We’d also assess existing architecture and define a migration/release strategy to the target architecture. The on-site analysis would allow the opportunity for clarification and discussion with key stakeholders. In addition, we would conduct an initial prioritization of features; create a high-level product backlog; and identify key assumptions, risks and dependencies.

The team would then return to the MSC to further define the priorities and business values of each of the potential solutions and arrive at a recommended future state. Benefits of the Inception Phase would include reduced risk of misunderstanding of scope, duration and costs for the actual execution.

Execution

TEKsystems would identify the appropriate skilled resources and engage the new team members to develop the agreed upon backlog features prioritized and aligned to the business goals and strategy. The team would deliver all features within two-week sprints followed by sprint planning sessions to create tasks and estimates for each story as well as to ensure business goals and strategies have not changed. During the sprints, the team would develop system code and unit tests; and then conduct QA and manual testing activities against the developed sprint stories. Finally, we would deliver developed, QA tested and unit tested code for each completed story at the end of each sprint. Throughout the process, the team would keep a log of the project scope—high-level features, out-of-scope features—and keep a prioritization via a product backlog, as well as track and monitor issues, which would be reported via status reports and status meetings.

In our first quarter on the project, we successfully completed 11 sprints and 107 stories. We were able to add 11 new services to the client’s marketing campaign management portal, such as enhanced workflow and single sign-on functionality. We greatly improved UI through producing eight new features using the client’s controls and brandings, including annotations and user assignment. The quality of code met all of the client’s standards and required zero rework.

Our MSC team included a project manager, technical architect, business analyst, two developers and a QA analyst. A delivery manager was allocated across this engagement and the QA initiative, improving communication and collaboration between both projects. With TEKsystems’ support, the client was able to focus on other initiatives while also meeting their end-customer’s needs. The client was able to expand the user base community by utilizing beta releases and determining a pricing structure. They look forward to marketing these new functionalities to additional customers, further enriching the product and creating an additional revenue stream for the company.

In addition to meeting the scope, we also helped the client improve its own internal processes. The client has tightened up its Agile methodology principles through team lessons learned and shared best practices. For example, we moved our development and testing groups together in the MSC. The client saw how having everyone who worked on the same application in one space improved collaboration and stability. Also, at the onset of the project, the client and TEKsystems used different repositories to track work; then both teams began using the same repository and the client’s team slowly migrated its workflow toward our framework.

The client experienced firsthand the value in establishing a partnership with TEKsystems and utilizing our resources to assist with development capacity. Through our previous experience in the client’s environment, open lines of communication and close working relationship with the client, we decreased the time needed to ramp up and become a partner and ultimately this shifted their mindset about being able to effectively outsource development work. The client has decided on a long-term extension with TEKsystems for further application development work on this platform and additional projects.


  • Seamless integration. We were able to quickly ramp up to the client’s environment and development methodology. Our previous QA experience in their environment lowered the learning curve and increased time to productivity.
  • Relationships. A shared delivery manager across both the application development and QA projects at the client improved consistency and encouraged collaboration. Also, there was strong partnership between TEKsystems’ and the client’s leadership throughout the project. The client was very open to our ideas on improvements to their development and testing environments; they looked to us as both consultants and partners.
  • Flexibility. We were very flexible; scope would often change based on the end-customer’s feedback, which would be addressed during scrum meetings. We worked elbow to elbow with the client to deliver on the scope and meet aggressive deadlines for demonstrations for the end customer.
  • Open and shared communication. As the client’s use of Agile grew, they began using a different stand-up process that was more like TEKsystems’ process; all parties were at the same table at the same time. We moved toward a shared stand-up, scrum board and process for escalation of issues. By using VPN to access the client’s environment, we were also able to utilize collaboration tools such as instant messaging and screen sharing to increase interactivity with the client’s internal development team. At the end of each sprint, we held retrospectives to determine action items for the next sprint and growth opportunities for continual improvement.