Coder Social home page Coder Social logo

wemake-services / meta Goto Github PK

View Code? Open in Web Editor NEW
53.0 11.0 13.0 816 KB

Home of Repeatable Software Development Process

Home Page: https://wemake-services.github.io/meta/

License: GNU General Public License v3.0

Ruby 1.16% HTML 61.74% CSS 21.55% JavaScript 4.47% SCSS 11.08%
business business-process management methodology rspd software-development

meta's Introduction

Hello, we make services!

wemake.services Build Status

wemake.services is a group of technology evangelists and simply those who love to write beautiful code. We are dedicated to deliver products of high quality basing on best practices, broad experience and a good portion of common sense. We focus on large, both public-sector and commercial projects with complicated infrastructure, and we care about what we do.

We love Python and Elixir. We use JavaScript.

Repeatable Software Development Process

It is a home and the only source of truth for our Repeatable Software Development Process (also knows as RSDP).

Here we document every possible event and action in our company. You can have a look at how we work.

Structure

  • meta website contains every process we have as detailed as possible
  • .gitlab folder contains templates for issues and merge requests
  • processes/ folder contains our business processes in the BPMN format

Purpose

This is a source code for one of our websites, which states our internal process to our customers and employees.

We try to make them 100% transparent for every member of a project. Wait, what? Isn't it suppose to be super secret?

Well, no. We believe that by making everything transparent everyone wins:

  1. Clients know what to expect from us
  2. Employees know what their work would be like

But what if someone will just copy this process? We will be actually happy to know that. That's a situation when everyone wins too:

  1. Our colleagues will have a nice working business
  2. We would exchange our experience in an open manner
  3. Clients will receive a software of high quality

Contributing

This is our internal tool, pull requests are not welcomed. But, we welcome any discussion, if you do have any questions or suggestions make sure to share it with us by opening an issue.

License

All contents are licensed under GNU General Public License v3.0. Original license belongs to wemake.services company.

Read the limitations of this license before continuing.

meta's People

Contributors

dependabot-preview[bot] avatar dependabot[bot] avatar izomeraza avatar malinoff avatar mariamyzz avatar nariman avatar sobolevn avatar valignatev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

meta's Issues

Fix navigation bar

@valerievich wrote:

  1. несоразмерные шрифты “Working with the client”, “Hiring”, “Development process” с ссылкам в этих подразделах. Либо можно вправо сдвинуть ссылки контента, чтоб обозначить вложенность (я вообще не сразу заметил, что это группы ссылок, и решил, что в кучу свалены материалы относящиеся к работе с клиентом, хайрингом и процессом разработки);

We need to fix that.

Separate "Theory" from "Implementation"

Right now we have everything mixed in the docs: some basic theory, our ideas, practical todos, specific tools and settings.

We need to separate that:

  1. Basic theory
  2. Our implementation
  3. Our internal stuff (config, settings, etc)

Sync merge requests and issues

Right now we only use spend micro-command to set spent time on merge requests.

As a result issues do not have any spent time. So, we need to fix that.
There are possible three ways:

  1. GitLab may support this some how (good)
  2. User can do this by hands (bad)
  3. There can be an external script/tool/service to do it (workaround)

Also, this task is related to the #32

Dependabot couldn't find a package.json for this project

Dependabot couldn't find a package.json for this project.

Dependabot requires a package.json to evaluate your project's current JavaScript dependencies. It had expected to find one at the path: /package.json.

If this isn't a JavaScript project, or if it is a library, you may wish to disable updates for it from within Dependabot.

You can mention @dependabot in the comments below to contact the Dependabot team.

Add "Milestones" section

  1. What is a milestone?
  2. Why do we use it?
  3. Is it required to have milestone?
  4. Technical aspects: how to create and manage a milestone
  5. Is deadline a must or not for a milestone?

Add "Closing invalid tasks" section

Some invalid tasks may appear:

  • duplicates
  • something that is not needed anymore
  • or some other cases

So, this task should be:

  • closed
  • labels should be removed
  • estimate should be removed
  • assignee should be removed
  • heading should be updated with [Invalid]
  • comment why this task is invalid should be created

Only architect can close such issues. Matrix should also be updated.

Time tracking

Time tracking is very important.
We use wakatime to track the spent time.
And we need to create a tutorial on how to set it up, and why we even need this.

Here's how it looks:
2017-12-16 19 29 16

What to do with style-guides?

My personal opinion that styleguides should not belong here.
Reasons:

  1. They do not have anything to do with the business processes
  2. They differ from language to language. Right now we have at least 3 style-guides

So, I think, that they should be removed.

Typo

we don't tend to devote mush time to educate
mush
job-application.md

Think about "Research" issue type

How should we track and bill research tasks?
They happen quite often. And can take a lot of time without writing code.

As for me, each research must end with a document:

  • What decision was made?
  • Why?
  • What were the pros?
  • What were the cons?
  • What risks are there? How to handle them?

@izomeraza what do you think?

Remove meta website

Website is not the right format for our meta.
Redirect old urls to the wiki.

Create "Bug bounty" section

We should pay other developers for finding bugs.

There are too kinds of bugs to be found:

  1. Just some ordinary bug
  2. Security bugs

The price will be counted in minutes of the developers rate.
If developer's rate is not available, then we should use 2000 rubles for calculations.

Security bugs should not be publicly available. To collect them there are two ways:

  1. By email
  2. Gitlab private issues

Create new structure for clients

Right now it is not clear enough for our future clients what methods we use to manage our porjects.

There are two limitations:

  • scope
  • time and budget

It is not possible to fulfill both limitations at the same time.
So, we must clarify what is more important in different situations.

Add "Dealbreakers" section

There are several dealbreakers for us:

  • before we start
  • in process

Also they are different for:

  • employees
  • clients

They should be specified.

Audition refactoring

Right now auditions do not work.

It is impossible to measure the cost before-hands.
Let's consider pay-per-bug payment method.

We need:

  • bug cost (it may vary)
  • bug definition
  • audition environment specification

Act of Handover

We need to create the document for closing a project (ltd)

Remove wiki

It is better to have one source of truth. It is a website in our case.

Add "Punishment" section

We need to create a list of things we punish for.
We also need to specify how we punish in each of these situations.

Update README.md

This readme should have:

  1. Our badge
  2. Links to the CONTRIBUTING and CHANGELOG files
  3. Clear explanation, what this project is about

Restructure the BPMN processes

It should be structured as a directory.
Ideally, it should also have links between different processes in the different files.

Create "Git workflow" page

Our git workflow is very simple yet powerful.
We need to create a special page for it.

Things to cover:

  1. master branch
  2. issue-* branches
  3. merging and reviews
  4. releases and tags
  5. auto changelogs from closed issues

It would also be nice to create a name for it.

Integrate GA

Make sure it is possible to use heatmap and collect user interactions.

Why do we need that:

  • we need to know how much time a user spends on our website
  • what parts of a website takes the most attention
  • how many users visits our website
  • from what source

Test assignment

Github repository browsing tool

This task looks like a average task you will receive from us. But it's scope is bigger than usual, since we want to see as much skills as possible.

Subject

We need to create a third-party service to list user's Github repositories.

So, the process is:

  1. You log in to Github
  2. You log in to our service with Github account
  3. It shows a list of all your repositories, your avatar, and username on the same page

Extra

We also want to know the author of this service. Please, provide a link to the source code on the bottom of the page in a form of: Created by <link-to-your-account>, source code: <link-to-the-github-repo>.

Technologies

Fill free to use any tools you like (minding the license). But, note that you are limited to the platform.
If you are applying to python position it would be very strange to submit a js solution.

Result

This should be 100% working and deployed service. You should provide a live link for us to browse it.

Time

Time estimated: from 2 to 3 hours
If it takes more than that, well, I guess you are doing something wrong.

Process

That's how we work internally, maybe it would be helpful: http://wemake.services/meta/employees

Highlight the most important quotes

Each page should contain from 1 to 3 of the most important quotes.
It should be located in the logical places in the text. It may be a duplicate, but it maybe just a single quote.

You should use > for quotes in .md files and <blockquote> in html.

Add test task description

It would be a github browsing tool.

Advantages:

  • any platform or programming language
  • simple
  • has a lot of hidden pitfalls

Starting new project section

I need to specify what steps I should complete each time starting a new gitlab project.
Ideally, we would need a script to handle that. See gitlab-form. Or other tools. Platform is not critical.

Add "Requirements Analysis" section

We need to specify:

  1. How we do it
  2. How we approve it
  3. That it will and should change
  4. How we handle changes
  5. What tools do we use to keep everything in sync

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.