Case Studies :: Full Stack Development
Full Stack Development
When developing solutions for Clients it is often essential that we are capable of developing the project from start through to completion, initial designs and User Story development through to the Automation of the Release process. This includes the development of all server side code, whether through the implementation of a Micro-service architecture, SOA, N-Tier etc; the User Interface in WPF, HTML 5, REACT, Angular etc.
A client had a legacy application that was a key element in their company's security control systems which was previously built in silverlight. Due to Microsoft no longer actively promoting the Silverlight platform and Browser integration become less prevalent they felt it was important to rebuild the system with a modern Web platform whilst also simplifying the back end server architecture.
It was important that the rebuild would include all of the previous functionality, unless cusomters agreed that the functionality was no longer needed. Another important factor was that regression issues were reduced to an absolute minimum as they had invested many years eradicating issues from the legacy system.
The first step in the process was to work with the existing client base to develop a comprehensive set of User Stories that covered the actions that were used within the existing system. This process allowed us to develop a full suite of Behavioural Tests to work against when implementing the new system. Only when we had all Behavioural tests passing would we be in a position to consider moving to the manual testing phase of development.
When we had all of the required functionality covered by User Stories we could progress to developing the system. At this point we look to put the team of specialists to work on their key skill areas. Although some companies find that having developers who are capable in all areas of the development process is beneficial we believe that software Development is no longer the domain of "Master Builders", much like the construction industry, we believe that modern development requires specialists to work in their key areas and be supported to communicate between themselves. To us an Agile team is one where the specialists work together in a team, interact closely and constantly communicate progress and issues amongst themselves. At Creu we believe this is how Agile development should be, flexible working to maximise the skills of our key workers.
The application was then built in vertical silos, developing a feature, delivering it to the client, gathering feedback, making changes. The team delivered the first screens to the client, enough for them to get a feel for how the interface would look. The back end systems were delivered enough to have the front end development functioning correctly, but we left plenty of scope for refactoring. Refactoring too early can often cause more problems down the line. Refactoring should take place at the point where it is clearer how the code is to be used. As developers Refactoring is an important part of the process but Refactoring at the right time is key to that. This is similar to optimization, worrying about performance too early in the process can hamper flexibility down the line, developers can become too preciious and even worse spend far too long on optimising an area that isn't the source of the longest delays.
Our team followed this process throughout the project and was able to deliver a very stable product, with all features tested and delivered on time for the client.
Call or contact now for a free, no obligation Consultation
We have a team of skilled and experience Architects, developers, Designers and UI developers as well as Testers and Dev Ops engineers that are ready to assist you with the consulting and development of your ML projects. Whether it is a matter of using us to develop your MVPs or for the whole of your Data Science requirements then we can help.