Skip to content
Fabrício Sanchez edited this page Nov 18, 2016 · 12 revisions

Welcome to the Arda Project!

Arda is an online, microservice-based and open source tool designed to manage team workloads. Arda provide a compact and very effective view about team's workloads for managers, helping them being better decision makers. For the team member, Arda is a simple way to report actives in a more general way.

Description and History

Today is very important to measure the things. This need applies to all different areas in a company. In addition, receiving an optimized vision about resources allocation between different projects and individual workloads is critical for all (both the resources and their managers) because it allows the team to organize their routines, equalize work/life balance and being more effective in the deliverables.

Furthermore, how Technical Evangelists (TE’s) that maintain the focus on cloud computing scenarios and frequently need to show different aspects of our cloud platform to our customers and partners in events and such, develop one web and mobile tool that uses completely our stack of technologies and it is delivered in the cloud could be very impactful to the team and to the community. This process could be very helpful for us in order to improve our technical skills.

The external community engagement with Microsoft is another aspect that a development of a tool like that can be helpful. If this project is open source (and we have intent to do this) we can work with external communities in order to request their collaboration with us during all the development process. Perhaps it could be a great entry port to us.

Arda emerges like a good answer to this this questions. Our goal is highly concentered to use this process (development) and tool to address all this different needs, including some impact in our scorecard.

Problem Statement

Understand the team needs is fundamental to create a pragmatic solution to solve it. This way, the follow items show de main needs mapped.

  1. Measure the team’s capacity: witch is the real delivery capacity of team? The answer to this question isn’t easy to be found. The great problem here is in fact of how to collect data with accuracy. This aspect is very important to provide to managers a right vision about team capacity.

  2. Workloads distribution: this is another problem to solve. When managers can’t see clearly the work/projects distribution between team member’s wrong allocations can occur. This fact implies the team unbalancing.

  3. TE’s up skill: Another aspect that we need to improve in our team is the technical skill of member’s. One of core priorities for an TE’s is the constant technical skill improvements. This way we need find methodologies "how to" to do this in order to elevate TE’s level to L3 and L4.

  4. Engagement with external technical communities: in order amplifies the Microsoft Technologies to reach outside our boundaries, we need to find some way to engage with other communities: Microsoft and non-Microsoft and invite then to collaborate with us in open source projects and related initiatives. This will be very impactful for us like evangelists.

Project Scope

Arda is a huge opportunity to technical evangelists promote impactful answers to problems presented at section 2. This section will describe the scope of the project making clear how we intent to create intelligence and capable resources in order to grant effective solutions to this.

Core

We have been defined “Core” how the set of main resources that will serve how “fundamental rock” to the Arda. All future modules and their associated resources will use core implementation and features.

The follow list shows the core elements:

  • Users and permissions;

  • Fiscal years management;

  • Scorecard/metrics management;

  • Complexities;

  • Categories;

  • Workloads and backlogs;

  • Kanban;

  • Reports;

The core elements will be the first ones to be implemented.

Capacity scope

Our primary goal is concentrated on the creation of intelligent resources which are capable to provide an efficient ways to collect data about real work. This accuracy will be important to managers make important decisions about diverses aspects about their teams. Capacity will be delivered to Arda how a module (the first one).

In a practial way we intent to do:

  • Create a dynamic and intelligent resource to assess number of hours worked per week or per day along all projects allocated to the professional. We will test some different things but probably an agent will ask dynamically over the time about this thing. Will work like a personal assistant.

  • This information’s (provided by the professionals) will be inputted on the workload assets previously recorded and will serve de metadata to generate reports to managers.

This assessment must be occurs in all platforms: traditional PC’s, mobile phones and tablets. To traditional PC’s, an agent will be installed on the machine. To other cases, apps will be created.

Implementation Plan

Our development strategy is based on steps as described below:

  1. Kickoff and core definition.

  2. Features definition.

  3. Database and architecture definition.

  4. Core implementation.

The detailed specification about each step we will have presented in the section “Implementation Plan” but the steps informed here will determine the project scope.

Initially just core operations and features will be implemented. The Figure 1 shows the “core” module. The main idea is make available a pluggable and extensible core. This way will be possible to add new features to application smoothly.

How mentioned above the tool will be implemented using our technology stack, including the follow items:

  • Development technologies: ASP.NET Core 1.0 (or 4.6), Entity Framework Core (or 6), SQL Server, C# 6, Visual Studio 2015 Enterprise and Visual Studio Code, IIS 8 (or +), DocumentDB (or Azure Tables).

  • Web technologies: HTML 5, CSS 3, Javascript, JQuery, AngularJS (or React or Bootstrap).

  • Cloud technologies: Azure SQL Databases (v12), Azure DocumentDB (or Azure Tables), Azure Service Bus, Azure Web App (or Web Role), Azure Webjobs, Azure API’s, Azure Storage, Virtual Machines with Docker Containers, Azure Redis Cache.

![Modules vision](https://arda.blob.core.windows.net/public-images/arda-modules.png)
Clone this wiki locally