7 Must Have Features of a Really Cool and Successful IT Project
Modern business requires IT solutions — mobile applications, CRMs and other important developments. How to release a successful product? What is more profitable: IT outsourcing or in-house development? We have formulated 7 main aspects of a successful IT project, based on many years of practice.
Is IT Outsourcing Actually so Efficient?
Yes. And even more.
Innovations make business competitive and more profitable as a result. In the era of digital transformation, there is no longer a question — to use it or not; no one needs to be convinced that IT transformations are vital for business. A more frequent question entrepreneurs ask themselves is: “What forces should I use to implement this kind of a project — should I try to do it on my own or maybe contacting an outsourcing professional IT company would be much better?”
The world have long realized the advantages of outsourcing: access to advanced technologies, a possibility to concentrate on their own business objectives and very quick project release terms. Time is the most expensive currency today. Any failure or mistake is a waste of time, and a head start for the competitors.
Feature #1: Well-Formed Team
The team should be formed in accordance with the tasks and scope of the client’s activities. Each team member’s experience should be relevant to the context of the project — industry, segment, business task specialization and product capabilities. The deeper each participant is immersed in the subject of the project, the lesser the risk of missing something significant and important. For example, while creating a security system for a large clinic network, we have involved experts from several areas — administration of medical institutions, information security, identity authentication, etc.
Which specialists does a project team usually consist of?
For large projects we employ a large team:
- Account Manager (AM)
- Project Manager (PM)
- Team Leader (TL)
- QA Specialist
- Analysts
- Developers
The main Account Manager’s objective is to manage relationships with the customer. The AM is not a technical specialist, but a manager who can keep up the conversation with the client in “normal human” language and at the same time can understand the product and knows how to formulate the tasks for the team in the most correct way. The Account Manager transfers the customer's priorities to the team members. The team is led by a technical specialist — the Team Leader. The Analysts are responsible for industry expertise and understand the specifics of different markets. The Developers have wide experience in product creation.
There are dozens of completed projects in various sectors (medicine, banking, foodtech, retail, etc.) and at least five years of experience in project management behind every PM in our company. The more projects in a company run simultaneously, the more managers and developers are needed. For example, we usually have about 60 parallel projects on which more than 500 specialists are involved in total.
Feature #2: Concentrate on the Main Problem, not on a Single Process
It is really important to know all the technological subtleties and nuances of a product, to think “productive”, but the real expert will go further and deeper into the sphere of business development. No matter how we — IT people — would like to exalt our importance, we should always remember one simple truth: the IT-system is not the main goal as itself, but a way to achieve that goal. The true goal does not lie in the technological sphere, but in business one.
Sometimes clients come to us with a plan, giving a ready-made solution for the purpose. What is next?
Option 1: brainlessly take it and implement it without diving into the “main course” at all.
Option 2: take a step back and make sure that this particular solution is actually needed. That is why you have to to answer the most important question — why? What is the purpose? Our experience taught us to recheck everything every time. Practice shows that such “meticulousness” may be useful.
Feature #3: Identify Actual Parameters for the Implementation of the Project
There are some clients who want to do everything perfectly: they recognize only highly functionalized products and there is no compromise for them. Starting the project, they plan to expand the capabilities of the system to its maximum without any regards to the timing and budget. Such clients are the gifts of fate to the performer, but such situations are rather ideal, and the reality is different. The temptation to accept that kind of a project is enormous. But there are lots of risks in this approach. Risk number 1: you lose priorities and release the wrong product in the end. Risk number 2: you will not meet the deadlines.
Feature #4: Fear Nothing
Sometimes, your doubts may become the nasty obstacles in the way of a good idea. This is a common situation when a project initiator with little experience does not understand how to “sell” his idea to the management properly. Or when an expert is obsessed with an idea and has a great willingness to improve something, but he does not know how to implement it.
Next he comes to an IT-company with his idea and asks for a solution. Then there are two scenarios:
1. The first one is to rejoice, to count the budget and to develop the idea poorly.
2. The second one is to choose little but significant functionality and develop it to the high level of a software product, without focusing on the supreme one.
We prefer the second way because it is realistic and practical. It will not take much time: no more than a month for a small part development. Such a short deadline won’t let the project initiator to “burn out” waiting. The other thing, is that the budget of a project and its scale will be adequate, and the chances of getting approval from management will be much greater.
Feature #5: Respect Your Colleagues and Build Better Interactions
No specialist will miss an opportunity to complain about the improper implementation of the previously done work, and follow it up with the proposal to make the job better, of course. This is a rather common situation in the IT business, especially if your colleagues give rise to criticism.
Here is a business case from our practice: once, we were invited to join a project on which another contractor was already working. The project was suffering. The deadlines were not regarded, bugs were not fixed on time. That did not satisfy the customer and he just wanted to solve the problem. The temptation to "finish off" a competitor and drag the blanket to yourself is really great in such a situation. But that way meant everything would be started, with new deadlines and budgets entirely. We decided to dive into the context to find out the nature of the errors and the problems encountered. It turned out that the current contractor did not have enough qualified specialists for the implementation of the front-end tasks.
As a result, we divided the scope of the work and took over some of the modules, involved the required specialists, which made it possible to identify defects at the early stages and save time. And at the same time we found a way to speed up the implementation of the project. Initially, project participants worked consistently.
At the early stage designers waited for the analysts to finish their work and only after that they took in the drawings of all necessary layouts and moqups. Having finished their work, the designers passed it to the HTML layout designers. We changed that serial format to parallel. The development period was halved and jointly, the project was completed in time.
Feature #6: Build Confidence and Develop Communication
A well-formed team is a necessary success factor for any IT project. But it is not the only one. Even a world-class specialist will not achieve any results if he is not able to build trustful relationship with his client. Some people have a lifetime communication problems, so they may grin now and be a bit skeptical about this advice. But in fact, everything is simple. No secret rules and forbidden knowledge:
-
The first step is to dive into the context of the client, we have talked about that above. Goal, objectives, barriers, restrictions, fears, concerns, previous experience — do not hesitate to dig as deep as possible. You will not violate the boundaries doing this, do not worry. Conversely, the client will be grateful for your genuine interest and desire to partake the responsibility for the result.
-
The second step is the communication control. You should take it on too. Everything is important here: group calls, reports, monthly demonstrations, meetings on the client's territory (if required), etc. We always organize communications and control them in order to lessen the duty of the client. If we would wait for feedback from him and not take the initiative, the project may freeze. And that is not our goal.
Feature #7: Further Development Instead of Support Service
The most common question of any client is: do you provide support? And our common answer is: of course! Everybody does. We are focused on ensuring that this is not just support, but a full-fledged development strategy. A product cannot remain static — it must be dynamic to produce a result. In fact, limited duration projects are rather uncommon...
We always trying to keep abreast: we analyze the market, monitor competitors, learn new trends, suggest updated versions and improved development options. In other words — we always try to dive deeply into the life of any product, without limiting ourselves with the formal development terms. It is important for anybody to be sure that his project will not be abandoned; that the created system will live and expand. In our opinion, the true professional IT performer is responsible not only for the specific result, but also for the entire life support system of the product created.