Building and Managing Competitive Software Teams – Part 2 of 5

Part 2 of our multipart post showing how David Ward and his team at Telegraph Hill are changing the way IT gets software “Done”.

Common Problems
  • Companies are challenged to meet the ever increasing software demand from customers and employees.

Everything runs on software or soon will. There seems to be no limit to the number of apps that customers and employees want. Companies face a range of questions for example, does the application need to be mobile or delivered on a website or downloaded like traditional PC software once was? In addition, product life cycles continue to decrease which puts huge demands on software talent to deliver the right app on an almost impossible schedule.

Meeting this insatiable demand is the fundamental challenge that both software natives and newcomers to the field are facing. And the demands are coming from all sides: from paying customers, from employees, from suppliers, from the media, etc. As the Internet matures and grows into the “Internet of Everything” the pace has become dizzying and even the most experienced players are challenged to keep up.

  • Making the key tradeoffs remains a challenge: these include technology build/buy/reuse choices for infrastructure, web, mobile, big data, etc.

We can now assemble solutions from tens of thousands of software components, many of them license-free.  Each of those solutions has pluses, minuses and costs.  We also have a choice between physical or virtual infrastructure. Wise build/buy or reuse choices can make or break a software development project. The days of easy outsourcing around an application is over, as virtual platforms such as Salesforce and Workday take prominence.   To achieve faster schedules, many firms are, once again, seeing the benefit of cultivating in-house talent. At the same time, technology continues to develop, calling for talent in specialized areas that did not exist yesterday.

Companies are challenged just to be aware of the range of choices, much less making intelligent, informed decisions.

  • Building SaaS business units while maintaining engineering excellence is a challenge.

We believe that every company needs to learn how to be a software company. Your interaction with customers, with your employees, with suppliers and all of your stakeholders is through software. The term “software as a service” usually refers to companies like Salesforce and LendingClub that deliver their services exclusively via software. However, inside almost every company today there are services delivered by IT to business units or from one business unit to another. Even internally, within corporations, we now see business units that are transforming themselves into software-as-a-service entities.

For example, GE has forged new software entities to provide services for storing big event data on behalf of their different business units, whether it’s aircraft tension, diesel locomotives, or some other business. Corporations such as GE are now building business units which are in fact software-as-a-service entities. These entities, within companies that are not native to software, must be built, managed and maintained, while adding value to the core business. Companies are challenged to maintain their core capabilities in other areas, while also perfecting their ability to develop new software.

  • Companies continue to struggle to find the right talent at the right price.

Companies across the globe are waging a war for software talent. In the Bay Area alone there are huge software incumbents, a large quantity of venture capital and other forms of investment pursuing software ideas.  These companies are all competing for software talent at the same time that traditional corporations are needing to hire from the same pool.

It has always been true that there is an order of magnitude difference between the productivity of top software engineers and the rest. In some cases the best talent is overseas, but finding and reaching that talent is difficult. The political situation in some parts of the world inhibits companies from accessing talent. In general, finding and retaining software talent is among the most common problem companies face today.

  • In a virtual world, evolving software processes is a hurdle many companies face.

The software business is constantly developing new ideas about the best way to write and deploy software. Every time there is a fundamental change, either in tools, components, or in the demand for software, the methods used to create quality software also need to evolve. The dominant trend today is Agile. However Agile refers to about a dozen best practices that very few companies follow completely; not all of the Agile suite of practices is applicable to every company.

The reality is that every company creates a software development process that works within its context. Since there is no one-size-fits-all process, companies are challenged to create processes that are unique to their business, their culture, their workforce, and the software universe at large.

Please  comment here and join us for Part 3 – Key Trends in the series “Building Software Teams”. If you are facing these types of issues in your organization please Contact us.