As a company with a proud history of developing software solutions, Software Planet Group have always sought to be flexible, ever-changing and perpetually on the cutting edge of technology. Through our 16 years of experience, we have learned that after the right people, having the right process is the most important step to ensuring the delivery of a powerful project. This not only saves a lot of time and effort for project participants, but also puts aside well-known pitfalls of development.
For customers, it is important to be aware of the different engineering models because all too often, developers do not guide customers through their processes, and sometimes even fail to mention that they do not use one at all.. The anti-pattern “Code and fix” is the status quo among inexperienced programmers. In essence, this means that coding begins with very little planning and goes on without any intervention, leaving important bug fixes to frequently take place late in the development cycle. This, of course, is a recipe for disaster, as customers are left with ineffective software that can lead to many more headaches than solutions.
Since our early years, however, we have been shaped by our determination to find the best process for customers and developers alike. And so, we began working in 2000 with the Waterfall method, a classic model in software engineering. Although many companies still use Waterfall today, we were unimpressed by the lack of a feedback cycle and its lengthy process, which can take months to plan and several more months to develop. In the end, we also found that if market demand or technology had changed since a project’s conception, using Waterfall even risked bringing a wrong product to the market. With these drawbacks in mind, we decided to search for alternatives.
The next model we adopted was created by Rational, a division of IBM. Dubbed Rational Unified Process (RUP), it divides development into four phases, each involving business modeling, analysis, design implementation, testing and deployment. This process sparked our interest because it touted solving problems related to clients’ requirements and reduced development costs. Unfortunately, however, we found this method to be a little too complex and disorganized to deliver on its promises, as RUP generated exorbitant amounts of very short-lived documents.
Finally, however, in 2004, we found what we had been looking for in Extreme Programming (XP), a process which includes 12 practices based on the Agile manifesto. In contrast with other conventionally impersonal and bureaucratic approaches, Agile encourages developers to prioritise individuals and interactions, deliver working software, collaborate with customers and swiftly respond to change. Extreme Programming effectively solved our problems with estimation and product quality, and marked a turning point in our company’s history, as we became one of the first software development companies in Europe to include all 12 XP practices in our service.
Then, in 2009, we made the switch to Scrum, our current process that is also based on Agile and is often described as “high-level XP.” In addition to giving developers the freedom to self-organise, Scrum provides customers with unrivalled access to the project. The method is as straightforward as it is effective: after the assembling and prioritising of a minimum set of features in a product backlog, we build, test and review each feature in a process that lasts just one to three weeks, called a Sprint. Every Sprint leads to a potentially shippable product, and the process is then repeated time and time again until the client decides that they wish to release the product.
By allowing customers to prioritise features for iterative releases, guaranteeing code inspection throughout development and taking customer feedback into account every step of the way, Scrum allows us to establish a groundbreaking partnership with our clients.
But this is only the beginning. As time goes by and technology strides forward, our engineers remain committed to adapt and evolve to continue delivering the software solutions you need, when you need them.