Answer the question
In order to leave comments, you need to log in
How to technically organize web development?
Good afternoon!
In the near future, I will be organizing and managing a small web development department (so far 1-2 developers, then maybe more). We will deal with internal projects, not for clients. While the main platform is Yii2. Need not binding to a physical office.
I have never done anything like this before and I want to do everything as correctly as possible, using modern methodologies and best practices.
Describe, plz, the scheme as it should be? I want everything to be efficient, convenient, manageable.
- Dev & Production server understandable. Do I need to make a local server from the developer? Is it worth it to physically separate dev and production, or are there enough different virtual hosts and databases?
- Where and what kind of code repositories should be made? There will be no servers in our office, and the office itself too;)
- Do you need a specialized task management (like Jira)? Now we use WorkSection to manage tasks. Is it worth using something separate specialized for development? I understand that the same Jira can track commits in git as a process of completing tasks - that would be cool!
- Do I need a separate bug tracker? Dedicated testers are not expected yet.
- Should you use Scrum? Or just stupid to go on tasks?
- Do you need some kind of wiki for the development department? What to write there so that it is not a big overhead for developers and has real benefits.
- What else did you forget?
PS. Another question I can’t understand: should requests for software improvements coming from other departments go through me as a development manager (I evaluate the feasibility and set the task for the developers) or is it better for them to directly contact the developers? Wouldn't that be a waste of time on my part?
Answer the question
In order to leave comments, you need to log in
- Dev & Production server understandable. Do I need to make a local server from the developer? Is it worth it to physically separate dev and production, or are there enough different virtual hosts and databases?
I will answer briefly, use Trello - It plays the role of a task manager, and you can do great agile sprints there. Now there are a lot of different kinds of integrations for Trello and Slack + Trello, which also worked well.
For git - put on a dev server - GitLab or look towards a paid account on GitHub or BitButcket.
Use the bug tracker from the GitLab/GitHub Issue, because it's easy to track how things progress when someone commits with #issue_id.
Well, the communication system must be on top! I would take Slack .
If you like Atlassian products, look towards Jira, BitButcket and HipChat.
But for me personally, GitHub, Trello, Slack and that's it.
On the last point:
1) there are usually more tasks than resources for their implementation
2) it depends on the company, but for the most part requests come in such a form that they still need to be brought to the task stage. Sometimes Wishlists fall off by themselves after talking about what exactly is needed or are transformed beyond recognition
3) tasks tend to come at random, and not at the moment when the developer is ready to switch to the next
In general, if you don’t have some kind of exceptional company, it’s better , if the tasks in the tracker fall on you, and only then, reformulated and with priorities, will they go to the developers.
And if not critical, then it’s better to pack it when planning a sprint.
- Dev & Production server understandable. Do I need to make a local server from the developer? Is it worth it to physically separate dev and production, or are there enough different virtual hosts and databases?
Costs. Safety at least. As a maximum, the virgins will die, well, ok. Prod will die - ААААААААААААААА
- Where and what kind of code repositories should be made? There will be no servers in our office, and the office itself too;)
Github, gitlab, bitbucket.
- Do you need specialized task management (like Jira)? Now we use WorkSection to manage tasks. Is it worth using something separate specialized for development? I understand that the same Jira can track commits in git as a process of completing tasks - that would be cool!
Trello saves :)
- Do I need a separate bug tracker? Dedicated testers are not expected yet.
Enough Issues in github/gitlab/bitbucket. I was a separate tester and this option was enough.
- Should you use Scrum? Or just stupid to go on tasks?
Decide for yourself - maybe it's worth it, but maybe not.
You have to look at the project and think. Not to say from the outside.
- Do you need some kind of wiki for the development department? What to write there so that it is not a big overhead for developers and has real benefits.
Again, there is a wiki at github/gitlab/bitbucket. For a small project, that's it.
- Another question I can’t understand: should requests for software improvements coming from other departments go through me as a development manager (I evaluate the feasibility and set the task for the developers) or is it better for them to directly contact the developers? Wouldn't that be a waste of time on my part?
And here it will be in the Agile topic. Gathered the requirements - decided what to do in the current sprint and rejoice. All additional requests go to the task pool and you can delete tasks if the project does not need them or lower the priority.
I would add solutions in the area of Continius Integration.
It is very convenient to see that the branch is broken not only for you, but for everyone + what commit was broken.
It is also convenient to automate the process of publishing both for pre-industry / industrial, and simply for test circuits.
It is better to ask your questions to your own developers - what and how they use and what it will be interesting for them to see and study.
Until you have your own established best practices "written in blood", you should focus on the tastes and preferences of your people and yourself. You don't want to implement something that no one will use later, do you? What will reduce labor productivity and product quality?
On the other hand, customers may have their own ideas about the development process. Theoretically, you can push and force developers to follow processes and procedures. This usually doesn't work with clients.
You'll have to be flexible.
I would not advise you to use anything that you personally do not know and cannot clearly justify the use of.
If you have questions about such simple things, then I think you should not let people be subjugated.
You don't have the skills yet.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question