Thursday, September 29, 2011

Silverlight Future

When I first noticed Silverlight I thought: Finally! M$ has figured out the internet. But then, we had the executive blunder and everything went south for that Technology. Or so it looks like. This article from CIO present an argument as to why everything might not be over with Silverlight

MMM: Modularity Maturity Model

This article: http://www.infoq.com/news/2011/09/mmm-osgi is a summary of a presentation. The article contains a pointer to the presentation.Although still a work in progress, it is already worth a look:


  • Level 1:Ad Hoc. Nothing is modular. Everything is a bunch of JARs, or worse, a bunch of classes. Typically results in a monolithic application.
  • Level 2:Modules. Modules have a formal versioned identity, and dependencies are done against the module identity rather than the units themselves. Maven, Ivy, RPM and OSGi fall into this category.
  • Level 3:Modularity. Modules are declared via module contracts, not via explicit module identifier/versions. The requirements might be abstract (e.g. Declarative Services is available) or might be specific packages (e.g. org.osgi.framework).
  • Level 4:Loose coupling. Implementations are not found via factories or constructors; instead, they are queried dynamically from a registry or injected on demand.
  • Level 5:Devolution. Artefact ownerships are devolved to modularity-aware repositories. They may support collaboration or governance for accessing the assets by relation to the capabilities required.
  • Level 6:Dynamism. Modules participate in a dynamic life cycle which includes the ability to add, update and remove modules at runtime, whilst preserving the state in the system.

CI and code quality

Quick read, yet relevant: DevOp Zone
The purpose of this blog entry was to make explicit that little implied condition in CI -- that the integration must not decrease the quality of the code base. We've demonstrated how this condition can be used to derive the typical implementation of CI (the build and test loop) and Continuous Delivery.

Test Data Generation Framework

This might be worth a spike to evaluate: http://www.canoo.com/blog/2011/09/26/testdata-generation/

So how does it work? Simple, its entry point is a method interceptor that you can wrap around anything you want, it doesn’t even have to be an implementation. So that DAO you want to use, but the database is still empty, just let the framework step into place and all the methods return the data that you want.

Application Security Testing Techniques

This article is full of links to various articles ordered by topics. Very cool.

This learning guide breaks testing down into several categories, although there is inevitably some overlap. Use these papers, expert opinions, articles, news and tips to refine your application security testing strategy.

http://searchsoftwarequality.techtarget.com/tutorial/Learning-Guide-Application-security-testing-techniques

Tests in an Agile Context: Charters

Very interesting article about the Exploratory Texting ("ET") and its usage of the "Charter" concept:

See: http://searchsoftwarequality.techtarget.com/tip/Chartering-exploratory-test-efforts-in-Agile

ET is a skilled and disciplined approach to testing. And one of the skills exploratory testers master is the ability to manage the scope of testing so that the software is tested in a thorough and appropriate manner. Testers manage the scope of exploratory testing using a concept called a "charter."

Charters are statements of what aspects of the system are to be tested. Charters, unlike what are called "scripts" in scripted testing, do not specify how the system is to be tested, only that some aspect of the system is to be tested.

ALM Imperative

This is a great article on ALM: https://jazz.net/blog/index.php/2011/09/27/five-imperatives-for-application-lifecycle-management/

Application Lifecycle Management (ALM) is the discipline of overcoming organizational silos to realize a whole-team, whole-view approach to the software delivery cycle by coordinating lifecycle activities across requirements, design, project planning, change and configuration management, build, and quality management.

The five imperatives for an ALM according to this article are:
  • Maximize product value with In-context Collaboration to create a collective intelligence
  • Accelerate time to delivery with Real-time Planning by riding the waves of ever changing project demands
  • Improve quality with Lifecycle Traceability by surfing the web of linked lifecycle artifacts
  • Refine predictability with Development Intelligence that helps you steer teams to successful, ontime delivery
  • Reduce costs with Continuous Improvement
The key to Application Lifecycle Management is collaboration and transparency among all of the stakeholders, which is supported by an open, extensible, integrated platform.

Identity lifecycle

Event without considering the philosophical issues associated with this topic, Identity management is surprizingly complex!
Taken from http://www.digitalidnews.com/2011/09/27/id-lifecycle-101-credential-management

Issuing a credential is only the start of the identity lifecycle. As an individual moves around an organization, controlling and adjusting the systems he can and cannot access is equally important to the initial identity vetting. Throughout the ID lifecycle, this identity and credential management function is essential.

Tasktop Sync

Taken from: http://www.infoq.com/news/2011/09/tasktop-sync

Sync allows IT organizations to synchronize existing ALM servers to connect different artifact types like tasks, work items, defects, requirements and tests that are created during the various phases of a software development lifecycle process. Organizations that have different ALM stacks like HP ALM, HP Quality Center, and IBM Rational Team Concert can achieve traceability across the tools using the Sync tool.
 Taken from: http://www.impacsystems.com/blogengine/post/PLM-is-still-not-Mainstream.aspx
The Aberdeen Group says that adoption of PLM is far from universal.  Maybe only 1 in 5 companies have fully implemented a PLM solution.[...]

Without a data management solution, engineers will spend about 25% of their time looking for information.  A PLM solution will give them back that time – time that can be used to engineer a better product, improve quality, etc. 

PLM Basics

Taken from: http://www.impacsystems.com/blogengine/post/PLM-Basics.aspx

When talking to companies about PLM, I end up doing a lot of educating.  I am constantly looking for ways to simplify the explanation.  My current thinking is that I can put the over 100 features in two buckets:  Control and Visibility.  What follows is overly abbreviated…

Effective Java Profiling With Open Source Tools

Taken from: http://www.infoq.com/articles/java-profiling-with-open-source
In this article I will be going through some of the open source tools that are available. Some of these tools come with the JVM itself, while some are third party tools. I will start out with the simplest of the tools, and gradually move on to more sophisticated tools as the article progresses. The main objective is to enable you to extend your diagnostic toolbox, something that will most definitely come in handy when you application starts to perform strange, slow or not at all.

JavaScript Unit Testing

Taken from: http://www.ibm.com/developerworks/java/library/os-jstesting/index.html?ca=drs-

Summary:  JavaScript code that runs on one browser does not necessarily mean it will work on others. Without unit testing this code, organizations pay money for testing and re-testing web applications when deciding to upgrade or support new browsers. In this article, learn how efficient unit testing of your JavaScript can reduce testing costs and make it easier for you to support more browsers.