Mike MacDonagh's Blog

Somewhere in the overlap between software development, process improvement and psychology

Tag Archives: essup

Advanced RTC SCM Streaming – Part 1 Development, Integration and Release Streams

Basic usage of RTC Jazz SCM is easy enough but there’s what about more advanced usage? Using streams to isolate development from integration? Cross-project component reuse? Parallel branched development? Integration Streams aligned to Definitions of Done? This is the guide for that stuff.

This blog is in three parts:

  1. Development, Integration and Release Streams
  2. Streams for parallel branched development
  3. Streams for component reuse

Part 1 also covers the introduction and overall conclusions

Read more of this post

Advertisements

Definition of done

Teams are sometimes split into smaller sub-teams. Almost always they are part of a bigger team, which in turn is part of a bigger team and so on and so forth until we reach the organisational entity. Don’t get me started on B2B teams.  Imagine an onion, with lots of layers. A weird mutated onion with multiple cores and overlapping onions. One that has tendrils sticking out into other similarly mutated onions like a big brain… Ok metaphor taken too far. Back to the topic…

The point is that everything team is connected to everything else. At every boundary it’s necessary to have a “Definition of Done” so that teams and their stakeholders understand what they’re getting.  Any good or otherwise set of software development practices (like Scrum, RUP, waterfall  or whatever you’re using) should help the team define the levels of their Definition of Done. I’m not using a specific example so I’ll just make some up off the top of my head to illustrate the point:

  • Fully documented, discs printed, shrink wrapped and online distribution site fully functional, support systems in place ready for users.
  • Beta test program
  • Acceptance Tested
  • Integration Tested
  • System Tested
  • Unit Tested
  • Code Built
  • Code written
  • Code designed
  • Idea thought of
  • Requirement captured

Given some levels like this we need to ask the question where do we draw the line? As an R&D team, as a component team, as an integration team or business team I’d expect different answers. And for those answers to vary according to points in the lifecycle and relationships between teams and stakeholders.

The point is that these different levels of done take different amounts of work and are intended to differentiate different levels of quality (although I’ve used a fair few public release versions of software that don’t appear to have even been unit tested!). Without working out what the definition of done is between teams or parts of a team no one can estimate, plan or deliver any work.

If you have problems with multiple teams working together in your organisation, a lack of understanding of the Definition of Done is one of the common causes and is relatively easy to fix.

Use Case vs. User Story

Use Cases are too big to fit into a sprint/iteration! User Stories are so fine grained there’s too many too keep track of! Where’s the big picture? How to we define releases? Argh!!! I don’t know which to use!

Personally I tend to use both. I don’t think there’s any conflict between Use Cases and User Stories, in fact they’re rather complementary. Here’s how and why….

A few years ago I delivered a presentation at an agile software development conference entitled “Do requirements still matter?”. The short answer was “yes”. Most descriptions of agile iteration start with having a backlog, prioritising etc. etc. But where does the backlog come from? My answer: the Backlog Fairy; obviously.

The Backlog Fairy

Of course requirements still matter, they’re how we get a common understanding between customers and development teams of what we need to do. They’re the units by which we can incrementally build systems. In the rush to adopt agile processes a lot of teams have forgotten that they still need to start up with some lightweight analysis of scope and risk.

One of the things Use Cases are great at is capturing the big picture, showing a simple diagram of stick people and blobs that people who’ve never heard of UML can happily discuss in terms of what big bits of functionality are in and out of the system and who’s going to do them. The humble Use Case diagram. Not so easy to do that with a massive list of small stories.

However Use Cases can often be a bit too big to fit into a single development cycle but since they’re made up of a lot of different scenarios they’re easy to slice up into smaller bits. This is where I often use stories.

The advantage of Use Cases defining the scope is they’re nice chunky things to estimate and prioritise in a first pass. Of course as we get going we’ll estimate and prioritise stories for sprints/iterations but Use Cases help us prioritise requirements into Releases.

So I use a Use Case diagram to describe the high level scope of the thing to be developed. This normally takes about 5minutes to sketch. Then I use the Use Cases identified by the diagram (not documents, just the ovals on the diagram) to focus discussion on deriving stories (or use case slices) for development and testing within a sprint/iteration.

Sometimes stories turn up that don’t really fit into the early Use Case model, this is a rather good thing as it lets us challenge the understanding of scope. Does the story not fit in because it’s not really in line with the customers priorities and needs, it’s a cross-cutting or architectural concern or because we’ve missed some important part of the scope? All are important things to understand.

RSC 2009 – What to expect

I’m not attending the IBM Rational Software Conference (what used to be RSDC, RUC etc. etc.) this year however since it started today for partners and tomorrow for delegates so I thought I’d cast my opinion on what to expect this year. Of course I could be wrong since it’s just assumption but I suspect the main themes will be:

A vision of one notion of process for all Rational tools, made explicit in the relevant tools, surfaced through process rules and defined in practice libraries allowing easily composable and customisable processes based on the Jazz Process architectural elements.

So to tie  it all together the Process Library (which of course is practice based probably driven by Rational Asset Manager) feeds definition of processes in RMC, which is measured by MCIF and delivered by the Rational Software Development Platform. So what does that really mean:

Rational Team Concert 2 beta – because it’s a lot better than RTC 1 which was pretty good to begin with!

Rational Tara –  a Jazz based PPM (Project Portfolio Management) tool. Think MS Project by IBM on Jazz with better Resource Management stuff. It’s part of the replacement suite for Rational Portfolio Manager (RPM).  Should be interesting to see how it ties into the other products (inc. some of the Telelogic ones). I expect this one to be big news – it should be. Gantts, bubble charts, resource utilisation views, agile dashboards etc. will abound. (Now known as Focal Point for Project Management)

Rational Insight – used to be codenamed Vega and is a data warehousing and RTL solution on top of Jazz. Cross project reporting goodness. Of course I’m sure there will also be integration through to the “classic” rational tools. Interestingly I read a bit of blurb recently from somwhere that referred to their old tools as the “classic rational toolset” I wonder if they borrowed that from me 🙂

MCIF – Measured Capability Improvement Framework – It’s been around for a while but with more emphasis from IBM now on practice based process the story between a more practice orientated Rational Method Composer, Health Assessment tools and Self Check tools is a bit tighter.

Telelogic – I expect there to be some announcements about the integration of the Rational and Telelogic brands. Especially around FocalPoint.

I’d also expect some stuff on other Jazz based tools like Requirements Composer, Quality Manager, Ensemble, Governor and stuff like that.

As I said due to other commitments I’m not there myself, but if you are there then please stop by the Ivar Jacobson International stand in the Exhibit Hall downstairs when they let you in. Grab a free beer and talk to my colleagues about how to achieve tangible process improvement with the use of effective practices in a proven framework. Also talk to them about achieving “Agile for Grown Ups” (TM of the MacDaddy) in your organisation. Ivar, Ian Spence, Kurt Bittner are all speaking at the conference and a bunch of other IJIers will be there so go along and say hi.

And ask for a free bag, they’re great for carrying around your exhibit hall swag 🙂

How to avoid Fragile Agile, Flexibility in Context

Microsoft VSTS, Camano and UML

I recently had the pleasure of going to visit the Microsoft Technology Centre to learn about all things MS for software engineering. Having long been a Visual Studio user and a VSTS (Visual Studio Team System) user since it turned up I was really pleased to see VSTS 2008 and some interesting stuff coming in 2010.

VSTS seems to be really maturing and now has a nive new non-sharepoint web UI. It will be interesting to see what happens in terms of Microsoft VSTS vs. IBM Jazz. I’ve written about Jazz before on this blog and haven’t gotten around to a detailed comparison yet but I was excited to see how mature VSTS is now looking and how nice it is to use. It’s designed to make developing easier and use the tools people already have in many cases. For example, using MS Project, Excel, Word, SharePoint etc.

Things of special note were the automated testing support (including coming soon recording and playback of GUIs other than web), the upcoming cool manual test runner, Camano for test management and test execution by proper testers not just developers doing unit tests etc. etc. Also checking out the project + project server for portfolio and project management views was interesting.

What I really really liked are the VSTS 2010 architecture tools. Microsoft has seen the light and embraced UML + DSLs (or DSLs + UML if you prefer) as the pragmatic modelling solution. I really like the idea of being able to do just enough  modelling, using the most appropriate language such as a high level architecture diagram that then imposes constraints on the code through things like check in policies!

I think this stuff is going to be really powerful and I can’t wait to get my hands on it properly (and somehow conjure the time from somewhere) to do some detailed analysis and also a comparison against competing products/toolsets.

Of course if you are using Visual Studio (or Eclipse) you can still use EssWork to use practices and processes directly inside your IDE

EssWork in Visual Studio

EssWork in Visual Studio

Screenshots of new IBM Rational Jazz products

[EDIT: This post is from 2008 if you want a preview of the new 2011 product suite see here]

 

I recently put together a presentation for IJI on IBM Rational Jazz and the new, and future, Jazz -based products. Rather than present bullet points about products I like to show demos where possible and screenshots otherwise as like many people I find that I need to see a tool to gain an understanding of it. This presented me with a bit of a problem because most of these tools aren’t released yet, and some are only ideas from Rational Labs rather than actual listed products. But I managed to get screenshots or at least spy shots for the presentation so I thought I’d share.

You can download the whole presentation here, it’s in PDF form though so you don’t get the animation or Rational Team Concert demo vids (if you’re an IJIer just drop me an email if you want the full demo videos) Download

Here’s some screenshots and spy shots of some of the new tools:

Rational Team Concert

Rational Team Concert (RTC) is a collaborative project execution environment providing source control, work item tracking, build management and reporting capabilities as well as supporting agile planning. RTC is the first Jazz based product and at the moment the best known. The demo includes some early integration between Esswork and RTC.

Early access packages of RTC are available now from jazz.net

Rational Quality Manager

Rational Quality Manager (RQM) is a business-driven software quality portal for people seeking a collaborative and customizable solution for test planning, workflow control, tracking and metrics reporting capable of quantifying how project decisions and deliverables impact and align with business objectives.

RQM should be available around the 7th of July

Rational Requirements Composer

Rational Requirements Composer (RRC) is a requirements definition solution that enables organizations to enhance their requirements processes with easy-to-use elicitation and definition capabilities and provides various visualisation, documentation and collaboration capabilities.

Open Beta pre-registration (Available in July hopefully)


The following are currently Rational Labs projects and may not make future products in their current form

Rational Tempo

Improve estimation through:

  • Tracking probabilities
  • Schedule extrapolation
  • Risk management

Rational Ensemble

Improve team collaboration

  • Awareness of similar work
  • Tracks historic assignments
  • Links team members

There is also business partner collective called IBM Rational Ensemble which is not the same thing as this Rational Labs project!

Rational Governor

Improve Governance

  • Specify Governance Solutions
  • Manage Roles and Decisions
  • Automate processes

Rational Financier

Improve Financial Management

  • Specify Governance Solutions
  • Manage Roles and Decisions
  • Automate processes

6 days to RSDC 2008

Just 6 days to go until the IBM Rational Software Developers Conference 2008. Those of us going fromIvar Jacobson International (IJI) (and there’s a few of us!) had a conference call on Friday to discuss our plan for the Conference. IJI is a silver sponsor this year and as well as our 7 presentations we’re going to be doing something special that will turn all of the conference attendees into R-Heroes 😀

It’s a big secret until the Tuesday of the conference though so I can’t say anything about it here. Make sure you come and visit our stand at booth #713. You can’t miss it, it’s the one at the bottom of the main escalators into the exhibition hall when you’re coming from the hotel lobby. You can come and talk to people like Ivar Jacobson, Ian Spence, Kurt Bittner, Robert Maksimchuk, David West, Eric Naiburg, and a bunch of others, including me of course. We also have two hand held GPS systems to give away if you register at our booth.

There’s going to be a lot of interesting announcements especially around Jazz at the conference, and for business partners there’s going to be a preview this Wednesday – but that will also be secret until the conference! At the conference you’ll be able to see demos of EssWork integrated with Eclipse, Visual Studio Team System or even Jazz Team Concert if you catch me. Our Team Concert integration is likely to be an exciting direction in the future as I think Team Concert is an ideal execution environment for EssUP.

Ivar Jacobson International

RSDC

My first Jazz (Team Concert) Demo

So I just finished my first proper Jazz demo with my favourite customer. I demo’d Team Concert both in Eclipse based on my own process template based on EssUP from IJI and also in my trusty FireFox. We also went and looked at the project dashboard for the Jazz project itself hosted on jazz.net 8)

The best thing about demoing or even just playing with Jazz is how easy it is to setup and play with. The guys in the Jazz development team have done a great job in making it accessible and consumable. You can literally just download the server and client, unzip, run the server through a batch file then start accessing the clients. From download to up and running took me about 3 minutes the first time I tried it. Compare this to wanting to play with something like RPM and the other Rational tools and you’d be banging your head against walls!

Team Concert is a great product – I just want to see the technology integrated into Microsoft Visual Studio. And of course to see what other Jazz tools are going to be announced at the RSDC in a few weeks time.

Here’s what’s happening around Rational Team Concert and Jazz at the RSDC

Check out my preview posts in this blog on what’s coming up a this years RSDC .

Here’s a screen shot of my very important risk list in my test project 🙂

Screenshot of my demo risk list in Jazz Team Concert

(click for full size)

#jazzdev twitter hashtag stats

%d bloggers like this: