Contact us!

#1. What’s on the start: one of the most wanted is a PM

Dima Bohatyrchuk
Recently, we’ve got an idea to tell you the secrets about what’s happening inside of our company during process development. With pleasure, we want to share up our experience in that direction. We announce a series of the publications just about us, our workflow. We may think that it’s so important to show you in real, what are we have control over the process. It is pertinent to divide the practice into 4 parts separately.

Each project needs the attention, organization’s rules, and max. concentration on the specific details. The result should be satisfied. It must be clear to understand the consequence and how to use a mobile app or a site.

Avoiding the task’s chaos, clearly structure our activities, we want to start of how organizes daily work of the main position in that process – project manager (PM). He or she is a middleman, a translator, and a bridge in a team-client system, according to the project manager.

Project manager organizes and manages everything of achieving the goals in time, based on budget and not at all. Whether it may be software development, regulation a marketing company or disembarkation of a man on the Mars. A project management allows achieving project’s success on the high level.

There are the several approaches to software development, using in different companies according to their work’s specific:

- Waterfall

- Agile

- Scrum

- Lean

- Kanban

Would you describe those ones we use? Let’s see. These are professional Waterfall, Agile and Scrum. Following main principles, they are different at some point.


When using the waterfall methodology, each of these stages is a separate software development process, and usually ends before the next one. All needs must be considered and approved by the customer before the start of the design.

Positive sides

At an early stage, developers and customers agree on what tasks will be delivered at an early stage in the project development lifecycle. This simplifies planning and designing.

It is also easier to measure progress since the entire amount of work has already been planned.

With the exception of preparatory, organizational work, reviews, approvals, status meetings, etc., the presence of the client is strictly not required.

Finally, the software can be developed completely and more thoroughly, based on a more fundamental understanding of all software products. Step-by-step effect which can occur when the code is built in addition.

Here are some of the problems that you may encounter:

- one of the areas that almost always lags behind is the effectiveness of requirements;

- collecting and documenting requirements in a way that is important for a customer, and frequently it is the most difficult part of software development. Customers are sometimes intimidated by details, and this approach requires specific details provided early in the project;

- in addition to this, customers may not always be able to visualize the application from the requirements document. Frameworks and layouts can be used, but there is no doubt that most end users have difficulty using these materials along with written requirements to get a good idea of what they will receive.

Another potential drawback of developing a pure waterfall is that the customer will be dissatisfied with their supplied software product. Since all results are based on documented requirements, the client may not see what will be delivered until it is completed. By this time can be complex (and expensive) for implementation.

The Waterfall is a methodology used for a long time. And in some cases – effectively. At the same time, in a number of projects that approach is not appropriate in its pure form. Based on comments from representatives of various companies, we can conclude that the "waterfall" has the right to live in modern projects. But its use is justified. If the requirements are not exactly changed by the time the project is ready.

Agile method is a set of iterative-incremental approaches to project management. The essence of the method is a separation of little projects (tasks), which folding soon in one project. This is one of the most effective working approaches at which participation in the process takes the whole team.

HOW IS AGILE ACTING?

An Agile method is a flexible development approach. We may talk about it like a vision of a project development also. Quite often, during the process of creating any product, specialists have responsibilities for their functions according to each project. The presented approach makes it possible to avoid a human factor, to suppress an influence of personal relations between team members. Thereby, the responsibilities must be distributed in the right way.

Those company where using the Agile is pertinent has the differences in comparison with competitors: by successful project management, of the whole business activity, and the results of it. Our company also uses this development methodology, ‘cause it’s easy to implement in IT-sphere.

Besides, we grant a commercial software development. However, it is necessary to mention that for state institutions and corporations the legislative requirements and work rules that are documented in job descriptions serve as an obstacle. Therefore, a slightly different situation is observed here.

WHY IS AN AGILE EFFECTIVE FOR US?

As we know, planning time helps to form the right time frame and prices. It is a task list of data and deadlines. It means a project divided into the timepieces. It is called sprints. Each of them lasts from 1 week to a few months. The trouble is that concrete technical tasks could be changed anytime. A little break time in the primary concept usually leads to changes that require coordination. After that, the deadlines are replaced. It’s not good in fact.


Even when a project starts, it doesn’t need to have the agreed functions. A customer should be able to add changes. An Agile divides the project into many parts that must be finished by the deadline. Since some steps (sprints) finished, it must be demonstrated and UAC-tests. Then it is adding by the new User Stories which like the interaction methods between users and product.

NEXT, LET'S CONSIDER WHAT IS SCRUM.

This approach includes the characteristics of a classical process and a flexibility in project management of software development. Focusing on the laws of Agile, Scrum creates a backlog. Further, user history is prioritized by the owner of the product - the intermediary between the customer and the team or the user history is decomposed.

A basic structure of the Scrum processes consists of the organization of the backlog, drafting of the sprint plan, daily meetings, meetings of delivery of Sprint's results, and its retrospective. To understand how all the stages work, they want to talk more about them, to reach the essence of the Scrum technique.

So, first of all, at the beginning of Sprint planning, we meet to organize a backlog. This meeting can be compared with traditional planning in project management. It is held before each sprint. It analyzes what has already been done on the project, what needs to be done, and consideration of the plan for further action. The owner of the product determines the priority and the most important goals to be implemented.

The owner has to be assigned to each sprint since this is the only person who determines a vision and a possibility of the stakeholders taking the final product. The process determines the effectiveness of the sprint as a whole. This is very responsible since from these actions depends on whether the customer will receive value in the end.

Planning a Sprint

After the main tasks are formed, a team decides what must be done during a future iteration, how to achieve the goal. This stage is made at the start of an iteration, after a meeting on the ordering of the project.

Daily Meetings

A limited daily contact-concentration (not more than 15 minutes). The goal of it is talking about tasks, the whole project. There is a distinction between meetings and planning. It isn’t a solution to problems, but only an exchange of information about a status of a project at the moment. All the problems are solved separately.

What’s the sprint’s result?

An outcome of this point is learning and getting understand the project. Those ones, who had worked on it, presents the result to all. A Product Owner should get it.

The retrospective

It’s possible just after the outcomes of one sprint to another. A team is monitoring how efficiently the process of implementation goes. At this point, it is necessary to value the powerful team sides and try to strengthen them further. Each of team members is responsible for own decisions and tasks.

All duties in the sprint are due to the customer’s application. The tasks distribute for each member of a team. Sprint in Scrum is the real interval for doing the tasks. The main benefit of that is a single-tasking. Many companies greatly use this approach. It is comfortable and easy to integrate into the system.

Keep in mind, in case of the company has non-effective Scrum methodology, it has to invite a Scrum Master. This is some kind of moderator of Scrum processes. This is who usually takes part in key meetings of the team and doesn’t make the decisions about a backlog and user-story in the sprint. To lead the work into the right way is a directory job.

THE STRONG SCRUM SUITS

Also, this methodology is appropriate for an experienced team in their sphere of activities. A frequent communication inside between the team members allows getting help and support each other. At the time of every iteration, the developers always implement and test new functions. Then they delete unclaimed ones to the users. Scrum lets “make the mistakes fast”. Obvious, it is good. You have to feel well avoiding troubles immediately.

THE WEAK SCRUM POINTS

There we can allocate: this technology is very demanding to a team developing a concrete project. On the one side, the command must be not so big. On the other side, it should have a lot of features. It means each team-player ought to be good in several fields of activity, in particular, QA and business-analysis. That’s why we try to choose every team member carefully.

Besides, everyone is “a team player”, responsible for their time-management and personal results. Their own progress has a serious impact on the whole team of developers, QA, designers, and programmers. Make decisions on effective work, create a full-fledged product that will meet all market requirements, for each project a team led by the PM-project manager is selected. It’s a leader whose “word is a law”. A PM manages employees and watches for achieving the goals. All the process’s ends depend on a PM.

Project managers are unique people as knowing everything. They inspired by answering questions: “For what?”, “When?”, “Why?”, “How?”, and so communicate. They almost do not have the right to make a mistake, because every decision has an impact on the final issue. The main PM’s task is saving the quality of the project, managing it, check the plan and deadlines. That is to say, work based on three points: tasks, deadlines, and recourses. The slogan “job must be done!” is the best according to PM.

We always assess every possible risk and offers decisions. We keep tabs on the plan for the purpose of the product’s quality. Project management is a hard work. An employee at this position has one of the primary roles in communication between our team and clients. Sure, a PM must be able to lead the conversation by every device, to get a grip on international etiquette rules, be in touch 24/7. So, are you agree it’s the dynamic position? Clearly.

We guide by our slogan. A key importance for clients is a permanent side-to-side communication, qualitative working approach.

WHAT DO YOU THINK ABOUT THE PERFECT PM?

What’re the skills must be improving to lead the project (and the company) to the high? First of all, a PM needs to be able to convey information correctly and recognize his idea at the start. Simply saying, “turn into a client”. Communication skills are the key. With the aim to hear each other, a PM must understand the IT-field to give the information to a team, create the right tasks, be good at the analysis. Abilities to see the essence of the matter and the essence of the problem by all means.

Moreover, the technical understanding of the development of their products is necessary. Yeah, it means a PM is a developer a little bit, a QA, manager, and just forceful and stress-resistant leader. He or she should resolve any situation, find a way out of the difficulties, always be characterized by an adequate perception of the current affairs.

Furthermore, be able to keep client’s calm. People often say a project manager should be a former developer. This isn’t true many times. Some developers go to managers and soon becomes a PM. A project manager is a more managerial position than others in the direction of multitasking. Must have is a skill to complete the few employee’s work.

Avoiding technical problems with client’s communication, a PM has to use a lot of messengers and mail-clients. Thus, to follow each of them, be flexible to organize own working time. Those ones even not at all the abilities and strengths of a good PM.

This person guides of actual project’s documentation. It describes all the technical requirements that were agreed upon between team/customer. The task of the PM is to distribute responsibilities correctly among the members of the whole team. Therefore, a project manager is a vitally important position which requires organization and ability to fully control the project and work on it. One of the key steps is the proper timing of the project in which PM also takes part. In a word, the so-called "investigate" is conducted.

Our task is to understand the client's idea, implement it, make it work and clearly realize, what should receive a product owner after the completion of development. Thus, to get a quality and competitive product.

As in any other case, each project, in one way or another, is exposed to risks. The most serious of those that can arise is an incorrect evaluation as to the complexity of performing all tasks related to the project implementation. And also, with an understanding of the project itself, its features.

In our working process we use the advanced technologies, such as Python, django, php, laravel, JavaScript, jQuery, angular, fabric, Active Directory, Docker, redis, celery, AWS, cron, mysql, postgre sql, html, css, android, java, objective c, swift, Facebook bot, mongo db.

Programming languages: Python, PHP, JavaScript, Java, Objective C, SWIFT.

Frameworks, libraries: django, laravel, jQuery, angular.

Data base: mysql, postgre sql, mongo db.

Deployments: Docker, fabric, jenkins.

Tools, services and application programming interfaces: Active Directory, redis, celery, AWS, cron, json, ajax, memcached.

So, after the project has passed the development stages, got a design and a corporate style, the testing process begins. The product is tested for load, regression, and security (later about those ones). The finished product is transferred to a customer. Further, if necessary, puts it in public markets.

We talked about how work processes within the team occur, how it is organized in relation to each project, and what’s the role of a PM. We showed how, in our opinion, it should be. Based on practical experience, revealed the moments of work and the essence of the project itself. After all, to become a good specialist, a PM has to be able to do a lot and keep a hand on the pulse. At this hand and at each of the team. In a word, educate yourself on leadership qualities and lead others to success.

We adhere stated principles, thus, earning trust. We are sure that only by respecting a client and a quality teamwork for the result we come to success. Therefore, we are always ready to meet a client, creating a new product. In any niche. We have profitable offers and are ready to cooperate to satisfy any user.


Read also:

Newest links for developers

Minimum functions is not a bad thought

Do you like this article?
Career myths that must be avoided
It seems crazy, but your experiences or location no matter by and large. You and no one else makes the limits in your own consciousness. In this case, you follow your mind. We want to break down a few myths about it.
Newest links for developers
Today we live in an epoch of differences and the new global trends in IT-industry. The biggest companies in the world such as Google, Microsoft, PHP and others, give us an opportunity to use their tech innovations, announcements, join their products, which has an impact in IT-age. Let’s look at them and generate in one place. Our future is in their hands.