
At the beginning of the 20th century, Garington Emerson formulated 12 principles of productivity and work organization that can be applied literally in any field and allow to achieve maximum results of human activity and the enterprise as a whole. After reading his book, I realized that I had reached my head through the mistakes of my life to most of its principles, it seems if I read his book before my life would be more productive. In this post I will discuss these principles for freelancers.
1. Clearly set production targets and clearly defined personnel tasks. Think about the purpose of your current project (s)? It’s definitely not about writing code or making money. Do other project participants know about these goals? Do they harass them? For example, the sysadmin thinks that his main goal in the project, so that the server does not fall, he only does that redundancy and continuous failover. A programmer needs help installing gaerman and he doesn’t know how to install it, and the sysadmin tells him I’m busy and the main thing for me is that the server doesn’t crash. As a result, the project will not be completed and the server will still be dropped by everyone or not.
')
2. Common sense. Do not forget to look at the goals and methods with a sober look, maybe you will see many things that are absurd. For example, you buy top i7, which is three times more expensive than the average category i7, is it reasonable from the point of view of common sense (a 15 percent increase in productivity due to a three-time increase in the cost of equipment)?
3. Competent advice. I constantly ask questions in qa Habrahabra, support of various projects, forums and just hire experts for consultations, pay about 1 to 5 thousand rubles for a consultation. It is often easier, more profitable and faster to ask than to completely figure out for yourself. We must remember that to understand all things yourself is not real.
4. Discipline. Yes, yes, yes, mandatory discipline. When I live in Thailand, every day at the same time in my favorite cafe I work for at least 2 hours. I made it a rule to reply to any request from my clients except weekends during the day. You can not build at least some kind of business if everyone in your company is prone to disappear, like most freelancers.
5. Fair treatment of staff, expressed in the idea of ​​“you work better, you live better”. Your employees should not go hungry, stay awake at night and experience other outrage from you. Of course, common sense does not negate two sleepless nights a quarter with the release, but the rest of the time a person should work out his or her standard and have adequate time for rest. From here the free food in the companies stretches.
6. Fast, reliable, complete, accurate and constant accounting. It is necessary to take into account everything, changes in the code with the help of git, all financial operations on the project, communications, contacts, hours spent by programmers, etc.
7. Order and planning of work, dispatching. Get a project management system and plan work, every little thing. For small things that require 1-2 actions, I use miniplan.ru with mail notifications and free sms, for more global things planfix.ru. Each task should have a deadline and a responsible executive. You must clearly understand when a project goes off the rail and redistribute resources.
8. Standards and timetables. Normalize the work, for someone this is a man's watch, for someone completed tasks. Consider time zones, do the minimum work rate.
9. Normalization of conditions. Do normal working conditions. For version control, use git and github. For a test server, do continus integration. Maintain a knowledge base for the project. Give programmers fast computers and fast test servers. This will reduce their efforts to do the job and increase efficiency. Train your workers.
10. Rationing operations. It usually always helps practice, the implementation of certain procedures takes so much time and people must comply with such terms. For evaluating tasks programmers are well suited from the Scram. Programmers gather and distribute cards with numbers from 1 to 10, hang out a list of tasks with a few explanations, and give each vote how many hours it takes to perform, everyone votes covertly and then opens the cards, if they all come together, the average mark is taken for the task. If it is not agreed, then what is wrong is discussed, usually details come up from experienced programmers about the pitfalls and after discussion a second vote is taken in which it always converges.
11. Written standard instructions. Here, in my opinion, the most important thing is the instructions for beginners about how to enter the project and how to work. Here came the employee and what's next? The machine should start an account on the corp forum, share a wiki, open access to the git and test server and drop a piece of paper to the beginner about how to work with it and with whom to consult on the nuances of each system. I recommend writing job descriptions for all permanent and non-permanent employees.
12. Performance reward. If a person does work for which, according to the norm, you need 100 hours for 90 hours, he must receive a reward, while he must spend the remaining 10 hours on the next project. Immediately why following common sense if a person does work in 10 hours instead of the normalized 100 hours, where you are mistaken. This may be an assessment of the work and some kind of hook for more automation of the project, in such cases it is necessary to revise the norms without fail. If a person has invented a method how to do certain work 10 times faster, then of course it is worth rewarding and applying his method.
I am ready to reveal more not completely clear moments, if any. Talk about someone else and your experience.
Do you observe any of these principles, and your company?