John Feathers' Post

Why We Back Pair Programming

Pair programming is likely to be the most misunderstood of all Agile development techniques. While the practice is known to have been used for decades, it was only made popular in the early 2000’s by the Extreme Programming methodology and has subsequently been met with a great deal of skepticism. In this unconventional style, two software engineers work side by side at the same computer. While one developer, commonly known as “the driver,” writes code, the other, “the navigator,” critiques the work and strategically plans the next steps to be taken in the programming process.

From the casual perspective of an untrained eye, pair programming can easily be misinterpreted as a big waste of time. After all, logic would seem to suggest that two developers engaging in separate tasks would be able to accomplish twice the amount of work. When other less obvious factors are taken into account, however, this argument holds very little water. Through our many years of experience in the industry, Software Planet Group have learned that when used skillfully and for the right assignments, pair programming not only saves time, but also emerges as an invaluable practice to ingeniously generate high-quality code.

Read More


The Blockchain: How Decentralised Software Changes Everything

Until very recently, all internet data was stored on web servers. There were many reasons for this, but one in particular was hugely important: by keeping information in scattered points across the globe, servers prevented the unauthorised altering of data. This is why you are able to trust that your facebook account will not be accessed by anyone other than you. Or, stated another way, facebook has become a trusted intermediary between you and the content you access online. With the advent of cryptocurrency Bitcoin, however, the stage was set for a profound technological change.

Bitcoin’s notorious reputation in the media is largely due to the threat it poses to the current financial order. By allowing peers to transfer money without the intervention of banks or government agencies, Bitcoin introduced a vast paradigm shift. Where news outlets have truly failed the public, however, has been in their reluctance to report on the groundbreaking technology behind the digital currency  the blockchain. As a matter of fact, Bitcoin is to the blockchain what facebook is to the internet, and the world is only just beginning to tap into the potential applications for this new technology. Software Planet Group would like our customers to know about the opportunities that lie ahead for companies choosing to embrace decentralised software.

Read More


How You Guarantee the Success of Our Projects

A common difficulty customers face when working with our development team is understanding their pivotal role in product development. All too often, they mistakenly expect software companies to function much like bakeries do. While they may not know all the ingredients that go in the cake they have chosen to order, they do expect it will be baked quickly and to sate their every chocolate craving. Unsurprisingly to developers, however, this not only generally results in underbaked software, but consumers also find that what they really wanted was a lemon drizzle all along.

Despite the lack of popularity of Extreme Programming (XP) today, Software Planet Group still strongly believe in the importance of its practices, including that of the On-Site Customer. Kent Beck, the creator of XP, found it necessary for customers and developers to work together in the very same room. Without adequate customer involvement, developers are thrown off course and valuable resources are wasted. When the opposite is achieved, however, clients are able to evaluate new delivered features every week, ensuring that the development team is kept abreast of their vision and evolving ideas. Even though physical proximity is not always an option when working with remote teams, technology does allow us to do all we can to overcome distances and make communication as fluid as possible.

In order to ensure a smooth-sailing Agile process, customers can help in a few significant ways:

  1. Share knowledge of your business
  2. Provide details for each feature (user story)
  3. Give feedback throughout development

Read More


What Enterprise Search Can Do for Your Company

As a company grows, it becomes nearly impossible to avoid the problems caused by accumulating vast amounts of data. Through the years, these are often filed away in independent, incompatible software systems that are never merged together, making the retrieval of important information at best cumbersome and at worst unsustainable. More worryingly, perhaps, many companies today are completely unaware of the existence of valuable records within their own organisations, as standard search tools rely much too heavily on keywords to return meaningful results.

Failing to take action, however, can cost companies dearly. In addition to creating chaos and underperformance, poorly managed data could also lead to making harmful business decisions.

To confront this information overload, Enterprise Search (ES) has evolved as an easy and secure way to access and search through content from multiple sources such as company databases, document storage units and other ordinarily incompatible systems. Through its simple API, Enterprise Search is able to join all data sources into a single, searchable interface, putting companies back on track. When savvily implemented, it enables users to filter information by specific criteria such as dates, names, values and more, lowering costs, improving productivity and increasing revenues as a result.

Read More


How We Estimate

Just as with any other service, software companies are rightly expected to estimate the time and costs associated with completing a project. Without estimations, it quickly becomes very difficult for customers to compare providers, as they all tend to look the same on the surface. A good estimate can also validate or discredit a customer’s expectations, empowering them to give developers the go-ahead on their projects with much more confidence.

For many companies, however, the estimation process is fraught with complications. Striking the balance of cautious optimism can be an arduous chore for software engineers, as evidenced by those who enthusiastically reflect their quick-thinking skills in short-sighted estimates, and those who bleakly tally up every possible risk the project could introduce in the long run.

This, however, is not unlike two individuals trying to determine how long it will take to travel from Brighton to London by train. While the first one may decide to only take factors such as speed and distance into consideration, thus arriving at an estimate of one hour and 45 minutes, the second person may be a lot more concerned with cancellations, delays and strikes and conclude that his journey will probably take four and a half hours — A huge difference.

Read More


Seeking the Best Development Process? The Key Is Evolution

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.

Read More


Coloured Envelopes

Some stories are particularly capable of inspiring us and enlightening our employees and customers alike. The story you are about to read is the tale of a man burdened by an inefficient system who decided it was time to seek the advice of a software company. It was recently shared with our software engineers as a prime example of professionalism in our field:

There once was a customer whose organisation had serious paperwork problems. In order to overcome the challenges this posed to his business, he promptly turned to a software company, believing a workflow automation program would finally put his troubles to rest. The software engineers listened to the customer explain that sensitive documents were often lost or did not even reach their intended destinations, and this had been a source of many headaches through the years. And so they agreed to help solve the customer’s problem.

Read More


Software Planet Group: Who We Are

Finding an ideal provider of desktop and web services can be an extremely daunting task, but we think you should know why big brands such as Nokia, Xerox and a host of Silicon Valley startups have decided to make us their official suppliers. Though we may be new to the United Kingdom, having set up shop in Surrey just under two years ago, Software Planet Group (SPG) have been invested in meeting our customers’ needs in Europe and across the globe for more than 15 years. We provide web services and cross-platform desktop solutions, from consultation and conceptual analysis to design and implementation.

Ever since the beginning of SPG, we have distinguished ourselves by working in partnership with our customers and constantly updating our technical skills. We are proud to have been one of the first businesses to join the Agile development movement back in 2004, and were also one of the first 10 European software companies to fully adopt Extreme Programming. In practice, this means we employ various techniques to break down big projects into simple, bite-sized tasks that greatly accelerate product development. At the same time, throughout the process, we are committed to the highest degree of testing and quality control available today.

On a technical level, SPG specialise in business consultation and assessment, strategic planning, system architecture and design, user interface design/UX, system administration, DevOps and quality control; but above all, we specialise in keeping you informed. Should you

Read More