# Development Function

{% hint style="info" %}
A role is not a person! [Learn more about Function vs. Commitment vs. Person here.](https://guide.techfleet.org/team-portal/new-teammate-handbook/expectations-for-teammates/commitment-vs.-job-function-vs.-people-on-teams)
{% endhint %}

## How to Train for the Development Function

<table data-view="cards"><thead><tr><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><a href="../../../../agile-training-portal/agile-handbook"><strong>Read The Agile Handbook</strong></a></td><td><a href="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2FdMTLYk97iD8bOOsxVkBE%2Fpyramid_of_strong_agile_teams.png?alt=media&#x26;token=126fe82d-02bb-4ea6-8a00-99b95cfa4d4e">pyramid_of_strong_agile_teams.png</a></td><td><a href="../../../../agile-training-portal/agile-handbook">agile-handbook</a></td></tr><tr><td><a href="broken-reference"><strong>Read the Service Leadership Handbook</strong></a></td><td><a href="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2FMX1xTDirpwnoZU7ztwVM%2Foriginal-1607db67a9cd3bb892c249dee7a31dc6.webp?alt=media&#x26;token=8b20c5d1-4af7-4002-89b0-5919ee514539">original-1607db67a9cd3bb892c249dee7a31dc6.webp</a></td><td><a href="broken-reference">Broken link</a></td></tr><tr><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings"><strong>Take the Servant Leadership Masterclass</strong></a></td><td><a href="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2F54F5aXTKvQcyZjLeLhHa%2Fheart.webp?alt=media&#x26;token=863879d9-b8d7-4b6e-a87c-409927aec177">heart.webp</a></td><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings">masterclass-openings</a></td></tr><tr><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings"><strong>Take the</strong></a> <a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings"><strong>Agile UX Masterclass</strong></a></td><td><a href="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2FnO6pxeaHqqaHDUqmySk7%2Fgoogle_design_sprint.png?alt=media&#x26;token=58dbebe7-cb48-4635-950f-fe6c1415837d">google_design_sprint.png</a></td><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings">masterclass-openings</a></td></tr><tr><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings"><strong>Take the Product Requirements Masterclass</strong></a></td><td><a href="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2FI4IqC75tVMEfQbDtXuM7%2Ffine.webp?alt=media&#x26;token=6feeb7d7-e9b4-4b6c-9299-d5eb339a04ff">fine.webp</a></td><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings">masterclass-openings</a></td></tr><tr><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings"><strong>Take the Product Operations Masterclass</strong></a></td><td><a href="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2F9ryi2StC0LJJBYTWku8v%2FRACI%20for%20Product%20Ops.png?alt=media&#x26;token=559f3c4d-3eee-45d9-adfe-f7ac8dbba476">RACI for Product Ops.png</a></td><td><a href="../../../../training-openings/current-and-upcoming-program-openings/masterclass-openings">masterclass-openings</a></td></tr></tbody></table>

## What is it?&#x20;

Development deals with making designs a reality through technology. It may involve many different aspects and programming languages based on what's being built. A development professional often knows many programming languages.

## Development Function in Tech Fleet vs. Other Companies

Who "Wears the Hats" at companies in the Development function? It depends!

Here's a visual breakdown of roles:&#x20;

<figure><img src="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2FlKDMHGpaoBR7HTSTFqsB%2Ftech-functions.png?alt=media&#x26;token=09ef3e19-fbea-4a67-b541-250398d168e5" alt=""><figcaption><p>A breakdown of how the development and solutions architecture functions work at different companies. Credit: Tech Fleet.</p></figcaption></figure>

1. There could be one person playing the front-end development function, one person playing the back-end development function, and one person playing the solutions architecture function.&#x20;
2. There could be one person playing the front-end development function and another one person playing the back-end development function plus solutions architecture function.&#x20;
3. There could be one person playing all functions: the front-end development function, back-end development function, and  solutions architecture function.&#x20;

In Tech Fleet, development function is a a combination of the front-end development and back-end development functions.

## Daily Responsibilities

{% hint style="info" %}
[Here's a Tech Fleet Figjam template anyone can use showing cross-functional Agile team responsibilities](https://www.figma.com/community/file/1475625041866413630).
{% endhint %}

The development function typically owns a combination of 2 [commitments](https://guide.techfleet.org/team-portal/new-teammate-handbook/expectations-for-teammates/commitment-vs.-job-function-vs.-people-on-teams):

1. Front-end development
2. Back-end development

### What They Own

1. Developing code
2. Documentation of code
3. Deployment of code
4. Reviewing upcoming work to ensure it's feasible and technically possible to do

### Daily Tasks

* Coding front-end languages
* Coding back-end languages
* Developing databases
* Developing server-side scripts
* Deploying code into repositories
* Testing code that was deployed
* Documenting the coding decisions that have been made

### Breakdown of Responsibilities

Here are some RACI charts depicting the daily tasks that a development function is responsible for, and how they work with other teams:&#x20;

#### RACI for Development Operations

<figure><img src="https://2497269768-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaLipvRvacoLEyzC54aBy%2Fuploads%2F4VGVlg41MXLjWUn3gR0R%2FRACI%20Chart%20Workshop%20Template.png?alt=media&#x26;token=f9ca0402-d0b4-4d1e-a530-ad1a323fd176" alt=""><figcaption><p>This is a RACI chart showing the development activities on teams. Credit: Tech Fleet.</p></figcaption></figure>

## You might be a Developer if&#x20;

1. You like logic
2. You like systems thinking
3. You like coding
4. You like technical functions

## Cross-functional Collaboration

1. **With the Client** - facilitate requirements discussions; gather insight and feedback about the solutions being delivered&#x20;
2. **With UX Research** - drive the priorities of research based on the product roadmap / plans
3. **With the Project Management** - facilitate meetings and discussions; pair up to work together on deliverables
4. **With UX Design** - drive the priorities and requirements of UX design based on the product roadmap / plans&#x20;
5. **With UX Writing** - drive the priorities of UX writing based on the product roadmap / plans&#x20;

## Role Expectations

* Work with the product strategy team to refine requirements based on planned work&#x20;
* Collaborate with solutions architecture team to design the system that’s being built based on project needs&#x20;
* Code either front-end, back-end, or middle layer code as described with the project needs&#x20;
* Deploy code once finished Document code as written&#x20;
* Collaborate with the product strategy, UX research, and UX design teams to ensure that the user experience is delivered properly based on product requirements

## Common Deliverables

1. Deployed code
2. Coding documentation

## Head to the Next Lesson
