| |
October 26th, 2007 by Kamal Ahluwalia
In my previous posts I had touched upon an important challenge facing Microsoft and IBM as they introduce “game-changing” integrated ALM offerings. How does one go about convincing IT decision makers to start adopting this ALM infrastructure. Outreach activities and a thriving partner eco-system is one of the ways to get the idea out in the open. One example of this is the Jazz team’s attempt to showcase their offerings at the prestigious CASCON 07. This collection of researchers and academics is a fertile seeding ground for advancing the state of art in these concepts.
Yesterday, I attended a BOF session by Marcellus Mindel that discussed opportunities for using Jazz in an academic setting. There was a good discussion on the challenges instructors face in deploying and using Jazz in a curriculum. One of the questions was on curriculum pre-requisites on using Jazz. Do you use Jazz in a first year course before students are aware of the software engineering processes and practices or do you introduce it in fourth year when they have had a chance to get a grounding on some of these practices in addition to essential technical knowhow? Integrated ALM tools like VSTS and Jazz can be an excellent project simulators where instructors can use different process templates to give challenging assignments (a lot like using case studies). Of course, someone may choose to use the ALM tools simply to encourage collaboration between students as they work on their assignments. There were other discussions around research into areas relating to process templates, reporting and generating best practices by using enactment data – all of the concepts that I am passionate about and have blogged in the past.
Later we had a chance to visit the exhibitor area and chat with the IBM Rational Team Concert folks from the Toronto Lab. For those who don’t know, IBM’s Toronto Lab is one of the important brain trusts collaborating on the Jazz/Team Concert platform/product. We wish them our best as they continue to ramp up their outreach activities and aim for the general availability of IBM Rational Team Concert sometime middle of next year.
Here is the Osellus team at the Jazz booth - notice we are appropriately geared !

From left to right - Dave, Payman, Me, Kartik (IBM), Rakesh, Jim, Jason
Posted in The state of the art, General | 4 Comments »
October 24th, 2007 by Kamal Ahluwalia
Last night I had a chance to attend a Jazz demonstration by John Wiegand at CASCON 07. It is always a treat to watch John speak and yesterday’s session was no different. For those who have not seen John and Erich speak about collaborative development, here is a short video to one of their previous videos talking about open source development.
John gave a glimpse of the current state of Jazz technology. Although Erich was unable to join the demonstration concurrently from OOPSLA in Montreal as planned, judging from the reaction of the standing room only audience the session was well received. There are several cool things that were shown including the concept of personal work spaces that amongst other things let developers see the effects of checkins before touching the main code repository. John ran through a scenario in which two new developers join an existing project. The system configured the tool behavior for these newcomers based on the process definition. Living up to the promise of transparency, these newcomer developers get access to all work items in their project and across different projects. They then get down to the brass tracks by working on their own work items while engaging in adhoc collaboration and sharing changes with others in the team.
I had a chance to chat with John after the demonstration. Since my focus was primarily on understanding the process awareness built into this integrated toolset, John was quick to point out their definition of process in Jazz. Process in Jazz means the policy and configuration settings that govern tool behavior. The process definition such as checkin polices and build management can be customized for individual projects. We then had a candid discussion on the need to have balance between having a process definition that spawns project work items without burdening developers with complicated process terminology. I can’t go onto all the details here but we agreed that over-complicated process models (based on over-engineered meta-models that require a steep learning curve) could be harmful to the concept of collaborative development environments. This is the reason the Jazz team wants to be very careful when they talk about process and their definition of it.
John was also generous to help me with a favour. He has promised to see how can he make the EclipseWay available to the open source community. This will mean anyone can take this collection of best practices and mash them up with their own in-house process description or third party process definitions without getting a knock on their door by a team of IBM lawyers. I know many people in the EPF community had been asking for such a thing and will join me in thanking John for helping us with this.
I am back at CASCON on Thursday to join a BOF session on Jazz.
Posted in The state of the art, General | No Comments »
October 19th, 2007 by Kamal Ahluwalia
Next week will find me and some other members of my team attending the Jazz sessions at Cascon 07 here in Toronto.
As I had talked about in my earlier blog post, I am really pleased to see the work Erich’s team has been doing on the jazz platform. Moreover it is nice to see so much Canadian talent working on developing this next generation ALM platform!
From what I keep hearing, the Jazz platform and its first product manifestation in IBM Rational Team Concert is sounding more and more like Microsoft’s Visual Studio Team System. This is a good thing and something to take note. In fact I would even term the release of Jazz and VSTS as “game-changing” events that have the potential to alter the state of software development lifecycle tooling. This would also be giving sleepless nights to those vendors who claim to offer traditional ALM tooling consisting of a collection of development tools. Simply put the traditional ad-hoc installation and configuration of a collection of individual applications has just not worked. Moreover, customers were expected to go through an expensive and prolong point-to-point integration of these tool “silos”. Even the most comprehensive customer deployment only resulted in partial integration and never met the promised results. Do I need even need to go further on this point…
The key distinguishing characteristic of these ALM offerings from Microsoft and IBM Jazz is the infrastructure layer. Finding similarities with the application middleware (another game changing event) Payman, calls this layer the “middleware” that glues tools and processes together. The infrastructure layer facilitates concurrent development projects each with its own team and tools. It’s a common repository of projects’ data. Unified management of project data makes governance, visibility, predictability, traceability and other ALM business benefits possible. At the core of the infrastructure layer is a unifying object model. The object model is accessible via a comprehensive set of APIs. The ALM tools utilize these event-based API’s for deep integration with the infrastructure layer. Since these APIs are open and published, any third-party tool can also integrate deeply into a ALM solution. Each tool may have its own object model but as part of integrations the tool’s object model is mapped to the infrastructure object model.
The common infrastructure object model is based on the key concept of work items. Microsoft has a few years lead in introducing this concept by way of Visual Studio Team System. Work items are project specific elements, created and updated throughout the life of the project manually or automatically by tools and processes (based on defined rules and constraints). A work item is an instance of a work item type, which is defined as part of the configuration of the ALM solution. Work item types can be associated with each other by user definable link types. Therefore, the object model is fully configurable which makes the ALM solution very versatile. Additionally, the infrastructure layer provides a powerful reporting and data mining service, supporting user defined dashboards and reports for an individual project or consolidation of multiple projects.
This opens the field for tremendous innovation. A community of plug-in providers can now add missing or extend existing functionality. There is enough room to identify and build competencies on this platform - both product and service opportunities. This means a more thriving community that ultimately results in a better ROI for enterprise customers. But there is still a big challenge left. Remembering that they have heard these “cry wolf” calls on ALM promise before, how can IT decision makers be convinced that this is the real deal!
I will share if I hear something interesting at the Jazz sessions at Cascon 07.
Posted in The state of the art | No Comments »
October 1st, 2007 by Kamal Ahluwalia
In my view IBM is struggling to align their products and practices with the advancement in the state of around software development process automation and collaborative development environment.
In this post I am going to focus on their release of Rational Method Composer 7.2 (RMC 7.2) and specifically point out why it is difficult for me to be convinced that they have done a root cause analysis of their previous failures (with RPW or earlier versions of RMC) or have recognized the direction where software process automation is headed.
When one thinks of a product release from IBM you would obviously expect a high level of maturity, sophistication and thought leadership. IBM is universally well regarded and respected for pushing concepts like SOA and software-as-service. However, when you look at how the Rational team has implemented the tooling around creating and tailoring processes, one wonders why that thought leadership is not being put in practice here. By choosing to keep RMC 7.2 as a thick client application the rational team seems to be stuck in a time warp. I simply cannot imagine a scenario where an enterprise is told that its process assets (which in many cases have the “secret sauce” of project success) is encased in a few laptops. So I was bit surprised that even while acknowledging this problem of scalability and multi-methodology blending, the rational team has chosen to resolve it by continuing to stick to the flawed design decision of using SCM to check-in/check-out process plug-ins. But now, to make matters even more difficult, process authors (often non-programmers), are required to use the eclipse IDE environment to derive some scalability benefits. This is simply unbelievable. First of all, this still does not solve the problem of scalability (see why). Secondly, SCM is a code repository specially built for handling code and not process assets. Finally there is little logic in making process authoring so complicated that it requires a team of consultants to even setup the multi-layer environment for process authoring. Moreover in this day and age when even videos are being edited online asking a process team to work in this client-only disconnected mode is simply irresponsible. I did notice that the rational team did take note of the overwhelming negative feedback on usability of RMC and I welcome that. As in IBM partner and while exhibiting at the RSDC in June 07 we heard lot of this negative feedback. As you read this please keep in mind that if you don’t have a business need for blended methodology processes (and RUP is all you need) or if you are fine with having one or two process authors, RMC does meet your needs. In fact we have a handful of customers who are in such a situation and would simply like to move their RUP process into a collaborative development environment such as VSTS using Content Bridge for VSTS. I hope to see some improvements in the UI with RMC 7.2 and will share what I find out.
Posted in Processes & Methodologies, Products, General | No Comments »
September 27th, 2007 by Kamal Ahluwalia
Software development governance is concerned with establishing standards and control mechanisms to enable practioners in a development organization to carry out their roles and responsibilities while building or maintaining software development programs. A software development governance framework should not only facilitate the creation of processes that may act as a guide for project teams based on accumulated best practices from experience, but it should also serve to ensure that essential procedures have been followed. Therefore any serious attempt to establish a sustainable software development governance framework needs to build or reinforce these three key pillars: establishing and declaring software development processes, automating the enforcement of governance processes, institutionalization of compliance best practices so that teams are empowered to take corrective action earlier rather than discovering problems later where penalties may result.
When we started researching the current literature and tooling to help us understand the current state of art we were unable to find a single resource that elaborated how to transition from theory to practice. This has made us start work on a whitepaper that would dig deeper while giving an implementation model for software development governance. In this paper we aim to describe how it is possible to deploy a software governance framework including its automated compliance using a collaborative development environment. We use Microsoft’s Visual Studio Team System (VSTS) to illustrate and give a practical recipe for achieving governance automation. After talking about setting up a governance process architecture we guide you through the steps needed to achieve a comprehensive, continuous detection and validation of process enactment and out-of-compliance events. To that end, we also plan to include an implementation reference model which can act as a base for your own specific implementation. By installing an automated governance infrastructure, preparing for internal and external audits requires fewer people and less effort.
I will surely blog about this again when the whitepaper is publicly available.
Posted in Processes & Methodologies, General | No Comments »
September 27th, 2007 by Negin Hodaie
In recent years we have seen a trend of software companies, regardless of their size, realizing the benefits of having well defined software development processes in order to increase the success rate of their projects. One cannot argue that when it comes to software processes, one process does not fit all. With this understanding comes the challenge of how to ensure that an organization with a number of software development processes can ensure process selection is made properly.
At the very minimum, an organization needs to have a central place where consumers of the processes can view all available processes and search based on criteria such as process families (e.g. RUP) and process recommendations (e.g. team size). The richer the information included in this process hub, the easier it will be for interested individuals to find the appropriate process. By implementing this central place for processes, companies will see an increase in usage of their software development processes.
The next logical step is for an organization to promote its process center as a vehicle to improve processes through collaborative community input. Traditionally software processes are designed by elite group of highly skilled individuals, often in isolation. Without a feedback mechanism in place, there is no real chance for processes to evolve or survive. With the dynamic nature of software development projects and without the two way approach, processes quickly become obsolete and there will surely be resistance amongst project consumers to follow the processes. Organizations can easily over come this major issue by bringing together the process authors and consumers. Process centre can be a gateway for both parties to come together to share and collaborate on existing processes. The type of feedback can range from the most informal method such as rating system to most constructive such as recommendation on the specific process element or step. By having the wide range of options available, consumers can choose the method which suites them.
A natural way to implement this type of system is through the newly popular Web 2.0 technologies known as the second generation of web-based communities and collaboration tools. This trend in technology and industry addresses the need for collaborative way for the entire organization to work together towards evolving their software development processes and ultimately to increase the success rate of projects. I am pleased to say that we are currently working on a process portal based on Web 2.0 technology which is complimentory to IRIS Process Author. Stay tuned for more blogs regarding IRIS Process Central.
Posted in Products, General | No Comments »
September 12th, 2007 by Rakesh Kamath
As soon as I hit ‘Publish’ on my previous post yesterday, I came across this very interesting announcement-
BEA Systems and Adobe Systems announced they will be partnering to provide Adobe’s Flex Builder 2 bundled with BEA’s Workshop Studio - this bundle due out later this year. On their part, Adobe will distribute BEA Weblogic Server evaluation instances with their LifeCycle Enterprise Suite (ES) offering - planned for early 2008.
An understanding is emerging that hosted application infrastructure- Web 2.0 or in the enterprise - cannot be considered complete anymore without inherent support for rich client application frameworks. SOA, web services etc. are enabling technologies but the workflow needs to include a sophisticated client that can leverage them - and vice versa.
Adobe’s also doing the right thing if you look at this from the perspective of competition. Microsoft’s Silverlight is already grounded on the .Net platform - With .Net 3.0 and it’s accompanying middleware technology set including WPF, WCF and WF- it now has a powerful foundation to lean on - not to mention a powerful development environment support in Visual Studio.
Adobe has it’s own middleware-like offerings (ColdFusion or JRun anyone?) but they are not nearly as ‘complete’ as the application servers such as Weblogic, IBM’s Websphere, JBoss and a few others. So they need this kind of bundling.
More on this announcement here.
Posted in The state of the art, General | No Comments »
September 11th, 2007 by Rakesh Kamath
A sense of validation is always nice - especially when you are so far ahead of the curve. I was scanning through my Google Reader Link Blog recently and noticed the number of new applications being implemented in Flex/Flash and Apollo - Adobe’s desktop runtime for RIAs.
Microsoft recently joined the game officially with the launch of version 1 of it’s Silverlight rich interaction delivery platform and while it’s some way behind Flash/Flex as a platform, it’s gaining popularity too - and has a lot of things going for it (a topic for another post).
I want to focus on Adobe preview of a new product last week at the Photoshop World - Photoshop Express, which is an entry-level Photoshop branded product aimed at drawing customers into the world of Photoshop. What’s special about Photoshop Express is that it’s hosted and implemented using Flex (the development environment for Flash).
This is a continuation of Adobe’s recent focus on the hosted model - Adobe had put out a hosted video editing tool, Remix that has been available as part of the Photobucket tool-set for about 6 months. This video tool has other nearly identical avatars - it also exists as Adobe Premiere Express and is provided on Youtube as Youtube Remixer.
This is the best possible advertisement for the Flash platform’s power. As a developer, there is nothing that screams out a platform’s strength than a complex image/video processing software implemented in it! And there are more coming out everyday!
Flash/Flex has been rounding up some well known names in its corner. I am very impressed with the way Adobe has targeted and honed the direction of the Flex/Flash platform after it adopted Macromedia. The AIR platform (formerly known as Apollo) which has gained a lot of steam since it’s launch is another crucial step in that direction.
What direction is that? Flash is no more seen as the delivery tool of the infamous banner ads. It is now perceived as a serious platform for rich and complex application delivery used by the big boys of the internet and increasingly, the enterprise.
Which brings me to the sense of validation I was talking about - Long before Adobe and the others, Osellus was one of the first “serious” product companies to recognize the power and potential of Flash as a platform and employ it to develop a complex visual enterprise-class product. IRIS Process Author is an enterprise-class visual process management product currently being used by very qualified process groups in very large organizations - and its primary authoring interface is implemented in Flash and the IRIS Flash Framework!! We just happened to start 5 years ago and given our early start, we had to develop our own framework for implementing our Flash-based interface. I was involved in designing and guiding Process Author’s interface over the last few years and so felt the need to make sure Osellus’s foresight was recognized - at least in a blog posting :).
Other examples of companies waking up to the potential of Flex/Flash are Google and Salesforce.com which have been adding some Flash-based products and APIs to their catalogs.
Considering our strong enterprise focus as a company, I am especially peaked by the strong uptake of Salesforce.com’s Adobe Flex Toolkit for Apex. Apex (Salesforce AppExchange) is of course Salesforce’s applications marketplace and one of the first implementations of the SaaS model.
On the consumer-internet front, Google made available the Google Talk Gadget a few months ago which is a Flash implementation of Google Talk that can be added onto your Google Personalized Homepage. The gadget can be even be added to a blog or webpage so visitors can chat with you right there in the context of your blog. Best of all, I noticed that it has the “Call” button - so you can VoIP with your google talk contacts right there - no need for the desktop client! I chatted up a couple of friends and was pretty impressed with the implementation. The gadget has a lot of other features too - like being able to play youtube videos and recognizing picasa albums.
The reason I highlight the Google Talk gadget in particular is that I was hard pressed to find a difference in the user experience between the gadget and the Google Talk desktop application. Of course this is as much as ode to the Google developers as to the Flash platform itself.
I suspect we will see Google employing Flash more and more in their upcoming “betas”.
Another web app that I am really impressed with is Virtual Ubiquity’s Buzzword. VU is calling it “the first real word processor for the web”. It’s written in Flex 2 for Flash 9 and is extremely sophisticated and rich in features.
These are but a few of the examples out there in the enterprise and web 2.0 arenas. All in all, this trend indicates the exciting albeit late recognition of a trend that Osellus had woken up to sometime ago.
I’m pretty sure we’ll be seeing more and more of Flash/Flex and Silverlight based RIAs delivered either in the web browser or in an Apollo like delivery model in the next year or two. I itch to articulate my p.o.v. on the Flash vs. Ajax pseudo-debate that’s been on for the last couple of years but that’s a whole new post.
I am keen to know which other enterprise level products have Flash based interfaces, APIs or atleast components. If you know of any, let me know! I would also be interested in knowing about early adopters of Flash in the enterprise along with Osellus or even perhaps before us!
Posted in Osellus, Products, The state of the art | No Comments »
September 4th, 2007 by Kamal Ahluwalia
I would describe a process management lifecycle as generally consisting of three broad phases. In the first phase a robust process architecture facilitates the tailoring and blending of various methodologies to come up with a process that is suitable for specific domain, category of projects or even a specific upcoming project. Methodology experts, subject matter experts, process engineers and project managers are the typical kind of roles that would contribute in this phase.
In the next phase, these processes are shared with a wider audience. This is essential to get feedback and increase process ownership within the project team that would have to ultimately enact it. A process portal would ensure that the processes tailored in the earlier phase are versioned, categorized and available for review. It is important that there is no overhead associated to consume these processes. You should make it convenient for a team of practioners (who may not be process experts) to locate, review and comment on the process they are interested in. The process portal would also be the single location from where users can download VSTS process templates, MS project templates, published online process and printable (document format) process. To encourage a transparent vibrant process community, tools like blogs, ratings, newsgroups should be used extensively.
Finally, in the third phase, the processes are now enacted in real projects. With the advent of ALM middleware like VSTS, this next generation process enactment takes the form where process can now be instrumented within the tools used during the project. This not only ensures a friction free process enactment but also ensures data-based decisions on process enhancements as well as compliancy auditing.
Those of you who are aware of the work done by Osellus in the past already know that we have tooling & services to support the first and last phases described above. IRIS Process Author and IRIS Process Live facilitate process authoring & architecture and process enactment respectively. Now we are getting ready to announce the work we are completing in supporting the process portal layer support. In fact within the next few days we will announce a process portal within Osellus.com that would provide the support for a community interested in process templates for publicly available and open source methodologies. Stay tuned.
Posted in General | 1 Comment »
August 30th, 2007 by Kamal Ahluwalia
Here is a post in the Eclipse Process Framework newsgroup that describes OpenUP as “a solution looking for a problem”:
“It may sound naive, but to me OpenUP looks like a solution looking for a problem.
There are already many excellent agile and formal methodologies out there. What development teams need is integration of these methodologies into tools they use daily, not another new methodology created by methodology high-priests. Jazz (Team Concert) is a great example of such a tool. It would be even better if IBM just open sources RUP, so we don’t spend any more time coming up with a new open source methodology. We may just have to accept the bitter reality that after two years (of marketing and promotion) there is not enough interest in OpenUp for a genuine community to form around it.”
If I tried, I couldn’t have said it better ! This is exactly what I had been reflecting on yesterday.
In the past I have pointed out the issues with scalability and lack of enactment (both in context of EPF and IBM’s RMC). However, this sentiment goes beyond and actually questions the need for “spinning the wheels” without adequate clarity on a direction to follow. Rather than wasting so much time, IBM could have been generous and open sourced RUP and not some percentage of it. Also it could have ensured that through a more thought out tool implemenation the historically high overhead related to process, could have been lowered and process “high priests” exposed. But for whatever reasons this was not done.
On Jazz, though I welcome this focus on collaborative development environment, first introduced a couple of years ago by Microsoft Visual Studio Team System, I have a feeling that this idea of “Open Commercial” license may end being a repeat of this half-hearted openness demonstrated by EPF.
Posted in General | No Comments »
|
|
|