📜 ⬆️ ⬇️

Software project management - inside out

Ask the driver of the intercity bus: “how many hours to get to the destination?”. In most cases, you will hear silence, and if you’re not lucky, you will get a sizzling look and the taste of gas will chase you for a couple of days at least: because nobody knows what happens around the bend :-) The same thing happens every day in software projects - and in response On the "when" you need to either keep silent, or something beautiful and confidently lie.



Software development (flight to Mars, construction of a skyscraper of a new spiral shape in Dubai) is a hand on the heart, a process so complex and risky that without a formally clear technical task (in the style of a strict proof of the formula of the roots of the quadratic equation by deriving from Binom of Newton) - you can only declare religious postulates (features) and terms (prophecies) and force yourself and others to believe in them (forever amen). Therefore, you are doomed every time to step into the fog with a prayer book and a compass - each time hoping for good luck and ... reliable people in the team.

The techniques that are popular now and the tools that support them have become so boring that their advertising resembles the speech of a cookbook seller for 1000 recipes in an electric train - it’s clear that the book will not bring you any success and will not even help potatoes to fry properly if not missed after 20 years of experience. and the spinal cord. Only the experience collected bit by bit and subjected to scrupulous analysis of the subconscious during insomnia - will help, but where to get it ...
')

The technique is “by contradiction”


Gradually, an understanding of the causes of successes, failures, catastrophes and what can be done in a software project is not possible :-) It is noteworthy that concentrating on combating risks and known causes of problems suddenly brings tremendous benefits. I will say more - it is the elimination of obstacles in some modern methodologies (scrum) - and is a guarantee for achieving the goal of the project.



If we decompose the known “risks and what not to do” into existing project / team management tools — you can get live and working examples of successful automation — which, as we will see later, of course, along with the people working in them, lead us to success, always . And even if your software project, in spite of everything, comes to the AA point, instead of A, it can be experienced and tested, as a victory.

Causes and tools


Now consider the reasons leading to design failures and select the appropriate tool to help us on our way through the fog.

"Mnogabukv"


If there are no comrades with a photographic memory in your team, grab this problem in full. With the start of design, development, testing and deploing, there will be a flurry of information with which you need to do something effectively or the information will break the brain, first to you, then to the client, and then flow out through the windows of the office.

Keep it in the mail will not work - the mail is intended "a little" for another. If you do not believe - get ready to read 200 urgent messages a day in the morning.

How to escape:
- wiki
- Wiki
- WIKI

Those. everyone can work with documents online, in a fairly simple format - and you can see who edited what and when to embed pictures as well.

They say that you can still do documents together in Google Docs - but if I do not want the documents on my software project to be read and discussed with smile and bewilderment by colleagues from the CIA, another solution is needed, for example, to store documents in the version control system and in turn work with them.

Making the first entry: “we need wiki and document repository”

Where was it and with whom?


Very soon you will realize that even by adding information from mail and paperwork to the wiki, you begin to lose control and are looking for it for half a day. Those. just remember that you added a post or article on this topic, but where and when and with whom - history is silent.

Therefore, the tool must be able to correctly search for the added information - both in the wiki and inside the added documents. It is even better to support tags, and even better not to cut off the end of words when stemming like a medieval butcher, but rather to index all word forms and upon request: “day”, return “day”.

Allowing an external search engine to index the internal design base is, to put it mildly, dangerous. Therefore, the search engine needs an internal one - and where can I get it?

There are not so many options in the opensource:
- sphinx
- solr

We note: "you need a search engine for wiki and documents, internal."

I entrusted it to someone ...


You didn’t even wake up in the middle of the night, scaring Freddy Kruger standing next to you with the words: “I assigned this task to someone and it seems that the set deadline for its implementation ended the day before yesterday - and you, Fred, are to blame!”? That is - we often give instructions with deadlines and fall into the trap of the “trainer of red monkeys” - we need to run and remind the performers of the tasks and deadlines.

Therefore, we need a tool for registering tasks, performers and deadlines, with a reminder on a mobile device to the performer and me. How it's done?
- prioritized task list in Excel or Notepad (not always convenient, and often very inconvenient)
- task tracker (a very necessary tool, there are many of them on the market, but quite a bit of useful ones)

I would refer to useful task trackers as tools with support for a hierarchy of rights (departments, divisions, employees) and business processes for each task, and I saw only 2 of them:
- TrackStudio
- Bitrix24

Of course there is the well-known and convenient Jira tracker - but he does not know how to do that.

We note: “we need a task tracker, better with the support of hierarchy and business processes”

Common brain


Often useful information will pop up in a software project. You can remember it, but believe me, in a week it will be forced out of your brain by another, MORE useful information. Therefore, it is necessary to keep all useful information in something, such as a knowledge base, and then contact, clarify, etc.

For this role, the wiki described above and the search for it are perfect.

When?


Dates and deadlines are a scourge for creative people, which we - the developers are. When a person creates something, writes "from scratch", he does not feel the time and should not be discretely distracted once a minute to check - didn’t oversleep, did not forget anything?

Here, of course, a calendar-type tool will help everyone on the team — with the ability to add events, event reminders (including to mobile devices and to email). For managers, of course, a room reservation tool would also be useful for holding meetings with teams / clients at a specified time.

We mark: "we need a calendar with a reminder for mobile and reservation of entities"

What's your name...


You meet a charming girl programmer in the corridor, remember the class inheritance hierarchy and the algorithms that she is implementing this week - but ... they forgot her name! Happened so? Further it will be more often - the brain gradually grows old if it is not practiced with programming readers.

In this case, of course, helps the directory of employees of the company - structured by department and, especially important, accessible from mobile devices. Be sure to list not only the full name, but also high-resolution images and phones (Skype, etc.).

We note: “we need a company hierarchy with a telephone directory and search.”

Fear


The more complex the project, the more important the openness, trust and professionalism. It is imperative that any “shoals” and muddy questions come up and discussed - as quickly and objectively as possible. It is very dangerous to give such creatures to grow and, God forbid, multiply by dividing the segment in half. An even more dangerous pattern is the cover-up of problems by a supervisor, by stretching pleasure through the creation of an "appearance of order."

In such cases, you need a tool for posting information for public discussion and receiving feedback from colleagues - i.e. you need to post information to the right place and collect the likes. If luck is on your side - a top manager or CEO likes you - of course, this will greatly increase the overall karma of the project and the chances of success.

We mark: “you need to post thoughts and problems into groups without fear and doubt, with the opportunity to collect feedback and discuss”.

Grab and “torture”


Communication in the project is so important that, in secret, if all managers sat around the round table and constantly talked - the projects would never fail :-) Therefore, it is important to exchange information as soon as possible - but how? By phone, Skype ... It is even more effective to call a colleague directly through the browser, since this has recently become possible thanks to the WebRTC technology. And of course - to communicate with colleagues in a secure (ie, not skype) chat with the exchange of files, voice and group video calls.

This is especially true when using remote project teams, incl. remote development - projects save group video calls and only they.
We note: "need a secure chat and group video calls"

Collective mind


Remember, yes, the synergy effect: "2 + 2 = 37". Often you need to get together with other teams and attack project risks. A group video call is good, but often a common space for sharing information is also useful, such as working groups, and it will be great if external experts can be involved in these groups.

We note: "you need a common workspace and external connection to it."

"Assemblage point"


In the morning at work, you do not know where to start, who to be the first to check - so that by the evening not to overwhelm anything important. There are feelings - that the " assembly point " is lost and life is rushing past. At the same time, you need to check out what happened critical since last night and last night. The task is difficult to solve. Some subscribe to RSS notifications, some develop e-mail speed reading skills ... but I want (and Google once also ingeniously correctly wanted to implement it as Google Wave and social networks understood this :-)) to present this media stream of critical information for a manager in as a live, editable tape - with texts, images, files - and so that you can like and add a comment.

We note: “we need a media interactive live tape, useful for both the manager and the developer and another specialist”.

Check list


So now we have a checklist of the most common project risks and ways to deal with them using a computer and the tools available. A complex project, especially software, is always a trampled Gantt chart and a trip in the fog with a compass and a burning heart, surrounded by a reliable team - but if you do not allow common mistakes and work with known risks - you can, if lucky, come to the location of the project goal, celebrate a victory and enjoy a good mood!

So, let's collect the checklist:


These tools do not guarantee anything, of course, and "life is a fatal sexually transmitted disease." Nevertheless, the practice constantly proves that if you prevent the known risks and limitations of the human mind, help teams effectively interact, bending the computer’s silicone brains and know the name of the girls programmers in the company, your software project will definitely come out of the desert fog because you and brothers in arms did everything to win!

Good luck to everyone and successful software projects!

PS: ops, it's a reminder of tomorrow's broadcast . We work in a similar system within the company, if that :-)

Source: https://habr.com/ru/post/224155/


All Articles