How to order IT projects
I have been running Coding Sans, a software development agency, for 5 years.
During this time, I’ve overseen 70 projects, which undoubtedly has given me a ton of experience.
I see a few patterns I would like to address that could shape the model of IT outsourcing
There are two software outsourcing models
Fixed price and a fixed scope
Hire people by time
Fixed price and fixed scope
Most of the risk is handled by the software development agency.
Hire people by time
The project management-related risks are handled by the client.
The software development agency only provides the requested number of developers.
Where to start...
...to successfully work with a software development agency to build a great product.
#1
UX/UI and end-user validation
if your UI designs haven’t been seen by at least 10 end-users who were trying to accomplish something on your high fidelity mockup then you are setting yourself up for failure.
You can’t think with your users' mind. If you skip it, then chances are that after the release, your users will have no idea how to use your product.
If you can’t get 10 end-users to test your mockup, how will you get them to use it once your product is ready?
#2
Thorough research and planning
Software architects design your solution based on what they receive from you or your designers.
This costs you money because it takes up time to design your solution.
If a provider skips this part in the name of AGILE, they just want to get the most hours out of the project.
Agile means agile delivery, not the lack of planning.
#3
Set the priorities
You have to be conscious of what your priorities are about your project, but like all the best things in life, you can only choose two.
If you want it cheap, then it will be a backburner project, meaning if there are available resources, then we (the agency) will work on it.
If you want it really fast, then you have to overstaff the project where every additional developer is worth less than 100%.
Just like 9 women can't deliver a baby in one month.
#4
Tests are must-haves
A test is the only formal proof that a system is working as it was intended.
Your project will take 30%-40% more time, but test is the only thing that ensures long-term maintainability and extensibility.
Without tests, only the person who wrote it will be able to touch your system.
No sane dev touches even a moderately complex system without tests.
It is like running on a minefield: a single step can have overwhelming unintended consequences.
What are the key takeaways?
Turning your idea into a shipped product can be a rocky road, but you can smooth it out by being mindful about the trade-offs you are willing to make, or have to make.
Make sure you run end-user tests with your UI designs.
Your project should be researched thoroughly by the software development agency. You have to have a detailed knowledge of the big picture before starting the development.
A test is the only formal proof that a system is working. If you want a maintainable product then tests are must-haves.
Nice to meet you...
Coding Sans is a software development agency, building serverless mobile and web applications.
We’re based in Hungary working for companies all around the world.
Are you looking for developers to build your product?