Archive for the ‘Eclipse’ Category

Towards Lean ALM, with Dave West on Board

Thursday, April 26th, 2012

Every now and then you have a conversation that changes your view of the world. I’ve now had a dozen of those with one person, Dave West, in his role as Forrester analyst, VP, and Research Director. The common thread in our dialogue has been the need for application lifecycle glue that connects the software lifecycle stakeholders within the organization, as well as across the multi-company and increasingly open source based software supply ecosystem. Both of us realized that it would be more effective to make this vision a reality than to discuss it endlessly. So today, I’m thrilled to announce that we’ll be doing just that, with Dave West joining Tasktop as Chief Product Officer.

The very rapid growth that our products have seen lately is indicative of the need to look beyond any single tool in the evolving ALM stack, and consider the flow of information between the people that define the disciplines of the software lifecycle. Tasktop got to where we are today by placing a manic focus on the needs of the individual software developer, who was getting completely overloaded with the disconnected morass of ALM tools that failed to connect to the source code that defines delivery. That forced us to create a new model of social tasks that emphasized autonomy, transparency and integration across the increasingly diverse tool chain. With Tasktop Sync, our Task Federation has migrated from supporting Agile delivery on the developer’s desktop to connecting the rest of the software lifecycle in order to bring about a “Lean ALM”.

Driving a change in the way that software is built takes like-minded people filled with passion and purpose. Dave’s mission is to help people build software just a little bit better, and with our shared values, we expect that goal to materialize very quickly. In his role as an analyst, Dave has heard the software delivery needs and gaps of countless software organizations that build the products and services that we all rely on day-to-day. In his role as Chief Product Officer, responsible for transforming that need into our product vision and roadmap, you can expect Dave to accelerate our pace of customer-centric innovation even further as we work with our partners and open source community to connect the software lifecycle.

Read more in Dave’s post and Neelan’s post.

Watch Tasktop webinars

EclipseCon keynote: The Future of ALM – Developing in the Social Code Graph

Thursday, April 12th, 2012

EclipseCon 2012 was my favorite to date, and I’ve been attending since the prototype—beers and demos at Thirsty Bear during JavaOne 2002. What made it so interesting was finally getting all the Eclipse devs in the same space as key folks from Agile and ALM. Developers are the engine of the software economy. But that engine is becoming part of such a complex ecosystem of vendors and open source that to scale software delivery, we need to break down organizational and departmental silos. We need to move towards what Forrester analyst Dave West has coined a Lean ALM. And that’s what my keynote was all about. Connecting devs to project managers, to testers, and eventually to @DEVOPS_BORAT.

Some have objected to my statement that Linus Torvalds’ bigger contribution to our planet is going to be Git, not Linux. Yes, Linux is everywhere. But Linux was a creative imitation, whereas I was focusing on the true innovations that are moving us towards the social code graph, and that’s precisely where Git fits in. Also, early in the talk I mention that Eclipse has gone from 1.5M to 2.5M downloads between January 2011 and January 2012. That’s monthly downloads, and with Vietnam surpassing Germany, a clear sign of the times.

Watch the keynote here, and I look forward to hearing your feedback and ideas.

Watch Tasktop webinars

Tasktop Sync Studio announced, ALM Architects rejoice

Tuesday, March 27th, 2012

As organizations increasingly become software driven, the role of the application lifecycle is taking a new meaning. Connecting stakeholders in the software lifecycle ceases being a nice to have and any gap in connectivity quickly becomes the bottleneck of software delivery. The organizations are now noticing the friction of having developers do duplicate data entry between their issue tracker and Agile tool, or testers and business analysts queuing up weeks of defects and requirements before handing them off to developers. The application lifecycle is only as efficient as its weakest link, and if that link is manual and based on large batches and handoffs, frustration for the individuals and large-scale inefficiencies result.

With Tasktop Sync we created the first general way to connect software delivery stakeholders working in best-of-breed tools across the application lifecycle management (ALM) stack. As we’ve been rolling out Tasktop Sync over the past year to IT organizations around the world, we’ve noticed a number of things. Organizations, especially those who have been around for a while, are trying desperately to apply ALM Automation across the enterprise. To do this, these organizations are having to inventory their tool sets and identify the information flows and the workflows between stakeholders and between their tools, usually for the very first time.

Often acting as a cross between marriage counselor and coach, the Tasktop expert’s first activity in a deployment is to gather they key stakeholders from management, quality assurance, development, and business analysis in a room with as big a white board as possible. In this meeting, the organization will identify the important tools used by each stakeholder, how information needs to flow between these tools, what are the key workflows within each stakeholder silo, and what activities kick off workflows in other silos. The edges connecting the ALM repositories turn out to be various kinds of tasks that represent the lines of collaboration between the stakeholders, and that are then mapped between the various vendors’ tools with Tasktop Sync’s real-time ALM artifact synchronization solution.

In the forthcoming release of Tasktop Sync, we have formalized the lessons learned of the past year with a new authoring tool called Sync Studio. Our expertise is now captured in visual tools for cross-ALM system task and workflow mapping, ALM architecture design, monitoring tools to ease integration maintenance and alert notifications for project and system administrators. To help IT organizations scale Tasktop Sync deployments and better manage the growing number of ALM systems in a typical tool stack, Sync Studio provides a whole new set of ALM infrastructure management tools. Capabilities include:

  greenbullet_icon A Unified View across the ALM Stack: Sync Studio presents ALM architects and administrators with a comprehensive and “live” architectural view of current tools and processes, and the associated interdependencies and roadblocks that need to be addressed.
  greenbullet_icon Visual Mapping for ALM Administrators: Sync Studio provides automated mapping capabilities for ALM administrators to author and configure task, data and workflow connectivity and integration between ALM servers.
  greenbullet_icon Cross-repository Monitoring and Administration: Sync Studio helps maintain the health and performance of enterprise-wide ALM architectures through the regular monitoring of inter-tool functionality and centralized administration of changes, maintenance, trouble-shooting and alert notifications.
  greenbullet_icon End-to-end Traceability for the Lifecycle: through its Task Federation platform, Sync Studio provides complete ALM traceability that is available through the visual mapping and visibility capabilities now available in the tool.

Tasktop Sync is being announced today as part of our coordinated Tasktop 2.3 release. A notable feature from Sync the instantaneous task querying needed for Sync’s conflict resolution, is getting pushed down into Eclipse Mylyn for the benefit of our developer users as we continue to build out both the Tasktop commercial tools and the underlying Mylyn frameworks needed to support Task Federation, both on the server side with Tasktop Sync and on the developer’s desktop with Tasktop Dev and Mylyn.

Tasktop Sync 2.3

  greenbullet_icon Sync Studio: Visual Mapping, Monitoring, Validation and Notifications
  greenbullet_icon Sync Server: Scalability & failover support
  greenbullet_icon New connectors: Accept 360, ThoughtWorks Mingle, full RTC Schema support

Tasktop Dev 2.3

  greenbullet_icon New OEM Edition for HP Quality Center
  greenbullet_icon Mylyn 3.7, including instant Task List search
  greenbullet_icon New connectors: Gerrit code reivew
  greenbullet_icon See New & Noteworthy for more

Contact us for a demo of Sync Studio.

Watch Tasktop webinars

Mylyn 3.7: Task List Search Index and Code Review Integration

Monday, March 26th, 2012

When Mylyn was still known as Mylar, our Bugzilla listed a few hundred tasks for the project. Six years later, my Task List has accumulated over 10K tasks for Mylyn alone and contains twice as many tasks in total. To help manage large task lists like that, the just released Mylyn 3.7 enhances the filtering in the Task List with an incredibly useful feature for quickly finding tasks: a Lucene based index. With the latest version, it is now possible to scope searches and instantly query over the full comment streams of all tasks.

The powerful new search options are easily discoverable through content assist (Ctrl+space). I particularly like the ability to filter based on date range. If I know for instance that the task I am looking for was commented on recently I can now find the relevant tasks with a few key strokes:

There has been a lot of talk about Gerrit, and Eclipse projects are increasingly adopting code reviews as part of their workflow. The Gerrit connector, which has been evolving in the Mylyn Reviews project, is now included in Mylyn releases, the Juno repository, and available from connector discovery bringing the first-class IDE integration that Mylyn provides for tasks to code reviews.

We have incorporated a lot of feedback from early adopters and continuously improved the connector. It now supports Gerrit 2.2 (earlier versions have been reported to work as well) and ships with support for a variety of authentication mechanisms including Open ID. The connector is tightly integrated with the latest version of EGit and extends the import wizard for simple importing of projects. When a Gerrit server has been configured, the wizard provides a listing of all Git repositories from that server. This enables simple cloning and importing of available projects.

Another noteworthy enhancement is the improved compare editor integration. The editor now shows the structure of the review. You can navigate through patch sets and add comments inline.

A key feature of Gerrit is the ability to stage multiple iterations of a change. In practice each iteration, referred to as patch sets in Gerrit, equals a commit that is tracked in a separate branch. As in the Gerrit web interface, the review editor can now show differences between patch sets to review incremental changes.

Sometimes it’s seemingly simple enhancements that add a suprisingly big benefit. We have long recognized hyperlinks as a universal way to link artifacts and made them clickable in the Task Editor. This linking now works across builds, tasks and reviews.

For example, Loading the JUnit results or reviewing the console output of a failed build that is linked from a review comment is now literally two clicks away from the review editor.

If you are at EclipseCon in Reston don’t miss the opportunity to see Mylyn 3.7 in action. Visit Tasktop at booth #25 and also attend one of the great talks that will highlight new features. A full list of new features are described in the New & Noteworthy section.

  greenbullet_icon Read the Mylyn 3.7 New & Noteworthy
  greenbullet_icon Meet Tasktop at EclipseCon

Watch Tasktop webinars

Incremental code coverage as a debugging tool

Monday, March 12th, 2012

I joined Tasktop in part because I share the goal of increasing programmer productivity, especially by filtering out unimportant information.  I also liked how Tasktop is committed to being involved with and connected to the broader Eclipse community.

In this spirit, I suggested a feature to the EclEmma project: letting developers create and view incremental code coverage results.  This would let developers see a much smaller, but more relevant, set of classes and methods which they could then investigate.

It had bothered me how difficult it was to find where things happen in code, especially in large, unfamiliar code bases.  Yes, you can step through the code, but sometimes you have to step for a long time.  This is boring and tedious, and frequently you step one step too far and overshoot the place you wanted to see — losing the information about the values of the variables at the point you cared about.  If an asynchronous process gets spawned as the result of a Listener attached to a GUI element, it is nearly impossible to step through.

You can search for text on or around the GUI element to help you find where the actions related to that element are processed, but sometimes this isn’t practical.  Sometimes the GUI element has text that is so common that it is impractical to search for it, like “Finish” or “Next”.  Sometimes the GUI element doesn’t have text associated with it, like a button with a picture on it (and no tooltip).

In practice, I have observed that people usually guess at what words might be included in the class or method names, and then when they think they are close, simulate stepping through code by reading through it and making informed guesses about where the execution flow will go.  Unfortunately, frequently they guess wrong, usually in the choice of a starting point or the value of an if-condition.

Another particularly pernicious mistake is not realizing that you are tracing through a superclass of the class that is actually executed.  If you Command/control-click on a method name, Eclipse will preferentially take you to the implementation of that method in the same class; this means that if you ever trace into a superclass, Eclipse will tend to keep you in the superclass; realizing that you need to go back to the subclass is not always obvious.

I thus suggested to the EclEmma code coverage team that they add a feature to the code coverage tool to let users start and stop coverage so that they can see which code was executed for specific short periods of the execution.

With the 2.1 release of EclEmma, the EclEmma team has implemented incremental code coverage — a very useful feature!

How to use it

First, install EclEmma.

Next, go to Preferences > Java-Code Coverage, and check the “Reset execution data on dump”.

Open a Coverage view.  In the Coverage toolbar, there is a “Dump Execution Data” button.

Pressing the “Dump” button will now display coverage and reset the code coverage results.  Thus, if you press the dump button right *before* you do the action you are interested in (e.g. pressing a certain button), and then again right after you do the action, then the code coverage results will show only the exact classes and methods that were executed in response to that action.  Among other things, this means you won’t get misled to look in the superclass instead of the appropriate class.

If you need finer-grained information about which code executed, EclEmma colours your lines of code based on whether they were executed in that interval: green if they were fully executed, red if they were not executed at all, and yellow if they were partially executed (if, for example, the line uses a “?” ternary operator, as in the “drightSide” assignment below).

By default, EclEmma only shows coverage information for your code, not for all the libraries you bring in.  To change this, uncheck “Source folders only” in Preferences > Java > Code Coverage.

Note: while for code coverage, you probably want to see the coverage results for all classes and methods, when using incremental code coverage to locate places in code, you should select “Hide unused elements” from the Coverage toolbar’s drop-down menu.

Incremental code coverage is a very powerful technique: instead of wandering through thousands of classes and methods to find the handful of classes and methods that are interesting, you can spend a few minutes to get their names directly.

I do need to give a slight caveat: exceptions interfere with the code coverage instrumentation, interrupting the marking of that branch of code as executed.  That is a known limitation with the way that code coverage is done.  Thus if your code uses exceptions a lot, EclEmma might incorrectly say that a branch of code was not executed when it was in fact executed.   However, if EclEmma tells you that code was executed, it really was executed.

Using EclEmma in conjunction with Tasktop Dev or Mylyn is an exciting prospect.  Mylyn and Tasktop Dev tell you what you (or someone else, if you are looking at their context) had looked at; EclEmma gives you hints on what you should look at. We have only just started thinking about how those two could be combined, but are excited by the possibilities.

For further information, see EclEmma, Tasktop Dev, or Mylyn.

Note: the screenshots used from the open-source Java GIS tool GpsPrune, isolating the action of showing the scale legend.

Watch Tasktop webinars

Running for the Eclipse Board of Directors

Wednesday, February 29th, 2012

For the past few years I have served on the Eclipse Board of Directors as an elected representative. I’m running again this year in the sustaining member category to help represent ecosystem of organizations that have made Eclipse successful, and to continue to refine the constructive dynamic that we have created in marrying commercial and community interests.

From: http://www.ibm.com/developerworks/websphere/techjournal/0210_winchester/images/JVEBasicLayout1.gif

2012 marks the start of the second decade of Eclipse’s existence. I’ve been a committer on Eclipse for the past decade and have watched as an IBM initiative created a platform that now dominates the tooling space for professional developers outside working outside the VS/.NET stack. The leadership and innovation of Eclipse have created the modern pluggable IDE, innovated the code editing and navigation experience, fostered modern modeling technologies, and led the way in connecting the developer to the Agile, ALM and social coding movements. With the recent announcement of the VS 11 beta we’re reminded again that innovation can be cyclical. The first release of Eclipse from a dacade ago, visible above with its monochrome UI and toolbars, looks strikingly similar to latest version of VS 11 just announced (image from the Visual Studio blog).

While the strength of Microsoft is packaging a seamless end-to-end developer experience on a monolithic stack, the strength of Eclipse comes from the innovation driven by the large number of vendors leveraging Eclipse for gluing together the developer experience on heterogeneous stacks. For this next year of Eclipse’s evolution, both adapting the way that we build that tool stack in the social coding context, and improving ways to support our ecosystem of both community and vendor contributions, will be my priority if elected.

See my full vision statement on the Eclipse Board Elections page.

Watch Tasktop webinars

Happy Birthday Tasktop

Tuesday, January 17th, 2012

Five years ago, on Friday January 15th, I defended my PhD thesis on Focusing Knowledge Work with Task Context. The following Monday, January 17th, we incorporated Tasktop Technologies. Driven by the years of research that it took to prove that tasks are more important than files, integration is more important than features, and that focus begets flow, we embarked on a journey to bring to market a transformation in how we work and collaborate around software.

Our journey and passion have been fueled by our customers and our open source community, as to date we have not taken any external funding, and instead embarked on what’s more recently been defined as the Lean Startup approach to building a company in an Agile and customer-centric fashion. Bootstrapping, we have doubled in revenue and nearly doubled in head count each year since our inception, and now support over a thousand customers and over a million open source users. Working closely with our ISV partners, the Eclipse community and open source ALM projects, we are proud to be one of the key contributors defining the future of ALM.

In addition to the opportunity to be a part of a transformative endeavor, what’s guided our vision is a manic focus on the needs of individual software workers. Mylyn and its commercial counterpart, Tasktop Dev, materialized because the growth in complexity of software and the fragmentation of ALM tools were bringing our and our fellow developers’ productivity to a halt. Tasktop Sync was born out of the same need to give other stakeholders such as testers, project managers and business analysts, a connected and collaborative view on the software delivery process. With our focus on integration, our goal is to empower developers and other stakeholders in order to advance ALM to support the rise of the software-powered economy.

We want to take this birthday moment to thank all of the customers and partners who have made it possible for us to do what we love, which is to invent the future of ALM and to strive for our goal of doubling the productivity of software developers and managers. We hope you like the next round of innovations that we are hard at work for launching in 2012, which will be a definitive year for software, for ALM and for Tasktop Technologies.

Watch Tasktop webinars

New Mylyn connector delivers integration nirvana for Borland StarTeam

Monday, November 28th, 2011

 

We’re pleased to announce the release of a full-featured Mylyn Connector for Borland StarTeam, a robust and scalable platform for software project and source code management. This new connector is available for both Tasktop Dev (Eclipse and Visual Studio) and Tasktop Sync and is the result of a close R&D collaboration with Borland, a Micro Focus company.

Today Borland is also announcing that StarTeam 12.0 will be released on December 16th 2011. This latest version of the platform includes a number of new capabilities that complement the new interoperability provided by the connector.


 

Connect StarTeam with Eclipse and Visual Studio Development

The StarTeam Mylyn connector provides integrated access to StarTeam artifacts
such as tasks, defects and requirements, all from the Eclipse or Visual Studio IDE. In Eclipse, Mylyn’s task focused programming productivity capabilities are fully supported, enabling developers to recover from interruptions and view only the relevant code for a task with a single click.

StarTeam tasks and task editor

Time tracking is a painful reality for many developers but with the StarTeam connector time spent on each task is automatically tracked, making it easy for developers to adjust recorded time as needed and submit it to the StarTeam server. The StarTeam task editor also displays a chart showing when and how much time was spent on the task in the recent past.

 

Bi-directional task to code traceability

The new connector also seamlessly extends Borland’s existing StarTeam Eclipse Client (STEC) to group file changes on a per-task basis and automate the tedious task of writing commit comments when submitting code. The automatically generated commit comments include a link to the relevant task, which establishes traceability between the code and the relevant defect or other project management task.

Eclipse Synchronize view with StarTeam code
changes grouped by task

This connector can also automatically update StarTeam tasks with the reverse link back to the relevant code for full bi-directional traceability. To support teams in mixed ALM environments, this automated traceability can also be provided between StarTeam tasks and SCM artifacts in Microsoft TFS or Subversion.

Attach commit traces to the task View traces in the task editor

 

Connect StarTeam to dozens of ALM systems with Tasktop Sync

The new StarTeam Connector is also available with Tasktop Sync, enabling instant bi-directional synchronization between StarTeam and dozens of third party ALM systems. One of the new features in StarTeam 12.0 is the introduction of Custom Components, which allows arbitrary artifacts to be defined and managed in StarTeam. Tasktop Sync takes advantage of this capability to synchronize arbitrary artifacts from third party systems with StarTeam. This ensures that each stakeholder has access to the data they need within their primary tool while making StarTeam a hub for comprehensive visibility and reporting across a diverse set of tools.

Through the Eclipse, Visual Studio, and Sync integration capabilities provided by this connector, organizations with new or existing StarTeam deployments can now enjoy a new dose of integration bliss.

The Borland StarTeam Connector is available now via Tasktop Dev Enterprise and Tasktop Sync.

  greenbullet_icon Read the announcement press release
  greenbullet_icon View StarTeam connector product information
  greenbullet_icon Download Tasktop Dev Enterprise with the Borland StarTeam Connector

 

Watch Tasktop webinars

Tasktop Sync 2.0 released, ALM repository introspection and task linking with OSLC

Monday, November 28th, 2011

Our aim is to transform software delivery by unifying ALM and empowering developers as the core stakeholders of application delivery. The Tasktop Sync 1.0 release provided the first ALM integration middleware for the wide range of enterprise, Agile and open source ALM tools. They key change that Tasktop Sync enabled was to connect developers with the other stakeholders in the process, such as testers and Agile project managers. By building on the Eclipse Mylyn open source frameworks and ecosystem of Mylyn connectors, we were able to focus our efforts on creating a new kind of synchronization framework capable of providing immediate updates across vendors’ and open source ALM tools. It’s this real-time aspect that created the game changer in terms of collaboration, since for the first time, developers and testers could use their tool of choice while their task updates and comments propagated instantly across organizational boundaries. Not only does this reduce tedious email inbox overload and put ALM data where it belongs, it is a critical step in addressing the ALM disconnect that for many organizations has become is the main bottleneck on large-scale software delivery.

Since the 1.0 release of Sync, we have been swamped with requests to help organizations weave together disconnected best-of-breed ALM tools. A problem we quickly discovered with deploying Sync 1.0 is that most organizations do not have their ALM architecture or data models documented, as these have been scattered across disparate tools and departments. In order to help organizations do for themselves what our professional services division provides, we have added a repository introspection tool capable of connecting to each of your ALM tools and retrieving each repository’s data model. Our goal is to make it as easy as possible to connect the ALM stack, and given the state of ALM today, that has meant creating a whole new set of ALM data model management tools in order to achieve this.

The biggest new feature of Sync 2.0 is new OSLC-based support for linking application lifecycle artifacts. This feature has been three years in the making, kicked off when we started collaborating with IBM on the OSLC-CM protocol, targeted at linking together our common representation of tasks across various ALM systems. The immediate benefit of this new linking support is for organizations with IBM CLM tools in their stack, such as Rational Team Concert (RTC) and Rational Requirements Composer (RRC). In addition to providing the full synchronization that enables collaboration, Tasktop Sync can now link and retrieve ALM data on-demand via this new OSLC-based REST layer. In the video above, you can see a demo of how we are able to leverage the CLM tools seamless embedding of OSLC data in order to provide rich linking as an alternative to full synchronization, particularly suitable to connecting Requirements Management tools to dev and QA tools.

Tasktop Sync is continuing to evolve rapidly in order to become the glue needed to modernize and connect the ALM stack. We have been working very closely with our partners, who are driving the innovation of Agile and ALM features, and ensuring that the new capabilities that they are add are seamlessly exposed in the Sync and Dev products. In order to provide the developer-centric view on our partners’ rapidly evolving ALM tools, we are also releasing a new version of Tasktop Dev, as well as a key new integration, both to be announced later this week. Stay posted for those announcements, and check out all of the new features and overview videos on the Sync 2.0 web page.

Watch Tasktop webinars

Submission deadline for Agile ALM Connect at EclipseCon 2012

Tuesday, November 15th, 2011

This Friday is the submission deadline for the Agile ALM Connect sub-conference of EclipseCon. This new conference fills a gap that many of us have noticed in the conversation around Agile, ALM and developers. The “developers” part of the equation is often either missing or an afterthought. Even though developers were the root cause of the Agile movement, the discourse around Agile tends to focus on project management related methodologies. Application Lifecycle Management (ALM), perhaps by virtue of the word management being part of its acronym, has a legacy of neglecting the core need to make developers empowered and productive. While end-to-end approaches like the Rational Unified Process (RUP) had end-to-end traceability, they treated developers as an implementation detail, and as a result, have been relegated to history books. In this new age of ALM, we need to make sure that we do not make the same mistakes again. The Agile ALM Connect conference is the place to have the conversations needed to bring together the latest developments in open source, Agile, large-scale ALM, and to get developers back to the center of the discussion.

Ten years ago, I got involved with Eclipse as one of the first non-IBM committers, which has given me perspective on the way Eclipse first disrupted and then evolved along with the application development landscape. By way of efforts like EGit, Hudson/Jenkins, Tycho, and the umbrella of Mylyn projects, Eclipse has since become the leading driver of innovation in moving the developer to the center of the ALM picture. Other IDEs and development platforms are now starting to emulate the dev-centric ALM transformation that Eclipse started five years ago. From this transformation, a new set of open source frameworks were created and now broadly adopted. As a result, the ALM projects on Eclipse have come to lead the connection between the developer and the Agile plan, deployment destination, operations team, requirements, and quality management.

At the Agile ALM Connect conference we will be charting the course for the role of the developer in ALM, while connecting the organization to the new breed of open source, Agile and devops technologies. Unlike conferences focused on methodologies, we are interested in the full spectrum of approaches, ranging from tools and automation to people and practices. If you have ideas to share on how the landscape of Agile, ALM, and application development should evolve over the next decade, consider joining the conversation.

For submissions and information see the Agile ALM Connect Conference homepage

Watch Tasktop webinars