Archive for the ‘Mylyn’ Category

Announcing Tasktop Sync 1.0

Monday, August 8th, 2011

In our mission to improve the productivity of software development, our focus to date has been the developer. With Mylyn for the masses and Tasktop for the Enterprise, we have provided developers the tools that they need to focus on coding amidst constant interruptions and organizational shifts between disparate application lifecycle management (ALM) tools and ever-evolving flavors of Agile. Mylyn and Tasktop provide developers a single pane of glass through which to view all parts of the application lifecycle relevant to their work. But other key stakeholders, who do not live in the IDE, are missing this visibility. Over the course of the past decade, as the heterogeneity of ALM has increased the vantage of these stakeholders decreased. Today we are announcing a new product that will bring all members of the development process into the modern software delivery loop.

Tasktop Sync moves our existing Task Federation(tm) technology from a developer’s desktop client to the server. Developers’ need for Task Federation arose from the fact that in larger organizations, development tasks span multiple systems, from requirements definitions to defects, from issues to change sets and from tests to builds. But tasks not only span systems, they also span stakeholders. If a tester needs to email a developer to get clarification on a fix, or to email a business analyst for details on a requirement related to testing, the ALM stack is broken. With application complexity continually rising, it is no longer feasible to effectively collaborate and report over disconnected chains of email. Just as Tasktop, Mylyn and the task-focused interface have been instrumental at starting to bring about the end of email between developers, today we are embarking on connecting the other members of the software lifecycle. The difference is that unlike developers, most other stakeholders do not live in an IDE-type rich client capable of bringing the many disparate forms of software project information together. Their window on the software delivery process is the web browser. To support them, we needed to integrate directly with the data models of the tools that they use.

Tasktop Sync is the first real-time synchronizer for ALM. While synchronization is largely solved for email and contacts, with protocols and synchronizers working seamlessly across Microsoft Exchange, IMAP, Google Apps and iOS, the lack of a scalable and generic solution has been an endemic problem in large-scale ALM. With Tasktop Sync, the ALM architect simply sets up a mapping between the various ALM systems of record for requirements, Agile, development and testing. For example, the mapping may specify that defects should be one-to-one mapped between the Agile tracker and the defect tracker. Once Tasktop sync has built up its cache, every change in the test system is propagated instantly to the agile tool, and back again, ensuring that all stakeholders can work in their system of choice. We have built on the Mylyn frameworks, Tasktop Certified ecosystem of connectors, and our deep partnerships with the leading Agile and ALM vendors to create this entirely new level of ALM interoperability.

If you are involved in an Agile rollout or ALM modernization effort that is struggling with disconnected tools and increasing presence of open source in the stack, Tasktop Sync will provide you with the integration that you need for all stakeholders to collaborate with context in their tool of choice.


Learn more, view data sheet, get Sync

Watch Tasktop webinars

See Mike Henke at the d2w conference talking about Mylyn and Tasktop

Saturday, July 9th, 2011

We’re especially appreciative when members of our community are out there evangelizing the technologies we develop here at Tasktop. Mike HenkeMike Henke has been one our most ardent fans, and happily, he is again at it. Mike will be at d2w, the designer developer workflow conference in Kansas City July 14 – 16. Mike will be presenting “A Task-Oriented Workflow With Mylyn and Eclipse” on July 15 from 9:45 – 10:40.

From the d2w conference website, the presentation abstract is:

Mylyn’s task-focused interface reduces information overload and makes multitasking easy. Mylyn makes task a first class part of the Eclipse IDE and monitors your programming activity to create a “task context” that focuses your workspace. This puts the information you need at your fingertips and improves productivity by reducing information overload, facilitating multitasking and easing the sharing of expertise.

If you are in the Kansas City area, you should attend d2w and catch Mike’s presentation.

Stage, Build, Review with Git, Gerrit, Hudson and Mylyn

Tuesday, July 5th, 2011

Getting a contribution accepted into Eclipse is not a walk in the park. In the Mylyn project, each patch that comes in through Bugzilla is reviewed by a committer usually going through multiple iterations until it makes its way into Git or CVS. Mylyn has great support for handling patches, but this can still be a tedious process for both the contributor and committer when it comes to larger changes, due to a lack of automation of the contribution workflow. Contributors need to keep patches up to date, possibly juggling several outgoing change sets which can easily lead to incomplete or over inclusive patches. On the receiving end committers are burdened with validating patches and running tests which requires a number of manual steps. Conversations around patches happen through Bugzilla comments making it difficult to refer to particular lines.

These problems are not limited open source contributions. In many organizations, development follows similar work-flows often requiring use of several applications that are not integrated. This article introduces the new Mylyn connector for the open-source Gerrit code review system that helps automate onerous parts of the code review process enabling developers to focus on collaborative aspects and code rather than nit picking broken patches.

Gerrit is a web-based code review server for the distributed version control Git. When combined with Hudson/Jenkins it forms a powerful system that stages and validates every change before other developers have even noticed. With the integrations available in Mylyn 3.6 and Mylyn Reviews 0.8 developers can now seamlessly integrate these tools in their day-to-day work-flows.

Alex Blewitt has written an excellent tutorial how to configure Git, Gerrit and Hudson. In this article we will assume that the following servers have been setup as described in the tutorial:

To get started we need to install the following tools from their respective p2 repositories into Eclipse:

To illustrate the interactions in a typical code review we’ll look at how Alice and Bob work on on a code change together. We’ll start with Alice who intends to implement an enhancement for an existing project that is already setup in Gerrit and Hudson.

Alice has cloned the Git repository that is managed by the Gerrit server into her workspace. In her environment the server is called dev.



By default EGit creates a configuration that pushes the local master branch to the remote master branch. For Gerrit, Alice needs to change the configuration to push the local master to refs/for/master instead. Gerrit uses that special location to stage changes for the master branch.



Alice is now ready to commit her enhancement and push it to Gerrit. The commit dialog has an option to automatically generate a Change-Id which is used by Gerrit to track the change. If Alice wants to update her commit later Gerrit can relate the changes based on that ID.



The confirmation dialog shows that the push to refs/for/master automatically created a new branch to track the changes for the code review.



In our setup we configured a Hudson server to monitor the review server for new branches. Every time a new branch is detected a build is automatically triggered. Alice now wants to verify that all tests pass in the build that was triggered by her push before involving Bob in the code review.



After Alice has configuring the build server in the Team Repositories view and subscribed to the corresponding Hudson job she can monitor the status in the Builds view without switching to the browser. Since Alice’s commit broke one of the integration tests the build status is red. This is not problematic since the commit is staged and not yet visible in the master branch.



It’s easy to drill down into the details of a failed build. Double clicking a job opens an editor that shows the failed tests, changed files and created artifacts. With a few clicks Alice can open test results in the JUnit view and re-run the failed test in her workspace.



Once Alice has fixed the bug she commits and pushes again to replace the previous change on the code review. To update the existing code review she amends the previous commit. That way, the commit message gets automatically populated with the Change-Id from the previous commit which identifies the code review. Through the ID Gerrit knows that the new commit replaces an existing change and is not a new code review.

Again, the build server picks up the changes and this time all tests pass.


Alice is now ready to pass the change on for review. She adds a task repository for the Gerrit server and a new query in the Task List.





The query is a personalized subscription to the review server. It brings in code reviews Alice is interested in into the IDE and enables her to work with them. Like any other Mylyn task, code reviews can be scheduled and activated embedding reviews seamlessly into the task-focused work day.

Code reviews open in an editor that is the hub for the conversation around a Gerrit change. The editor shows details about the work-flow state of a review, the people involved and the comments.

The review that is shown here has received one vote already. When the Hudson server executed tests it posted the results back to the review. A +1 in the Verified category indicates that the build passed.



To pass the code review a +2 is required in the Code Review category. To notify Bob that the change is ready for review Alice adds him as a reviewer in the people section.



Bob’s workspace is setup with the same projects and queries. When Bob task list refreshes a little popup notification is displayed and the review is decorated with a blue arrow in the task list.

Bob’s first step is to open the code review. The content under review is listed in the patch-set section. Each patch-set equals one commit to the Gerrit server and is tracked in a separate Git branch. Bob can now bring a patch set into his local workspace by using the fetch button under the patch set. This is useful to verify a fix or to try a feature through running changes locally. In this case Bob decides to review changes directly in the compare editor.



Double clicking a file in the patch-set section opens an editor that shows the current master on left and the proposed changes on the right. Comments can be added by selecting any line in the file and right clicking. Initially, comments are saved as drafts and are not visible to others.



After Bob has completed the review adding several comments he publishes them. The publish button opens a dialog that allows Bob to provide a rating.



With Bob’s +2 vote all requirements are satisfied and Bob submits the review as the last step. The most recent patch on the review is automatically committed to the master branch by Gerrit and becomes visible to all developers.

With these IDE integrations, Tasktop provides the same task-focused productivity benefits that developers already enjoy for tasks and SCM systems to code reviews and builds, capturing more of the developer’s workday and providing even better integration for mixed open source and commercial ALM stacks.

To see a demo watch the video at the end of Mik’s blog post on Mylyn 3.6.

Tasktop hosts Eclipse Indigo DemoCamp

Tuesday, June 28th, 2011

This year, Tasktop Technologies and VMware co-hosted the Eclipse Indigo DemoCamp in Vancouver. The event was a smashing success with some 60 developers in attendance, awesome networking and even cooler talks including:

greenbullet_icon Presentation by Ralph Muller from the Eclipse Foundation
greenbullet_icon Benjamin Cabé from Sierra Wireless presenting on Koneki
greenbullet_icon Rafael Chaves from Abstratt Technologies presenting: “Full code generation with AlphaSimple” (AlphaSimple is an online modeling tool built on Eclipse technology)
greenbullet_icon Kris De Volder from VMware presenting on Cloud Foundry
greenbullet_icon Presentation by Ed Merks, project lead of the Eclipse Modeling Framework project
greenbullet_icon David Green of Tasktop Technologies presenting the latest Mylyn integrations for Git, Gerrit and Hudson (see photo below)

To get a sense for what Demo Camps are all about, watch the video of the opening talks from VMware’s Andrew Eisenberg, Eclipse’s Ralph Mueller, and Tasktop’s David Green available here: http://vimeo.com/25746826. We were not able to capture the sessions, but hope to do so next time.

After the event, we all headed out to a nearby Lennox Pub for more fun and networking…

In this picture, Ralph Muller of the Eclipse Foundation, as well as Andrew Eisenberg of VMware and other developers networking in the background.

See More Photos from the event…


For more information about the DemoCamp please see the Vancouver Eclipse Indigo DemoCamp wiki

Hope to see you all there next year!

Eclipse Mylyn 3.6 lights up Indigo, puts an end to faceless builds

Thursday, June 23rd, 2011

Yesterday’s Eclipse Indigo release delivered a year’s worth of improvements on what has become the de facto IDE platform for Java and beyond. The Java package has seen major additions, including the WindowBuilder tool that originated from Instantiations and the m2e plug-in that eases Maven-based builds. EGit 1.0 is an essential tool for the growing number of Eclipse developers using Git, and in addition the top-level project included new tooling for Hudson/Jenkins as well as early access support for Gerrit.

The Mylyn features in Indigo further entrench Eclipse as the leading IDE in terms of the application lifecycle management (ALM) tools needed for developers to collaborate around code. Most developers spend the majority of our time on application maintenance activities rather than the creation of new features, making the new traceability aspects of Mylyn and Mylyn-based tools increasingly important to large-scale application development. Out of the box you now get ALM support for the leading open source tools including Bugzilla, Trac, CVS, Git and Hudson. The rich ecosystem of both open source and commercial integrations available means that you can plug Eclipse into your own ALM stack and get the benefits of tasks-focused productivity and automated traceability across the vast majority of the leading task, issue, source and review management tools as visible below.

Other notable features in Mylyn 3.6 include automatic population of contexts on activation for tasks that contain stack traces, making it very simple to navigate to relevant sources when starting on a new task.

To emphasize the social nature of task-focused collaboration, the task editor now displays images for the assignee of a task. Thanks to the traceability that we provide between Hudson builds, tasks and code changes, putting these features together means that you now get to the faces associated with builds. Perhaps for the next release we should streamline things even further and use mapping to inline all the contributors’ Gravatar images in the build editor itself, to help give credit where it is due.

What’s key is the way that these features work together to make the Eclipse IDE be the collaborative console for the developer. The video below, recorded at the JAX conference in May, has Tasktop’s Steffen Pingel and Benjamin Muskalla illustrate the sort of open source ALM workflow automation that can be created using the new connectors and APIs and tools shipping with Mylyn 3.6. We hope that both this release and our ongoing efforts will continue to make your workday easier and more productive.

See the Mylyn 3.6 New & Noteworthy for more from the Mylyn 3.5 and Mylyn 3.6 releases included in Indigo.

Mylyn visiting Skills Matter

Tuesday, May 31st, 2011

Ever wondered what is going on inside the brain of people working at Tasktop?
Skills Matter
Last week, I had to honor to speak at Skills Matter, Europe’s largest provider of open-source and agile trainings in the London area. It was a great time in London and Skills Matter was kind enough to provide a recorded version of the talk for people who could not attend.

As part of their branding, the talk was titled: “In The Brain of Benjamin Muskalla: Mylyn: Closing the Agile ALM loop with task-focused collaboration” so I thought: when you’re able to know what’s going on in my brain, I don’t even need to talk about anything. You’ll expierence some silence up to 5:20 as we forgot to turn on the microphone. As the whole talk is about 1:20h, it’s still worth watching it if you want to find out how to do task-focused collaboration with Mylyn and Tasktop. In addition, there is a quick outlook in the connectors coming up around code review with Gerrit and the Git integration for Mylyn.

You can watch the whole talk at the Skills Matter website.

Agile Remixed

Thursday, May 12th, 2011

Planning tools form an integral part of any software project and picking a good planning tool can be critical to success.  But for teams working in large enterprises it isn’t as simple as picking which planning tool they think is best.  In large enterprises, a significant part of many projects involves integration between heterogeneous systems, and planning in that context becomes an exercise in integration as well.  With requirements in one system and defects in another, planning can be tedious and seeing the larger picture difficult.

Imagine you’re ScrumMaster for a team in a large company that uses HP ALM’s Agile Accelerator for release planning.  Your company has just acquired a small start-up and your next release will involve full scale integrations with that company’s existing products. They’ve spent the last couple of years building up a product backlog in Rally and have a good amount of historical data to track velocity.  The tools are familiar to them and have become part of the routine for developers in their daily work and during scrum meetings so you don’t want to disrupt their productivity by switching tools.

But the new phase of development involves integrating products that have issues and defects being tracked in two completely different systems.  With the timelines and deliverables now intertwined, trying to plan across these two different systems is proving to be difficult because it’s not easy to see the dependencies between the two systems.

Tasktop has recognized that for many teams the choice of planning tools may be largely determined by existing infrastructure in the organization, and that the next generation of planning support will embrace and flow with the differences in that infrastructure, rather than try to enforce sameness.

So how does Tasktop make Agile planning work in this kind of environment?   The Tasktop Planner provides an extra level of flexibility in planning by allowing you to mix plans from different repositories.  You can have your user stories and sprints in Rally, your defects in HP Quality Centre, and still be able to plan everything in one place.
Tasktop Planner provides a unified interface for planning across different systems and lets you create associations between those systems.  And you can do all of this right from within your development environment where it’s possible to navigate from a user story in one system to a defect in another to a line of code in your IDE.

To help you fully harness the power of Tasktop’s Agile Planning, I will be offering a free webinar on cross-repository Agile planning:


When:   May 26, 2010: 9 am PDT (GMT-7)
Presented by:   Doug Janzen, Senior Software Developer and Project Manager at Tasktop Technologies
Register now:   Webinar – Cross-Repository Agile Planning

In this webinar, I will explain why it is so important to have Agile tools be able to reach across repositories to be truly usable by companies. I will then demonstrate how Tasktop’s cross-repository Agile planning works highlighting how sub-tasks in a user story or on a Scrum board can have dependencies on issues from other systems. I will also highlight how all of this information can be available from within the Eclipse IDE as well as in an offline manner.

To learn more about the Tasktop Planner and how it can help bridge the gap between heterogeneous plans download an evaluation copy of Tasktop Enterprise or sign up for the webinar:

Proposal to move Hudson to Eclipse

Wednesday, May 4th, 2011

Some of the most successful open source projects have histories that transcend organizational boundaries. My first experience with this was AspectJ, which we launched as an independent open source portal out of Xerox PARC in 2000. In 2003 our DARPA funding dried up, but the user community was still growing. We moved the project to Eclipse, the leadership moved from PARC to IBM, then to SpringSource. Not one of the original committers remains. But Eclipse has allowed the project to thrive throughout these waves of change in commercial interests, community leadership and intellectual property (IP) ownership.

Today Oracle proposed to move Hudson to Eclipse. As a board member and long-time committer, I have an inherent bias towards Eclipse being a great place to grow frameworks and tools. But I also believe Eclipse’s track record is a strong indication of the foundation’s effectiveness at combining the interests of multiple vendors and community of plug-in builders and contributors, to the net benefit of all involved.

Oracle owns the Hudson IP which they acquired via Sun’s initial investment in the project. IP ownership is a key factor that drives companies to innovate, in open or source and otherwise. Open source projects additionally need governance that combines the interests of vendors and of the community. In moving the IP and governance of Hudson to Eclipse, Oracle has done the right thing for the long term success of this very popular Continuous Integration (CI) tool.

Jenkins exercised the very important open source community right to fork, but in the process split the community. I in no way want to diminish what Kohsuke Kawaguchi created, and I have a deep and personal appreciation for the labour of love that open source projects like this require. But FUD ensued around the state of CI, and today’s announcement of moving the project to a neutral body marks major progress.

Consider the alternatives. As we learned with the rapid exodus off CruiseControl to Hudson, CI tools are a well understood space and easy enough to migrate between. If the differences between Hudson and Jenkins had grown sufficiently large and there was overall confusion and friction among the developer and corporate communities, this would have increased the demand for a new CI solution.

At Tasktop we follow the Application Lifecycle Management (ALM) stack needs of our customers, integrating open source, legacy and enterprise ALM tools rather than pushing a single stack. Since the announcement of the fork, we have been witnessing our customers’ frustration from the lack of a clear path forward from the current fragmentation and from the fear of downstream incompatibilities, or of betting on the wrong horse. While we are happy seeing a heterogeneous and best-of-breed ALM ecosystem thrive, we are less happy about all of the duplicated effort this would involve, especially since there is so much work left to do on REST APIs of Hudson and its plug-ins, as well as in providing the IDE integration and ALM traceability needed to make Hudson a key component in modern ALM stacks. It would be counter-productive to split efforts in evolving the CI interoperability layer that we have been creating in Mylyn, which enables both IDE integration and traceability across builds, source code and tasks. Eclipse is a tried-and-true place to evolve this level of tool support around ALM tools such as Hudson, and we are looking forward to collaborating around the convergent evolution of Mylyn, Hudson and Git/EGit and other key ALM technologies.

While there may be many questions about this move, the proposal phase of the Eclipse Development Process makes the path forward clear. The next stage is soliciting input from the community-at-large. As I see Eclipse as a great home for this technology, I have agreed to mentor the project and look forward to the community discussions around this proposal and the increasingly central role of continuous integration in the ALM stack.

Meet for Beers, Not for Code Reviews

Monday, May 2nd, 2011
Figure A: Friends enjoying each other’s company over beers in a community hall Figure B: Developer held hostage during a code review meeting in the 1970s

Code review meetings are notoriously difficult to do well. In Jonathan Lange’s article “Your Code Sucks and I Hate You: The Social Dynamics of Code Review” he identifies several places where code review meetings commonly get off track. The author of the code can feel attacked (see Figure B), discussions escalate to arguments, and filibustering can occur. Adding to these woes the code review meeting introduces a communication bottleneck where several reviewers wait to provide feedback to a single author, which wastes reviewers’ time. Given all of the issues associated with code review meetings it’s a wonder they are ever successful.

Fortunately, there are options for conducting code reviews sans code review meetings. Developers have traditionally used a range of approaches. Some prefer lightweight approaches (i.e., commenting on patches) while others appreciate the more robust support offered by code review servers. Code review servers, such as CodeCollaborator, are recently enjoying an uptick in popularity as they handle all of the logistics of code reviews, from collecting relevant files, to moderating comments, to tracking discovered defects and ensuring they are corrected.





 

In an upcoming webinar with SmartBear I will be discussing how Tasktop and CodeCollaborator work together to eliminate many of the common pain points of code reviews, including the code review meeting itself. The bulk of this webinar will be a live demo of an author and a reviewer working asynchronously to complete a code review. While this demo will connect to the CodeCollaborator server, the we’ll show that to create, review, rework, and complete a code review developers never have to leave their IDE.

Sounds interesting? Join us on May 5th so that you too can eliminate code review meetings. If you just can’t wait, visit our product page to learn more about Tasktop’s CodeCollaborator integration.

Prediction #1: Task-focused collaboration transforms knowledge work, starting with developers

Thursday, April 28th, 2011

With this final and belated prediction in the series, I have taken the liberty of looking beyond 2011 speculating on the coming decade. I’ll start with a trip down memory lane in order describe how we got into this mess of information overload and what we can do about it.

It all goes back to files. The concept of a file is one of the simplest and most widely used abstractions in user interface design. Files are how we share documents, source code, and online content. Part of the success of UNIX and C that started in 1969, and lives on today in Linux, came from the elegance that files provided to the programming model. Those of us who started our careers programming C may still be amazed at seeing UNIX-style file paths now engrained in pop culture in the form of URLs. In addition to being a useful construct for programmers and operating systems, the notion of files became the primary way to organize information in the IDE, on the desktop, and on the web.

The problem with files is that we have way too many of them. In 1981, the graphical user interface was created at Xerox PARC in order to help us manage large volumes of files more easily than we could on in the filing cabinet or command-line interface. That same desktop metaphor was imitated first by the Mac, then by Windows. With a few decades of Moore’s law driving graphics performance improvements the windowed desktop has become a lot prettier. But the window-based desktops have experienced only incremental improvements, and the amount of information that we now need to process has exploded. The document hierarchies that we access daily have grown to tens of thousands of files. For developers, tens of thousands of files turned into hundreds of thousands. Yet the file and folder metaphor for browsing them remained the same. We were spending more time hunting for and clicking for information than creating it. The desktop metaphor collapsed under the weight of all of those files.

In late 1990s search-based navigation started getting embedded into both our desktop and online information retrieval experience. We were no longer bound to constant browsing for files through deep hierarchies or Yahoo-style categorizations of tagged content. Computers, network infrastructure, indexing and ranking technologies had become fast enough to place at our fingertips the thousands of files on our desktop, millions of classes accessible in our IDEs, and billions of pages on the Internet. When you consider the sheer speed of access that we have via Google’s Instant Search or Eclipse’s Open Type, this is nothing short of remarkable. But then we started seeing a familiar pattern emerging again: we were spending more time searching for information than we were spending on the collaborative and creative endeavours that are productive and rewarding. The repeated, wasteful clicking and keystrokes used to constantly browse and re-browse through information had now turned into repeated, wasteful finding and re-finding for the same information. We increased the volume of information that we could work with effectively by an order of magnitude or two, but the level of information relevant to our day-to-day work grew at an even higher rate.

The information overload problem that we are facing goes back to this notion of files that we have been relying on so heavily. Files encapsulate content. We tag them, bookmark them, index them and search them. Some of us are filers and obsess with having our content neatly organized and desktops de-cluttered. Most of us are pilers, with our computers’ desktops as cluttered as our physical ones. Either way, we are all playing a losing battle. The fundamental problem is that no matter how we organize and structure our documents and source code, our daily tasks crosscut that structure. We need a new approach to managing knowledge work in order to survive the ongoing deluge of information and increased demands for collaboration. The graphical user interface and search-based navigation will continue to be a key part of user interface design, but improvements on that front will only provide diminishing returns.

Tasktop task structure

The primary unit of knowledge work is the task. Tasks have a structure that is defined by the process that we use in our knowledge production activities. For software, this could be an Agile process, with tasks being recorded in a project tracking tool and taking the form of user stories and defects. For the sales part of the organization, tasks are captured as opportunities in Salesforce. The game changer created by the task-focused interface [http://en.wikipedia.org/wiki/Task-focused_interface] is to leverage these entrenched tracking tools to make tasks the primary anchor for the conversation and context around knowledge work. This concept means that the primary way that we access the information in the IDE and desktop user interface becomes the task, not the file. All conversation is available through a single point of access, no matter how many different repositories, email, or social communication channels it appears on. Even more importantly, all knowledge accessed and created as part of the task is tracked automatically, meaning that we offload our brains and let the computer do the work of ranking the information that’s relevant to what we are doing. Multi-tasking becomes a one-click operation, meaning that we don’t have to pay the price of context switching in the presence of constant interruptions. The near-term benefits of this approach are the reduction of information overload and multitasking overhead. The long-term benefits are a new level of knowledge capture and sharing that will eventually transform the productivity of the knowledge worker by an order of magnitude.

In 2011, tasks will be well on their way to becoming an entrenched unit of abstraction in the software development of leading IT-centric organizations. Every change made to a system will be automatically linked back to the task that it originated from as task activation becomes an integral part of developer workflow. This task-level traceability will be connected to continuous integration systems, which will position tasks as the primary unit of production in the continuous integration loop. This will dramatically improve development transparency across heterogenous ALM stacks, and plug Agile project tracking into the development loop, while empowering developers with the tools that they need to manage changes in very complex systems.

In 2012, this automatic capture of context will be leveraged by other stakeholders in the software delivery loop, including support staff, DevOps and QA. Stakeholder-specific context tracking will tie together the activities of developers, operations and quality assurance engineers; this will help to unify all of the participants in the deployment, diagnosis, and development of an application. Materializing a release-specific workspace to investigate a defect in a deployed application, along with all of the context from the application operators and help desk staff, will become as easy as clicking the “activate” button on a task.

2013 will bring tasks-focused collaboration higher up the management stack. Requirements tracking, project, and portfolio management tools will become directly linked to development activities happening at the production level. The production level of software development activity will finally have a high-fidelity link to the planning level, allowing for a new level of predictability and productivity in the software lifecycle. In their support of this movement, ALM tools will learn to speak the language of development tasks and then get out of the developer’s way.

What follows in 2014 is an infection to other parts of the enterprise. With project and portfolio management activities planned via tasks, email will finally start being displaced by task-focused collaboration as the mechanism for tracking work. One-click multitasking™, task-focused collaboration and automatic knowledge capture will start to be tailored to the other departments in the organization.

In 2015, the single integrated Task List and task-focused interface will layer so seamlessly over desktop and mobile operating systems that consumers will start seeing the same level of productivity and collaboration benefits. By 2020, it will be effortless to assign your grandmother a task to bake you cookies, no matter where she is located, and have the recipe automatically captured as part of the context in order to later delegate the same task to your robot assistant before flying to work in your car.

As William Gibson stated, “the future is already here – it’s just not very evenly distributed”. In writing this blog series, every bit of content that I produced and accessed has been automatically captured as part of my task context, and each of the many revisions and bits of feedback were tracked on the task. When I re-activated this task after a series of interruptions, my desktop-based Word and web-based WordPress editors were instantly restored. In the same way, every change that any committer has made in the Eclipse Mylyn codebase is automatically linked to the Bugzilla bug describing the social conversation around the change, then linked to the corresponding build and release. Tasks and contexts externalize our memory and make it much easier for both our forgetful selves and for newcomers to help us evolve our software.

To my surprise and concern, Tasktop is telling me that I have spent over 88 hours researching, collaborating on, and writing this prediction series on Agile, ALM and developer tools. All of this information was automatically captured and will be accessible to me in 2015 when I attempt to explain away any inaccuracies in my predictions.

“The best way to predict the future is to invent it” said Alan Kay at Xerox PARC in 1971, inspiring Smalltalk and paving the road for the graphical user interface. Our vision at Tasktop, as embodied in the “less is more” logo , is to transform knowledge work around the focus and flow required to get creative work done in the presence of ever-growing volumes of infromation. As with other innovations, like the file hierarchy and desktop metaphor, this move to task-focused collaboration will originate from developers and move upwards and outwards in the organization. We look forward to working with you in making this vision a reality, starting with the transformation of the Agile ALM stack and developer tools. <=>