How to Start a Software Development Project?

Starting a software development project might raise many questions. No matter if it’s a web development or mobile development, you have to know what to expect. Here’s a short summary of steps needed to kick off a project at Sunscrapers.

The process will differ in some aspects, from case to case. That’s because we approach every project individually. Over the years, we’ve learnt that software development is far too complex to tar everyone with the same brush. What’s most important is the execution and decision making in a given business context. Market landscape, leadership, resources – all those factors  have an impact on the ultimate success of an application. We know that this context is inevitably different for everyone. That’s why we must approach those individual circumstances in – you guessed it – the individual way.

How do we start then?

1. An introductory call

We set up a 15-30min Skype (or Hangouts) video call to get to know each other. This is the moment to talk about your vision, goals, requirements, resources and constraints. We will also tell you more about Sunscrapers and our software development services.

The goal of the call is to give us enough input to determine:

  • whether we’re the right partner when it comes to our expertise and your needs – we’ll be honest if for any reason (e.g. technology mismatch) we’ll not be able to guarantee the top quality service,
  • how we could help – what service(s) and competences we think are needed, what engagement model would work best, what we can propose,
  • what next steps would make most sense.

We care about your time and needs, that’s why we won’t discuss functional aspects of the application during this call. Without determining the fit first it will probably a little bit too early to do that.

2. Project proposal

Based on your individual circumstances as well as your progress up to date we’ll propose the best way to tackle the software development project. Essentially there are three entry points for collaboration:

  1. Product discovery workshop – aimed for those who just have an initial idea of what should be accomplished, don’t know much else and need our help in clarifying the business concept, it’s assumptions and feasibility. 
  2. Scoping session – most of projects will start with this step. It’s goal is to take all your input (brief, list of functionalities / requirements, mockups – everything or anything you have), analyse it, follow up with Q&A sessions (that’s where we discuss functional requirements in details) and then start our own internal process aimed at putting together a solid strategy for product development in a formal project proposal document. 
  3. Code audit – if we’re taking the project over from a different team, we will want to start with reviewing the existing codebase to get an opinion about it’s current state. Then, if the project backlog is well defined we may jump straight to development, or otherwise revert to the scoping session. 

3. Agreement

Once we’re mutually happy with the project proposal, we will move on to sort out the formalities needed to kick off the project.

4. Onboarding

Alright, all set! Our project manager will now take you through our client onboarding so that you understand how our collaboration will look like in detail. We’ll tell you about the tools, working process, roles and responsibilities to make sure we all make the most of our time together.

The whole process is designed to bring as much value to our prospects as possible. Our existing clients happily admit they’ve learnt a lot during our initial conversations! Even if we’ll not be able to help, we’ll always look for genuine ways to help, guide or recommend other solutions/providers. That’s simply the way we are.

If you’d like to see the process in practise and learn something on the way – do get in touch to check if we’ll be able to help you with your project.

 

Working Models in Software Development

There are different working models in software development. Differences between them might seem subtle, but actually they vary in terms of price, attitude and added value. Think about what you need and choose the best one for your company with our comprehensive guide.

Team leasing, body leasing or body shopping

Team leasing, which is also called body leasing or body shopping, is form of outsourcing conducted by a software company. Software company is an intermediary between client and developers. Such firm is dynamically looking for developers to meet specific project’s requirements, but it doesn’t lead the programming itself. Software company arranges two job interviews. First one verifies candidate’s soft skills and is conducted by a software company. Second one is a technical interview carried out by the client. Signing a contract between software company and developer happens only after client’s approval. Then, a developer is passed on to exclusively work for a chosen client, usually in client’s office.

What’s interesting is that an intermediary software company is an employer of a developer. That is why it is also responsible for administration and payroll of this employee. Salary, leave – all is handled by a software company. Usually a software company operates on a commission basis.

Pros

Body leasing is probably the fastest option, which makes it a great advantage for big companies. A software company usually employs a lot of recruitment specialists, who can easily and rapidly choose a bunch of interested candidates. And since it has the access to so many developers, it is also able to move team members between different clients and projects quite easily. What’s also important is that there is a lot of companies that do such intermediary services, so their prices should be rather attractive.

Cons

Choosing working models like team or body leasing is only profitable when the client’s project is big enough. Huge companies need tremendous number of developers and they need them fast. This may be associated with the considerable threat – hiring low quality employees. The biggest issue here is the speed of recruitment process itself. It is so rapid, that negotiations with developers are mostly based on giving them higher salaries, not checking their skills. Software companies don’t conduct technical interviews, which doesn’t help either. Another problem with body leasing is a matter of an identification with a company. Employees don’t feel connected to anyone. They don’t have all in-house benefits and very often they don’t identify themselves as a team members, which can be an issue with building a strong, devoted team.

Will team leasing work for me?

Team leasing is a good option if your company is under the pressure of time and cares more about the amount of developers and less about their quality. If flexibility in increasing and decreasing your team’s members is extremely important to you, you should consider team leasing. Also, if your company works on difficult projects and keeping employees in-house is a struggle – body leasing might be the way to go.

 

Team augmentation and dedicated team

Team augmentation and dedicated team working models are based on developers that are working full time for a client, but are hired by a remote software shop that specialises in nearshoring or offshoring solutions.

Team augmentation helps with insufficient manpower in a client’s company. Tech leadership and project management is usually on the client’s side. Software shop is providing know how and experience gained from other projects and encouraging developers to demonstrate proactive attitude.

Dedicated team, on the other hand, is about setting up a more autonomous group of developers. Tech leadership and project management are on a software shop’s side.

In both of these models, software shop is taking care of all employee’s benefits, like office space, hardware, leaves, worktools, but also professional development, wellbeing and entertainment. Developers are usually more committed to the company, because they are working in an environment conducive to their progress.

Developers can be either recruited for a specified project, like in team leasing, or chosen from the internal resources of a company. We believe that there is a better chance to access skilled and proven experts in software development with the second option. That’s why at Sunscrapers we have our own, independent standards of the recruitment process, so we can hire the most qualified, yet versatile developers.

Pros

Software development company that offers team augmentation and dedicated teams, usually provides added value to its services based on its past experiences and gathered know how. When it comes to price, dedicated team or team augmentation are almost always cheaper than in-house recruitment. While the initial cost may seem comparable in relation to a salary of a local, in-house employee, web development company pays for workplace, equipment, benefits or administration. It also cares for employees’ development and entertainment, making them more productive and harmonious. All of this is possible while maintaining flexibility in the recruitment process.

Cons

What can be a hurdle with both team augmentation and dedicated team is remote cooperation. Communication or a project management will require some extra effort. Another problem is difficulty in carrying out a project that requires a very broad range of technologies. Software shops usually specialise in particular technologies in contrary to big recruitment companies. Software shops are experts in specific areas, for example Python development or mobile apps production.

When it’s a good option?

Team augmentation and dedicated team models are perfect for medium and long-term projects. If you need committed developers to work closely on your projects and value for money is an important factor – it might be the best solution for you.

 

Project

With project based cooperation you set a goal to achieve in a specified time and budget and a software shop handles the delivery. This working model is a great decision when you need a web development shop to comprehensively take care of your standalone project. When you know what you want, you can assign everything to a software shop with multiple competences. Such projects are usually completely independent from your daily operations. Cooperation costs are based on fixed fee or time and material – we’ve mentioned differences between them in one of our previous posts. Are you doomed to fail your IT project? Hourly rate vs. fixed price discussion

Pros

Software shop provides added value to the project through its experience. Thank to previous projects and ability to upskill, web development company is able to deliver a requested solution. Software shop takes care of everything. It offers not only on-demand availability, but also access to a range of specialties: design, web/mobile development or consulting. All worries are removed from client’s shoulders with no obligation of long-term cooperation.

Cons

The major drawback of this working model is its price. Usually, it’s higher than other solutions, but there is a reason for that. Developers may be assigned to a project only for a short, irregular periods of time. And since project is held completely by a software shop, it generates more costs. Software shop has to engage more manpower without long-term cooperation, which might be pricey.

Is project model an option for me?

Project based model works best with short and medium-term ventures. It’s a good option if you would like to work with a partner with broad competences and you need flexibility in choosing them. Also if you are looking for an exact specialisation you can choose a software shop basing on its know-how, quality of work and relevant experience. Finally, project model is a great solution when you don’t have your own IT competences and outsourcing is the only option.

Considering your true needs is extremely important while choosing the best working model for your company. If you have any questions, leave a comment below. If you need help in choosing the right working model for your business – contact us!

Sunscrapers in Top Web & Software Developers in Poland by Clutch

We thoroughly check opinions about a product before we make a purchase. It is pretty obvious right? The same goes with looking for a reliable web development company. We know how important it is to research information before cooperation starts. And at this point there is a rescue for all companies looking for software providers – Clutch. Clutch is a B2B market research firm that helps to find partners for one-off project or a long-term relationship. It uses an innovative research process that melds a traditional research and newer consumer review services.

We were really thrilled to hear that we were showcased in their recently updated listing of Top Polish Web & Software Developers! We stood out from almost 140 companies with a thirteenth place.

Leaders Matrix

Leaders Matrix consists of 15th best Polish companies that are able to deliver. We feel that it is just the beginning of changing the image of Polish developers in the world!

What are our biggest advantages? Our clients mentioned our engagement in offshoring cooperation, which made any communication barriers or time zone differences irrelevant. Also our superior English skills and uncompromising responsiveness were indicated as our strong points. What is more, our our knowledge and passion for Python was much appreciated in our client’s reviews and we are more than happy to read that!

Highlight from our client’s review.

Our startup client wrote that “For a company the size of Sunscrapers, it’s unique that they try to keep relationships on a personal level. They invest in people and find quality programmers who don’t only care about being paid a lot. We are glad we found Sunscrapers as a partner.”

Big thanks everyone!

We feel grateful for being acknowledged by Clutch. Thanks to the support from our clients, we are able to solve their problems with technology. Big thanks to our team as well. We are really proud of our developers: keep up the good work!

If you would like to read more reviews, check out our Clutch. Feel free to contact us if you have any questions!

Looking for developers? These are your best options!

There is a moment in a company life where existing team of developers is great and successful but there are not enough hands to work on a product. At this point, in-house recruitment starts to be a nightmare and extra support is needed – favourably as soon as possible. What can you do if you find yourself in this position? There are few options available and we will shortly describe you their pros and cons.

Recruitment agency

First option is the recruitment agency that can be the additional support for in-house recruitment. Although the process of hiring can still take more than a month, it’s probably, still, the fastest option of getting help. The additional advantage is knowing all the associated costs upfront (agencies are transparent with their pricing) which can help in predicting the necessary budget. What’s more, many recruitment agencies work in a “success fee” mode which means that you only pay for the staffed position – that decreases the risk of spending money without hiring anyone.

On the other hand, the remuneration of the agency can be quite high. It depends on a country, but usually a commision that varies around 10-20% of candidate’s annual salary is a standard. You also need to remember that the agency is helpful when it comes to preliminary selection of candidates but after that their job is over. Conducting technical interviews and final responsibility for making the best choice is left to you.

Why cooperate with the recruitment agency?

HR recruitment agency might be the best option when you’re in a desperate need of increasing your recruitment pipeline fast and your budget is quite big. Also, when you’re looking for someone that can join you directly in your office.

Freelancer

Another option is hiring a freelancer that can join your team for a short period of time. There are many ways to find a perfect contractor – you can try networking or searching portals such as toptal.com or upwork.com that are collecting experienced freelancers.
The recruitment process of a contractor can be faster than with the in-house recruitment. Also, existing databases of candidates, make checking their backgrounds easier. With in-house recruitment it’s more difficult – every time you have to ask for references from past employers. What is more, freelancers usually have lots of experience and different sets of skills because they change projects quite often.

There are some major cons of hiring freelancers though. Their availability is a big issue – they may work on few projects at the same time or even disappear when they find a full-time job elsewhere. It is also your responsibility to manage such person and do check-ups. You need to be sure that a freelancer is in constant connection with the team and knows what to do. Also, costs of hiring a local contractor are quite high. And yes, remote contractor can be cheaper but disadvantages we’ve mentioned above can grow to really serious issues. Last, but not least – a freelancer’s loyalty is rather low. When the project comes to an end a freelancer disappears from the team together with all meticulously gathered knowledge and know-how. With the next contractor you have to start the onboarding and training again.

So when it’s good to hire a freelancer?

Hiring a freelancer might be a good option when you need support for a short period of time – few weeks up to few months. It’s also easier when your project’s tasks are fully described and new developers don’t need a long training before they become productive.

Local software shop

Cooperation with a local software shop is a great option because of the stability of such partnership. Those companies hire many employees and that lets them be elastic with regards to developers assigned to your project. Usually the quality of their work is high because of their competences and track record. Also, some firms are like one stop shops – they have extra competences, so you can carry out your project only with them. Strategic planning? Market research? Design and UX? They can help you with almost anything you need.

But the biggest and usually the most disqualifying issue with the local software shop is the price of the cooperation. It’s the most expensive option from all mentioned above – agencies in the big US cities can charge even $200 per hour!

OK, when it’s a good option?

If you have a standalone project that can be developed in parallel to your current work (such as systems maintenance, bugs repairs, customer service requests), local software shop might be the way to go. It’s also a good option if you would like to work with a partner with broad competences, not only software development. Finally, this option will also work if you have an IT department within your company (because you don’t need it!) and you can implement a project through external partners.

Remote software shop

Might be the best option if you are looking for a reliable, solid and experienced partner but your budget is not limitless. In addition to the advantages listed in a previous paragraph, you have the access to truly talented people from different parts of the world. There is a huge competition for the best talents on a local market, that’s why extending your search area may help. With a remote dev shop, you have a great opportunity to build a long term cooperation – lower costs allow to set up a sustainable arrangement without the need to worry about optimizing costs in future. At Sunscrapers, for example, we can set up dedicated teams for our clients which, at the end of a day, is very similar to opening up an actual remote office.

The disadvantage of this solution might be the lengthy process of singling out the best software shop from many available options. It’s really important to conduct the process carefully and comprehensively, because there are many companies of questionable quality that are better to be avoided. That’s why you have to be 100% sure that communication with the chosen partner and his workflow will not cause problems. Also, you need to remember that distance might make things more difficult – with remote work everyone has to put in a little bit more effort.

When to cooperate with the remote software shop?

It’s simple – if you’re looking for a long term solution while keeping your budget on a reasonable level. And when you are not afraid of trying out a remote partnership.

You know that you need help with extending your team of developers and you know what options you have. Now, you should think about your true needs. Do you need support in the short or long term? Does your project require close cooperation or is it standalone? What’s most important to you – time, budget, same location? Answer those questions and if you would like to know more about us and our experience, check out our website www.sunscrapers.com or contact us!