Artifact Lifecycle Manager

Application Details

Artifact lifecycle manager is a management system to track all the artifacts (all the datasets within the data lake) & their versions in the 3 environments (UAT, QA, PROD).

As this project is still being built, further improvements are still being made in March 2020. However, some internal user testing provided some insights and changes of some minor UI and are updated under the “Main Mockups” of this page.

Lessons Learnt

The nature of the application requires multiple interactions from the back end, it created a lot of dependencies. Thorough understanding of the backend work matters, and advocating good UX to the developers you are working with matters as well, as most engineers do not understand the value of UX, they might not want to spend more time on a feature that improves on the UX.

Project Details

My Role

Product Design, UX Design, UX Research, UI Design

Year

 2019

Discovery

Discovery starts with gathering all the pain-points from the users of the current existing system. From the discovery process we found these major problems:

For the core users:
1.It was tedious to manually click the promotion of hundreds of artifacts.
2. All the artifacts were thrown into 1 jira board with everything that’s not relevant to the users (eg. showing artifacts from other projects), and sorting was limited to the sorting of Jira’s features.
3. No one was accountable for mistakes (eg. deploying the wrong artifact) within the group, as anyone in the project could deploy the artifacts, it was difficult to track back to the actions done to the artifact.

New Users:
1. Takes a while to learn the process as the user has to go to multiple tools to deploy an artifact.
2. Very hard to keep track on the different versions, and know which version is currently in production.
3. Can only promote a version. Difficult to revert a particular version in any environment.

 

High level goals for this design project

1. Minimize artifact management to only 1 tool (not multiple).
2. Reduce the learning time for new users.
3. Give users more control over each version.
4. Provide traceability.
5. Allow batch promotion of artifacts.

Main Mockups

Index Page

The following mockup is the index of the Artifact Lifecycle Management. The main design concept is to allow the user to glace at all the artifacts and know which versions are in which environments. Since developers are our main persona, they prefer to have a lot of control in one page, hence accordions hide the secondary controls while the visual hierachy also give the user first hand information of the environments. Filters & searching for artifacts are also 1 click away on the page.

Batch Deployment

Batch Deployment feature was to address the pain-point that the user had to manually promote individual artifacts.

Single Artifact Page

Product evolution

I created a couple of prototypes and tested it with stakeholders & users to see what would be best. The other prototypes were either looking too cluttered or doesn’t allow the user to revert a Version of the artifact.

Evolution of History

The history section, that was build for traceability also had an evolution of its own.