Thursday, 26 June 2014

3 Tips for Speeding up Systems Delivery

3 Tips for Speeding up Systems Delivery



The development of complex software involves significant challenges. To prosper companies must balance engineering and technical excellence with increasingly challenging business objectives. What does that mean in real terms?

1.       Managing costs
2.       Managing development time
3.       Meeting requirements
4.       Controlling quality
5.       Managing change
6.       Complying with any applicable regulations

Traditional systems development must adapt to effectively meet these goals because it focuses too strongly on its various functions in isolation, as opposed to a holistic view of the system. The experience of riding a bicycle cannot be understood by looking at the how the gear system works or the function of the brakes as separate parts.


Requirements Management

Gathering of requirements should take place from the 'horse's mouth' whenever possible, that often involves busy high-profile users, but if you want them to be happy first-time around, then get a little of their time and use it well. Analysts need to understand what the users want and share that in its entirety with the development team. Going to the functional specification level immediately often results in information being lost and the developers don't start with the best chance of making the right decisions along the way (this happens to be one of the biggest challenges when outsourcing offshore). Once the requirements have been gathered these need to be effectively shared, so everyone between the end-user and the quality assurance team have access to them. Simple concept with powerful results! Engineers can refer to them for the little decisions that need to be made throughout the life-cycle and QA can go 'beyond' testing from a specification perspective.


Delivery Management

Agile methodology has gone a long way to improve the likelihood of synchronising deliverables with expectation, however we have found that the using a hybrid of Agile and Waterfall concepts produce the best results. Every environment is difference, so find the right recipe for that 'perfect bake' as Mary Berry would say! With cloud-based systems rollout has become simpler, but only if it's considered from the very beginning. Architectural decisions should be influenced by constraints and nuances of the infrastructure, as opposed to being seen as a last stop.


Communications Management

Regular and open communication builds trust, performance and is essential in empowering team members to meet and exceed expectations. Accountability is essential! In larger organisations this is more challenging, but the more team members don't shy away from sometimes difficult conversations, and the more the key information is available to all project team members, the better the performance will get. Technical jargon is often used to conceal misunderstanding or worse, poor performance, so it is well worth the time to decrypt these so that they can be truly shared.

George Toursoulopoulos is a financial technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke financial services software solutions. 

Thursday, 27 February 2014

Synetec looking to hire a talented .Net Developer

Synetec is a growing software development firm aimed primarily at the financial sector. We cover most areas of .net software development. In addition we also provide support for new and legacy systems to a number of clients.
 
Synetec is now expanding and we are looking for a new developer to join and as a valued member of the team, they will encourage, train and support you in keeping you up to date with the latest technologies.

Salary would depend on experience and be in line with market rates. 

Mandatory
VB.Net or C Sharp .Net - 5 years commercial experience
MS SQL Server
Unit Testing

Optional
WPF
Microsoft Development Certifications
.Net Web-based development

Applicants must register their interest and email through their CV's to careers@synetec.co.uk

NO AGENTS PLEASE!

Additional Information
This is for a permanent position working for a software development firm in Central London, based near Waterloo. All candidates must have a minimum of 5 years industry related UK work experience and the necessary passport or visas to work indefinitely within the UK.

Thursday, 24 October 2013

Synetec supporting Help For Heroes

Synetec were proud to continue their support of the Help for Heroes Charity Golf Day again this year. The event was held at the immaculate West Hill Golf Club.

Most importantly the day raised approximately £ 18,000 that goes to the Help for Heroes Charity and their intiatives. 

Click here to see more about the great work being undertaken by Help For Heroes



Golfers who took part

Synetec also sponsored one of the holes

Tuesday, 24 September 2013

PRISM and the financial services industry – how secure is your data?



You may, or may not have read earlier this week that Palantir Technologies was forced into a robust denial that it’s Palantir Prism software (used for data analysis by banks and hedge funds) was not in any way related to the US governments web surveillance PRISM system.

Now to set the record straight from the start, I’m not a conspiracy theorist and there is absolutely no suggestion that these two software services are in anyway linked, other than sharing the same name.

But the Palantir example, particularly as it was backed in its early stages by the CIA's In-Q-Tel venture capital arm, poses a critical question about the safety of your institutions data –are your systems really secure and can you do more to protect your most valuable asset, your data?

Today’s software systems and technologies have helped the financial services sector become more efficient, allowing operations to become faster and more flexible. The downside is that this flexibility has created an environment were cybercriminals are becoming a very real threat to your business. Until last week, we all knew the government was keeping an eye on us to some degree, but whilst unsubstantiated, it’s safe to say that we now know that the level of intrusion into our personal and professional lives (albeit for legitimate reasons) is on a scale otherwise unimagined.

In the same way, cyber threats are becoming increasingly advanced, and through sheer complexity and volume have the potential to cause serious risk for financial institutions. Only the best of software developers can now claim to offer their clients the peace of mind that they are ahead of the curve, when it comes to understanding and mitigating these risks.

So, where should you start in managing software security risks? Well for starters, understanding your financial institution’s susceptibility to compromise is fundamental to successfully managing your cyber-risk. As a CFO or IT Manager you are no doubt inundated with information about new and highly complex challenges facing your systems. The most successful companies work with their software development partner to jointly manage these risks, because even in the highly regulated financial services environment, being compliant doesn’t guarantee that your data is secure.

The modern financial service business must not only be compliant but must also manage risk, security and governance in line with key legislation such as Sarbanes-Oxley and Gramm-Leach-Bliley. This increasingly important focus on compliance and the global context of financial services, including outsourced/ offshored business functions and increasing government oversight, means your software development takes on a fresh perspective.

Leading software developers like Synetec work to FSA standards and beyond, which many offshore or smaller development houses don’t always understand or stress the importance of. Our systems include complete enterprise-grade data security that reliably and transparently protects your systems data. When appointing developers it is essential to review their security credentials and processes for critical services like system migration to ensure you are not being put at risk.

Whilst scare-mongering serves no purpose, it is important that CFO’s recognise that the threat to their systems is real and pose a risk not only to the financial but also the reputation of their business. Bodies including the World Bank continue to warn that threats to financial sectors remain the most omnipresent form of criminal activity across the global electronic infrastructure.


George Toursoulopoulos is a financial technology specialist and Director at Synetec, one of the UK’s leading providers of bespoke financial services software solutions. George started his career with US-software giant EDS, becoming the youngest manager in the company’s history and has since gone on to lead Synetec where he has continued to deliver world-class solutions for a number of the UK’s most prestigious Hedge Funds and Family Offices. George is a regular conference speaker on the implementation of technology within the financial services industry with a particular focus on delivering ROI and improving key business drivers. George has lectured on Microsoft development and has served as a director on numerous company boards. 



Wednesday, 19 June 2013

The big issue; bespoke versus off-the-shelf software solutions


Be it Microsoft, Adobe or whoever, the vast majority of the software we buy is 'off the shelf'. Whether consumer or business it’s likely to be the same application that is owned by millions of other users. The result is that it comes with all the advantages and disadvantages of a mass-packaged solution. But when is off-the-shelf a compromise too far?

The reality is that, most of the off-the-shelf software you see, probably started life as a bespoke piece of software; its value was recognised and it was produced for a wider market. You too might be considering having a bespoke application written specifically for your unique business needs, or you simply may not be able to find a product to suit your needs.  What are the advantages of going down the bespoke route? 

I wanted to use this short article to highlight some of the main benefits and negatives of the bespoke, vs. the off-the-shelf debate and to recommend that which ever way you chose to proceed- take a few minutes out to talk to a specialist software developer, like Synetec. A simple call with a reputable developer, could point you in the direction of a more cost effective solution or highlight the benefits of a more bespoke solution.

Let’s start with the positives of both:

Off-the-shelf
Bespoke
Development costs for packaged software is spread across the thousands or millions of users and means some solutions can be cost effective..






 
Normally bespoke software is seen as being costly, but compared to off-the-shelf financial software this is not necessarily the case.

Off-the-shelf solutions can be very expensive because of the huge range of functionality that might not be needed. So, bespoke software can in this instance be a far more cost-effective alternative.
Information on the setup and operation of off-the-shelf is relatively easy to find. A simple Google search is a good place to start.
Your software developer should be on hand for all your customer support and training needs - including those crisis moments that require an immediate response.

Due to the mass availability of many packages, simple tasks like file sharing can be far simpler because everyone has the software.

The software is designed to meet your needs and function to match the way you choose to operate and run your systems. It is much more flexible and can be modified and changed over time as your requirements and business practices change.

Your solution is out the box and ready to go straight away, meaning you don't have to spend the time that is taken up with the development process.

Your own bespoke software can be a key differentiator between you and your competitors, giving you a real business advantage.


And now for the challenges:

Off-the-shelf software is built to meet the needs of the masses not your specific business needs, so there will probably be operations that you require, that you simply cannot do with the software.

If you do not own or co-own the source code and the intellectual property to your software you become entirely dependent upon your developer.


In trying to cater for everyone, generic software often has features you may never use which can be complicating and time consuming to learn – both of which add significant cost.

Direct cost isn’t the only prohibitive expense with bespoke software. So is the cost of your time. A large investment of your time is required during the development process in order to produce the best results.

Generic, by its nature means that everyone has the same system- including your competitors. This means you are never likely to gain any real advantage in the market place.

There are still an unacceptable number of inexperienced and non-dependable developers out there who pose serious risks to your business.

If there’s a crisis then be prepared to be kept waiting on hold, as to the large multinational software companies, you are just another number in a queue.


The lack of flexibility means that you may have to adjust your business processes in order to made them ‘fit in’ with the off-the-shelf software. That’s not ideal, the software should fit you, not the other way around.


































Having a bespoke software solution developed to meet your business needs can provide you with major business and commercial benefits as well as create significant competitive advantage. The other significant advantage is the relationships you will build with your developer and the peace of mind that comes with having a team of professionals on hand to meet your training, development and service needs.

Tuesday, 11 June 2013

Synetec’s quick guide to software development buzzwords



Synetec’s quick guide to software development buzzwords

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.” -C.A.R. Hoare

We’ve all sat in team meetings or conferences being bombarded with technical terms or buzzwords which we’ve never heard before. If we’re honest with ourselves, the IT team are amongst the worst offenders. Coding might be it’s own language but that is no excuse for adding so many terms to the dictionary. So here is Synetec’s short guide to 10 often misunderstood software terms.

1. Agile development
Agile Teams produce software in small stages, keeping code simple, testing it frequently often, and delivering small, functional pieces of the application as soon as they're ready. The focus is to build a succession of parts, rather than delivering one large application at the end of the project.

2. Extreme Programming
Extreme programming is a type of agile development that involves a pragmatic approach to program development. It places emphasis on delivering business results first while taking an incremental approach to building the product.

3. Feature creep
Feature creep is one of the biggest factors in time and cost overruns. It describes changes to scope of the project, usually adding news features beyond the original brief. These additional requirements can result in a significant impact to final cost, quality and schedule of the project.

4. Genetic programming
In artificial intelligence, genetic programming (GP) is an evolutionary algorithm-based methodology inspired by biological evolution to find computer programs that perform a user-defined task.

5. Pasta Theory of Programming
The pasta theory of programming refers to the idea that various programming structures are like pasta dishes. An unstructured procedural programming is called spaghetti code, while a more structured and layered programming is called lasagna code, while object-oriented programming is named the ravioli code.

6. Pair programming
Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, writes code while the other, the observer or navigator, reviews each line of code as it is typed in. The two programmers switch roles frequently.

7. Scrum
Scrum is an iterative and incremental agile software development framework for managing software projects and product or application development. Its focus is on "a flexible, holistic product development strategy where a development team works as a unit to reach a common goal" as opposed to a "traditional, sequential approach".

8. Scrum master
The scrum master is accountable for removing impediments to the ability of the team to deliver the sprint goal/deliverables. The Scrum Master is not the team leader but acts as a buffer between the team and any distracting influences. The Scrum Master ensures that the Scrum process is used as intended. The Scrum Master is the enforcer of rules.

9. Shotgun debugging
Shotgun debugging refers to the debugging of a program, hardware, or system problem by attempting multiple possible solutions at the same time in the hope that one of them will work.

10. Sprint backlog
Part of the scrum methodology, at the beginning of each sprint, the team has sprint planning with an end result being a backlog of work that the team anticipates completing at the end of the sprint.

11. Waterfall model
The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards through the phases of Conception, Initiation, Analysis, Design, Construction, Testing, Production/Implementation, and Maintenance.

12. WIP
WIP refers to Work in Progress and is any work that has been started but has yet to be completed. WIP meetings usually involve all stakeholders to ascertain degrees of progress against set objectives.

Wednesday, 5 June 2013

Does an in-house developer make business sense?



Hiring great people is never easy. I’ve talked a lot about the importance of the relationship between the client and your software developer. But I wanted to turn my attention for a minute to the value of an in-house IT team, and how a trusted developer can support your decision-making process.

The starting point must as always be, “does the decision to employ an in-house IT professional or expand your existing IT team make business sense? What is the ROI?“

The increasing pace of technology and the demand for skilled IT professionals can make hiring the right team a complicated process. If you are a smaller firm, you’ll also be acutely aware that people are your biggest expenditure- so you have to get it right. Like in any profession, simple mistakes can easily undermine your search for IT talent.

Filling a vacancy
Recruiting for a vacancy doesn’t mean simply looking for someone to fill an existing position. Smart firms look at ways to develop the role and how top IT talent can bring added commercial and reputational value to their businesses.

But for those small to medium sized firms, who don’t have a dedicated CTO, there can be a knowledge gap. Too often recruitment is based upon what you think you need, rather than viewing a vacancy as an opportunity for development. I would always recommend speaking to a trusted software developer; use them as a consultant to help you understand your needs and map out a strategy. They are also likely to know people in the industry at all experience levels and be able to provide recommendations or assist in the selection process.

Making the move to in-house
Occasionally firms decide that it makes more sense building an in-house IT team from scratch. I see this most often when a company has had a poor experience with an inexperienced developer or they have reached a point of strategic growth.

Particularly at the start of this process, working with an external software developer can be a great way to support your new internal team, freeing them up to focus on core business needs.

Team players
Whilst the best talent can bring significant benefits to your business, they need to be team players. I would personally take three junior developers on a starting salary, working in a team; than one senior developer at three times their salary, left to their own devices.

If you’re starting with a junior developer, then consider hiring them straight out of university, before bad habits set in. If you’re looking for a more senior position, then build a relationship with your software developer or recruitment consultant so they understand your business needs.

The freelancer versus established staff
Depending on your objectives, directly employing contractors can be both costly and a continuity risk. Employing an established member of staff will require an investment in payroll and infrastructure, but over time they will certainly be cheaper and hopefully more loyal. Consider 6 month probation periods and whether the individual has additional skills, such as social media or marketing, which mean they can pick up other roles within a smaller team.

It is one of the key advantages of working with a specialist software development firm (as opposed to contractors), in that a developer behind the scene may change but you still have a single point of contact delivering results on time and on budget.

Conclusion
Hiring the right person for the right job increases productivity and avoids having to deal with non-performers down the road. Experienced managers have job specifications accounting for specific short-term priorities and long-term organizational objectives.

In a realistic business setting, not everyone is busy all the time. If you hire a developer with secondary skills; you can get your development done in-house while having support on hand in other parts of your business- when you need it.