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!

Agile vs. waterfall – what’s better for my business?

For many years, the IT market was based on waterfall approach to software development projects. Then, more than 15 years ago, the agile methodology entered the scene and quickly dominated and capsized it. Obviously, that is why waterfall (traditional approach) is not that popular anymore. However we all know that when there are two options of doing something, there will be an emotional debate about which way is the best. Now, we will bombard you with information about both waterfall and agile, so you will be able to make an informed decision while choosing a perfect solution.

Waterfall – what is that?

Waterfall is the project management approach, where software development process is sequenced. It usually consists of 8 phases – conception, initiation, analysis, design, coding, testing, implementation and maintenance. When each phase is completed, project team can proceed to the next phase.

It is a step-by-step, continuous process, that’s why once a step is completed, it is really difficult to go back to the previous step. Also, there is not much support for changes, so the project plan must be extensive and detailed from the beginning and then followed carefully.

When talking about advantages of waterfall approach, the main thing is the simplicity of the process – it’s easy to understand for everyone. Additionally, clients have an idea of what to expect in terms of project’s size, costs and timeline. We also have to mention meticulous record keeping and detailed documentation that follows traditional methodologies. They might be important for any improvements in the future.

Dangers of waterfall

There are few risks of using waterfall, where fundamental one is the danger of exceeding time and budget. In software development not everything can be fully planned in advance and some unexpected problems may appear. Very often, initial assumptions or requirements might occur to be incomplete or faulty. For example, integrations with third party software can cause a headache, because we don’t have any control over external services. Throughout a project, we can realise that the documentation is incomplete, the third party API itself doesn’t provide desired functionalities, or worse, the API has changed significantly since we’ve prepared our analysis and estimate.

Waterfall doesn’t support changes satisfactorily. Not everyone knows that developers need a formalised procedure before taking action. Every modification consumes a lot of resources, that could otherwise be spent on delivering the agreed scope of the project. Also, testing happens at the end of a project, which means that bugs are discovered really late in the process and the cost of fixing them is much higher. At some point, the budget is fully used, but there are still multitude of tasks left which still need to be delivered under the terms of original agreement. Client pushes to implement all desired functionalities and in the same time software shop wants to finish as soon as possible, without generating more losses. This causes a risk of the lower quality of code and poor morale of a team.

The phenomenon of Agile

Agile came as the solution for traditional waterfall limitations. Its incremental approach completely changed the way of handling IT projects. The main characteristic is the idea of sprints – short iterations that usually last a week, two weeks or a month and consist of planning, coding and summarising, which resembles a tiny waterfall project. At the end of each sprint, project is tested, deployed and future plans and priorities are re-evaluated.

Agile approach gives a greater value for money because of the tasks prioritisation and incremental delivery. This helps to focus on features that bring the most value to users first. What is more, due to frequent testing and early problem discovery, developers are able to deliver a higher quality product. Also, agile gives a way better support for changes. At the end of each iteration, new knowledge is gained and everything is reviewed. It’s the moment where project plan can be updated, which is more reasonable and practical.

Not that perfect

However, agile methodology has some disadvantages. Without a definite plan, the final product can turn out to be different from what was expected in the beginning. That’s not necessarily bad, because client’s needs can change basing on project’s progress and customer’s feedback. Furthermore, documentation can be less detailed, which can sometimes make the onboarding process longer for new team members. Not to mention the fact that the time and cost of a project can’t be predicted with perfect accuracy. They are usually specified as a range of values and that may seem more risky for a client.

Which one is the best?

The only certain thing in software development projects is change, especially in the IT industry – everything is transforming quicker and quicker, on a scale that has never been seen before. While both waterfall and agile methodologies solve complex issues in different ways, it’s the agile approach that supports all those changes in businesslike and functional manner. We’ve expanded our opinion on this topic in our previous blog post “Are you doomed to fail your IT project? Hourly rate vs. fixed bid discussion”. Though, we have to mention, we are not saying that waterfall is simply the worst option on Earth – it will work, if your project is predictable and simple.

Are you doomed to fail your IT project? Hourly rate vs. fixed price discussion

We know that choosing a good process to handle your IT project can be a headache. At first glance the fixed price might seem like the best possibility, but in fact it’s the hourly rate that seems to be the only reasonable option. What is more interesting, it is not even a matter of choice anymore. The software development landscape has changed so much recently that there is a high probability you will fail your project with fixed fee approach. Why? We will tell you now.

Project management models

First of all, both billing options are direct outcome of two different project management models – agile and waterfall.

Waterfall model is a sequential process. Planning, designing, coding, testing, and launch are consecutive phases that you need to complete one after another. This process doesn’t support changes very well – they often result in significant delays and going over the budget. In waterfall methodology, fixed bid is its ensuing characteristic. With agile model on the other hand, developers are able to optimize their workflow, by dividing the project into smaller sprints. Thanks to that, they iteratively plan, design and develop project’s components which results in continuous delivery. Agile methodology allows the team to make changes in the scope, fix bugs as soon as they come up and deliver the product faster. That’s why the other name for the agile contract is “time and material”, where hourly rate is a basic form of billing.

Statistically, agile model has around 40% project’s success rate, whereas waterfall model only 11%*. It may seem to be a simple choice for clients.

Money, money, money…

Now, even if the agile approach seems like a great idea, an important question appears: “How much it will cost?”. At this point, not everyone is aware that IT projects evolved so much! We are no longer talking about building simple websites but rather about building real Internet companies. Most successful applications require constant attention and development support. We mean user feedback, scalability issues and changes on the market- just have a look at Uber. That’s why when it comes to counting expenses, it’s difficult to predict the exact final costs of the finished process.

This might be scary, but it is a new reality. You’re working on your business, not a small project with a definite ending. Fixed fee doesn’t have any support for this. You are reassured about your budget, but as a matter of fact you must repeatedly renegotiate agreements. There is a very real danger of delays and low quality product.

With billing per hour the situation is completely different. Progress is measured on a daily basis so there is a possibility to react quickly when something is going wrong. It’s also easier to make sure you’re making the most of your budget by prioritising the most important features and frequently testing them with the actual user. With simple and transparent billing, you pay only for the time spent on the project and the work that would have to be done anyway. Not the artificial buffers and premiums for vendor’s risk.

Cooperation issues

Another important matter is the cooperation between the client and a software shop. It is way easier for the team to understand client’s needs with the agile model. Thanks to frequent meetings, clients have bigger influence over a product and are able to constantly improve their assumptions. Regular insights into timesheets, project stats and team performance data allow them to make the best project decisions.

With the fixed price approach little project information is shared, so you don’t really learn much in the process. It’s not that waterfall is bad to the bone but team morale and work atmosphere is lower than with time and material. It may not seem obvious but there is a hidden conflict of interests in fixed bid billing. When the team hasn’t finished the project but has already depleted the whole budget. In overwhelming number of cases contractor’s mood is going down. And client is left frustrated trying to keep the remaining features in the scope. As a result, no one is pleased from the cooperation. Both sides want to finish as soon as possible, without caring for the product quality. That is not a good prerequisite for the long term relationship.

As we’ve mentioned already, fixed fee is not totally bad and unacceptable. There are some situations, where this approach will work. We are talking about small, predictable projects. Where everything can be planned in 100% before the start, like a corporate website or building a house.

What to do?

To sum up, you’re probably doomed to fail your Internet business if you insist on a fixed price option. Surprisingly, you’re going to spend more than planned. Even with the “safety buffer” used in the estimate to compensate for risk and uncertainty. Cooperation with the chosen team of developers might be a nightmare after some time. Most likely you won’t be satisfied with the quality of a finished product. Do you truly care about your business and you think about the long term success? Hourly rate is the way to go.


* The 2015 CHAOS Report by Standish Group