Setting up a Project
  • 25 Sep 2023
  • 7 Minutes to read
  • Dark
    Light

Setting up a Project

  • Dark
    Light

Article Summary

Adding a project

Once the configuration is completed, we get back to the dashboard and the user will be able to start adding new projects. Since the  account linked with the project management (PM) tool is integrated seamlessly, all the projects from the PM tool will be listed and we will be able to select the projects we need to add to Agile.Now Factory.

Fig: Projects from the PM tool

Once a project is added, you can then continue to set up the project. Do this by selecting Projects on the top bar. If you have multiple projects, select the project you want to set up.

Fig: Setting up the project 

The settings of the project is divided into 7 components which are mentioned below:

  1. General
  2. Mapping
  3. Behaviors
  4. Modules
  5. Tests
  6. Issues
  7. Releases
The project has not yet been prepared
If you have not configured project mappings, you can only see the "General", "Mappings" and "Behaviors" tabs
Is last environment
If environment is last then you cannot see "Behaviors", "Modules" and "Tests" tabs

Fig: Project Settings

General Information

The general information section provides details such as the name of the project and the teams that are present in the project. The details of the project includes the project name, last updated status, key, the release version of the project, created on, and if its an active project or not. A manual sync button is provided to sync the project with the Project management tool. Action syncs components, issue types, statuses and releases from project management tool.

The user with tech lead privilege and above will be able to modify the release version of the project at any point of time. This change in version will be reflected throughout the Agile.Now Factory application for that project.

Teams

Teams allow you to manage the permissions of a large number of users over the applications in your factory. This way, when new hires join an existing team in the company, you can manage their permissions over the team's applications without having to grant permissions on each application individually. A team is compromised of a subset of users working on a particular domain and the domains themselves. A domain is comprised of a subset of applications with its own business lifecycle. Domains have independent lifecycles of deployments with independent decision to deploy at any point of time. An example of an OutSystems teams is given below:

Fig: OutSystems Teams

Teams in OutSystems Lifetime can be opened directly by selecting the button in the top right of the Teams section.

By default, all the teams created in OutSystems Lifetime teams are displayed in the team dashboard. It will be laid out in the form of cards in a grid layout. There will be an option to create a new team. 

In OutSystems, for each team, alongside the applications that we are going to develop, it's important to create the testing application for the products that we are building which will then be used in the Agile.Now Factory. This is the most important configuration that has to be done. It is a good practice to have multiple teams for different applications because that way there will be an independent development lifecycle for each product and it will be distinguished from one another based on the DevOps principle. Each team as discussed earlier would have the users associated with that team and each users will have their role mentioned. It will be possible for the admin to modify the roles between developer, tester, manager, etc. The team would also have the different applications and it will be possible to create new or add existing applications.

Fig: Teams in Agile.Now Factory

Depending on your composition in the project management tool such as Jira or Azure DevOps, It is possible to run one project with multiple domains and teams, and you can also run one team in one project. Agile.Now supports both combinations.

Mapping

Mapping is the most important functionality in business application development and DevOps process. The mapping functionality maps the different process steps in the project management tool to the different process steps in Agile.Now Factory. 

Enabling the toggle for "Include code review stage in my development process" allows you to map a specific testing process.

Mapping is broken down into 3 distinct areas; To Do, In Progress and Done. Each area allows you to map a specific Agile.Now process step to an Issue status in your project management tool.

  • To Do are for the first stages where Issues are being planned and also (if code review enabled) for Issues being ready to be checked.
  • In progress are for Issues in active development and also (if code review is enabled) for Issues being actively reviewed.
  • Done are for when the issue has completed its process, and is now being mapped to the To Do mapping of the next process.

Mapping is done one environment at a time so the process continues in the next environment.  Changing the environment toggle will show the mappings for that specific environment.

Fig: Mapping

Behaviors

The Behaviors module instructs the Agile.Now Factory to identify the status that is given for each section of tasks within a project, and do activities such as testing, deployment or roll back to development based on the status. The module does the following:

  • Gives an option to run automated tests at a predefined time of the day for issues that has a particular configured status
  • Based on the outcome of the test result (pass or fail), provides an option to set a new status of the tasks 
  • Configure the possibility to deploy the issue with a predefined status to a particular environment at a predefined time of the day, updating the status when completed.

Fig: Behaviours

Components

Components in Agile.Now Factory are the building block of your applications and their components.  These are imported through Lifetime. The components help classify the issues under modules of different applications. In OutSystems each application consisting of modules and applications, fall under a domain. These domains in Agile.Now Factory constitute a single application being worked on by a team or teams.

For example, issues under a module say Agile.Now Accelerator that falls under the application Agile.Now that falls under the domain Factory would have a module in the project management tool by the name “Agile.Now \ Agile.Now Accelerator”. 

OutSystems User Manual - here 

It will be possible to sync the modules in Agile.Now with the project management tool. This can be done by clicking the "Sync project settings" button (General tab). Action syncs modules, issue types, releases, and statuses. Once the modules are synced, it will be possible to add a module to each issue. It also provides a quick way to add tests to a specific module.

Fig: Modules

Tests

The Tests module has the possibility to synchronize the tests that has been added in the automation testing platform to the projects in Agile.now Factory projects. By doing so, it will be possible for the developer to run the tests from Agile.Now using the Run Tests button. Once the user starts to run the tests, he/she will be able to see the status that the tests are running and then finally see the status of each tests.

Tests are an important part of Agile.Now Factory, not only following the best practice principles of Agile working, but also in automating certain aspects like Code Reviews and Deployment (as configured in Behaviors). It will be possible to sync the tests in Agile.Now with the OutSystems and Testing tool. This can be done by clicking the "Sync Tests" button. Action syncs all BDD tests from the OutSystems and all End-to-End test from the Testing tool.

In the production environment, it will not be possible to run the tests as the tests are not deployed from one environment to the production environment. Hence the status of the Run tests after deployment will always be set to false

Fig: Tests

Issues

Issues are a specific piece of work to be done/being worked on by a developer or team.  Any piece of work loaded into your project management tool is synced and shown here, as it forms the basis of Agile.Now Factory. It will be possible to sync the issues in Agile.Now with the project management tool. This can be done by clicking the "Sync Issues" button. Action syncs all issues from the project management tool.

Fig: Issues

Selecting a specific issue here will open an Issue Details page with more available information.

From this details page, you can see who is assigned to the Issue, add comments, check out the modules attached to the Issue, check out Tests for the Issue and even see a History of all steps taken with the Issue.  Adding comments will also sync those comments directly to the Project Management tool.

Direct links are provided for the user to open the Issue directly in the Project Management tool if needed, as well as a link to directly open the affected module in Service Studio.  All of these steps serve to provide the provide the correct information when needed along with direct links to the tools needed to complete the job.

Releases

Releases holds information on releases for applications made to production or to environments outside of those configured. It will be possible to sync the releases in Agile.Now with the project management tool. This can be done by clicking the Sync project setting" button (General tab). Action syncs modules, issue types, releases and statuses.

Fig: Releases


Was this article helpful?