Jorn Bettin

Jorn Bettin

Read latest work...

Connect with Jorn

Have a specific question for Jorn Bettin?

Email

Conclusion: Much has been written about the benefits of iterative, incremental software development. There is virtually no software development or integration project that could not benefit from an iterative approach. Yet many large, high-risk software projects are still managed according to the “good old” waterfall approach. And in those cases where projects are run in accordance to some iterative methodology, often the benefits of the approach are not fully realised. The risks of getting it wrong in transitioning to an iterative mode can be minimised by adhering to a few basic guidelines and by seeking assistance from an expert practitioner during the first project.


Read more


Conclusion: Estimating the cost of software development projects is notoriously difficult. The simple “thumb suck” technique still enjoys significant popularity, and although attempts to introduce a more rigorous estimation process usually lend a scientific touch to the process, any numbers that are not based on historic metrics tend to collapse like a house of cards. Obtaining useful metrics is the hard part. The only way it can be achieved in a realistically short time frame, is by adopting an iterative, incremental approach based on timeboxed iterations of constant duration.


Read more


Conclusion: The quality of software architecture in a system is not something that is easily measurable; without the help of specialised tools and without the existence of a meaningful baseline or benchmark. The short life expectancy of most software systems is often explained as being due to rapid technological change. For the most part this explanation is simply a convenient excuse for tagging existing systems as “legacy” and for obtaining permission to build new systems without having to understand the fundamental forces that lead to legacy software.


Read more


Conclusion: Compared to the consumer market, the enterprise market is more conservative when letting an external service provider store and manage its critical business information remotely, via the web. But in the face of spiralling internal IT operational costs, many companies are likely to significantly expand their use of Software as a Service (SaaS), previously known as Application Service Providers (ASPs) over the next five years.


Read more


Conclusion: The potentially negative impact of vendor lock-in is unavoidable, but it can be minimised by making intelligent choices with respect to the use of technology products when building application software. In the interest of keeping the cost of lock-in at bay, IT organisations should rate the maturity of the various technologies that are being employed, consider the results in the design of their enterprise architecture, and pay appropriate attention to the degree of modularisation within the architecture.


Read more


Conclusion: The increase in IT related standards since the invention of the Web in 1989 can be seen as an indication of maturity of the IT industry. Today, all kinds of devices that contain software provide interfaces that allow them to communicate with other devices. Similarly, in the realm of enterprise software, today’s applications are typically interconnected across organisational boundaries and across a range of implementation technologies. But adoption and implementation of standards comes at a price. Which standards an organisation should embrace depends heavily on the nature of the business.


Read more


Conclusion: It is time for a major stock-take of model driven software development approaches within software intensive industries. Progress in the last few years in terms of developing interoperability standards for model driven tooling has not been spectacular. The term "Model Driven Architecture" has gone through the usual hype cycle, and the dust is in the process of settling. Model Driven Software Development is about breaking the 1-fits-all approach to implementation languages when needed, and entails the use of small, domain specific languages.Only in some cases can domain specific languages be bought off-the-shelf. Model driven approaches have come a long way, and enable the incremental creation of strategic software assets that can be used across a large number of applications.


Read more


Conclusion: Over the last five years agile software development approaches have become more popular, and are increasingly replacing heavy-handed methodologies. At the same time there is a growing interest in benchmarking the productivity of software projects, and in achieving process maturity that can be measured against certification standards such as CMMI. At first sight it would seem that these two trends represent two mutually exclusive philosophies. When taking a closer look it becomes clear that both trends can indeed complement each other.


Read more


Conclusion: Open Source Software Development Tools are becoming mainstream. In the Java space, the number of available tools is mindboggling, and keeping up with the latest developments is becoming more and more a matter of being well-connected to the Open Source community and receiving tips and suggestions from trusted colleagues about the best and latest tools. It is no longer true that it is sufficient to keep monitoring the developments of the five largest tool vendors. Amongst the best tools some are being produced by small teams and individuals. The use of Open Source tools is also becoming established practice within traditionally conservative organisations in industries such as banking1.


Read more


Conclusion: Within the software engineering community only few people fully understand the difference between the traditional use of models in software engineering, and newer so called "model-driven" approaches. In particular the discipline of Enterprise Architecture makes extensive use of modeling techniques, and mainstream practice has not yet caught up with the model-driven approaches that are possible with today's leading edge software tools.

The problem is largely educational, and is compounded by a reluctance to step out of the comfort zone and rise to the challenge of producing precise and unambiguous models that can be used to power a highly automated software production facility. In model-driven approaches models and model transformations take on the same role as traditional source code - requiring a mindshift comparable to the one that was required in the transition from assembler programming to modern 3rd generation programming languages.


Read more


Conclusion: The rising popularity of online business networking platforms, sometimes also referred to as social software, is the first sign that the traditional CRM paradigm that equates to "one CRM system instance for each organisation" has reached the limits of its usefulness. The players that shape a new, complementary CRM paradigm exploit pervasive use of broadband and wireless internet connections. Many of them are dynamic and small organisations, some still operating in start-up mode. Over the next two years the CRM landscape will undergo significant change, and it may be worthwhile to wait for the dust to settle before investing in expensive CRM solutions that may soon be obsolete.


Read more


Conclusion: Practical experience shows that software development initiatives usually entail high risks for the customer and the software developer. In anticipation of the risks both parties attempt to mitigate the impact, the customer often insists on a fixed price, and the software developer consequently builds contingency into the fixed price. This simplistic mitigation strategy rarely works. Successful application development requires intensive interaction with end user representatives and stakeholders, and the ability to take into account new insights into user needs, which are gained while the application is being built.


Read more


Conclusion: SOA is an increasingly common TLA (three letter acronym), and is often thought of as a new technology - and equated with Web Services. This does injustice to Service Oriented Architecture, a new software design concept that emerged from the need to easily integrate web based applications independent of their implementation technology. Hence the adoption of SOA is not about migrating to yet another technology stack, but rather about adopting new software design principles that make life easier in today's world of distributed and heterogeneous systems.


Read more


Conclusion: It is easy for software development teams to be preoccupied with, and to get lost in low level design. The simplest preventative measure to curb spurious complexity, without being prescriptive at the micro-level, is to consistently make use of a nested subsystem structure within the system architecture. The result is an architecture with fewer point-to-point interfaces. This strategy improves maintainability of code, and it works regardless of the quality of design at the micro-level.


Read more