I have a new paper on the Amalgam Insights site. Called, “Market Milestone: IBM Hands Over Development of Notes, Domino, and Verse to HCL”, it examines the new IBM-HCL deal for developing parts of the IBM collaboration platform, especially Domino, SameTime, Notes, and Verse. In the paper, I provide some context and analysis. It’s free so go have a look.
This blog was originally published on the Amalgam Insights website. As the fall season of tech conferences starts to wind down, something is quite clear – machine learning (ML) is going to be everywhere. Box is putting ML in content management, Microsoft in office and CRM, and Oracle is infusing it into, well, everything. While not a great leap forward on the order of the Internet, smartphones, or PCs, the inclusion of ML technology into so many applications will make a lot of mundane tasks easier. This trend promises to be a boon for developers. The strength of machining learning is finding and exploiting patterns and anomalies. What could be
As expected, Oracle OpenWorld 2017 (Oct. 1 – 4 2017) featured a large number of announcements. The debut of Oracle 18c, the latest version of Oracle’s eponymous database, grabbed the most attention. Given it’s billing as an autonomous database and Oracle’s flagship product, this is not suprising.. While the idea of a database infused with machine learning that automates all types of database management functions is intriguing, it overshadowed the real impact of Oracle releases. Oracle 18c was only one of several AI-infused “autonomous” products. Instead, the sum of Oracle’s presentations amounted to adding machine learning into all levels in the Big Red Cloud Stack. AI is now integrated into
This was originally published on the Amalgam Insights website. Last week (the week of September 25th, 2017) Microsoft made a huge announcement at its annual Ignite and Envision conference. Microsoft has become one of a small number of companies that is demonstrating quantum computing. IBM is another company that is also pursuing this rather futuristic computing model. For those who are not up to date on quantum computing, it uses quantum properties such as superposition and entanglement to develop a new way of computing. Current computers are built around tiny electron switches called transistors that allow for two states, which represent the binary system we have today. Quantum computers leverage
This blog was originally published on the Amalgam Insights website.
As the fall season of tech conferences starts to wind down, something is quite clear – machine learning (ML) is going to be everywhere. Box is putting ML in content management, Microsoft in office and CRM, and Oracle is infusing it into, well, everything. While not a great leap forward on the order of the Internet, smartphones, or PCs, the inclusion of ML technology into so many applications will make a lot of mundane tasks easier. This trend promises to be a boon for developers. The strength of machining learning is finding and exploiting patterns and anomalies. What could be more useful to developers? Here is some examples:
- Coding – The most obvious application of machine learning is in the coding of applications itself. Coding is based around patterns that are known to work (design patterns, best practices, etc.) and automating them is always going to be helpful. Automating the creation of new code, however, will have only incremental value at best. Modern IDE a have code completion library and API lookup, and automated code generation already. In other words, there is already plenty of features that help a developer to automate the more tedious and inefficient parts of the job. With the proliferation of APIs, SDKs, and code libraries in use, having more intelligent search is a useful application of ML. With machine learning, the IDE may be able to anticipate which APIs and libraries that a developer needs from the context of the code and suggest them.
- Debugging – Where ML will probably help the most will be in debugging. Debugging code is the hardest part of software development. Often, debugging feels like trying to find the needle in the haystack. It’s even harder to debug someone else’s code and this is where ML will come in handy. Most developers have certain patterns to the mistakes they make. It’s human nature, like always drifting to the right when walking in the woods. ML would help to find individual programmer’s patterns and styles and be able to look for instances where a mistake is being generated. In addition, there are distinct patterns in good code and the ability to discover anomalies in those patterns would help to identify bugs quickly.
- Testing – Another area where machine learning can help developers with managing test data. Intelligent creation of test environments, environments that mirror real world patterns, can be derived by analyzing production applications and developing test data sets. Test data created this way could match the range of situations an application typically might encounter without using actual extracted data. Using machine learning to create test data would give developers the kind of test data they need without having to deidentify real data or risk violating customer privacy.
- Project management – large transformation projects pose considerable problems for project management. With teams spread out over distances, working on many parts of the project simultaneously, it can be difficult to coordinate resources and personnel to maintain development efficiency. Just getting a picture of the state of a large-scale project requires a number of people reporting on progress in addition to metrics gathered automatically by tracking systems. This can be highly inefficient. Much is left to the interpretation of generated data and subjective assessments of progress. Simple metrics, such as the burn-down rate, are interpreted in the context of individual manager’s goals and subject to bias. Development managers and project managers all have psychological factors that affect the assessment of a project and can delay acting on warning signs. Machine learning, on the other hand, can be used to analyze patterns in the development data over several parts of a project or over many projects to discern anomalies and warning signs. With this knowledge project managers will be able to manage dependencies, see the unhealthy signs of failure without bias, and gain assistance when rebalancing resources and addressing problems.
IT managers are still more interested in leveraging machine learning to enhance the product of their labors not the process. In time, developers and project managers will see the value in employing machine learning to help manage large projects, especially when spread over the globe. The gains in efficiency and early warning system alone are worth the effort.