Skip to content

Feed aggregator

It’s MAD to Use Discovery to Justify the Solution

Constant Change - Aaron Sanders - Fri, 04/11/2014 - 00:57

Have you ever had an executive, a board member, or some other high-ranking person tell you what to build? How were you able to stand up to them? And keep your job? Decreeing the solution happens with such regularity that my Product Owner course is designed to mimic the situation. During the course, I play […]

The post It’s MAD to Use Discovery to Justify the Solution appeared first on Aaron Sanders.

Categories: Blogs

How Timelines Help Project Managers Track Progress

TargetProcess - Edge of Chaos Blog - Thu, 04/10/2014 - 21:32

… no matter if it’s agile, Scrum, Kanban, SAFe, lean, XP or some mix of these methodologies.

Project managers want to track progress in any software development project, small or large. Sometimes they want to track progress not only in one, but in many projects at a time, and they want to be able to do this fast and conveniently. A timeline is a a visual management tool that helps accomplish this. Let’s take a closer look in which way.

Regardless of the software development methodology used, projects are meant to be completed. Always. However, at times project managers feel tied to by-the-book canons of Kanban (which is viewed by many as the best visual management system there is, but allows no time-boxing), or of Scrum (which has time-boxed iterations and releases but falls short with the visual part).  What if a project manager wants to get the best both of Kanban, as a visual board, and of Scrum? Obviously, if  projects have deadlines, one can not live by the classical pull and flow formula of Kanban only.

For progress tracking, Scrum allows only one visual report, called the burn down chart. When we want to keep an eye only on one project, such a report would probably be enough:

burn down chart

However, if many projects need a watchful eye of this one person, squeezing many burn down charts on one screen will not make the job any easier. Imagine how hard it would be to make sense of those charts arranged in a grid-like fashion. A project manager will likely want to see how projects correlate with each other, as it might be that the timing in one project affects the other projects. In this case, it would be sensible to drift away from the prescribed tool set of Scrum, and venture into the unknown land, fearlessly mixing sense of time (Scrum) with a neat visual representation (Kanban).  That’s how this stylized mix looks as a timeline view for 2 projects (click to enlarge):

Timelines tracking for many projects

Work items in several projects on a timeline in Targetprocess 3

Such a visualization will fit a dozen projects into one screen, showing a project manager how all of them correlate with each other. This timeline has something more in store, than merely registering projects’ health in terms of time. Unlike in the burn down chart, one will be able to zoom in on any work item in any project and see what’s going on. This timeline bears a certain resemblance to Kanban board, because bugs, user stories and features are presented as cards stretched over time. At the same time, as in Scrum, the forecast will update depending on velocity (if one needs it done that way), and the timeline will show the latest status. If a project manager is in charge of several teams, that do several projects, this timeline will show when one can expect these projects to be completed:

Timeline-by-Team

A teams/projects timeline in Targetprocess3

A yet another snapshot of tracking progress with timeline. Here we have Features and User Stories (as in Scrum):Features visualized on a timeline in Targetprocess 3

User Stories inside Features on a timeline in Targetprocess 3

When someone pledges allegiance to Scrum, timelines offer a way to track progress with many iterations. Same for many releases, as opposed to clicking through single release and iteration plans one by one.
Track User Stories by Iteration on timeline in Targetprocess 3

Tracking progress/status for several iterations on a timeline in Targetprocess 3

As we can see, it pays off when we forget about practices that seem to be rigidly prescribed by a methodology. A methodology is nothing, unless it works for our purposes, and helps us do the work better and faster. These timelines can not be, scholastically, classified as belonging solely to Scrum as a method, or to Kanban. While classical Scrum only offers burn down charts for progress tracking, this is not enough when people work with many projects and want to keep their hand on the pulse of all of them. Classical Kanban, in its turn, allows no time tracking as a methodology (and as a visual board). I’m not even sure if what they call “Scrumban” would accommodate this representation with timelines. Frankly, I don’t care how it’s called. I only care if it works for project managers or product owners, or any other folks in charge of projects, and helps them do their work well. And I wish that people were more of a freethinkers, unpinning themselves from the methodology labels.

Care to take a look where one can afford being a freethinker and still work as a project manager? With no strings attached to Kanban, or Scrum, sticking only to common sense and convenience of work? It’s here.

Related articles:

How Visualize: Board, List or Timeline?

Why Visualize?

Categories: Companies

Without Simplicity, There Is no Agility

Scrum Expert - Thu, 04/10/2014 - 16:15
Rich Hickey has stated “The simpler solution is going to kick your butt”, Russ Miles would go further, “The simpler solution is already kicking your butt; no one is more agile than the teams developing with simplicity in mind”. But what makes a complex solution and why is its complexity such a confining force on your ability to be agile and respond to market needs? In this talk Russ Miles, principal consultant at Simplicity Itself, will share the hard lessons learned while designing a real world application that, through applying practical ...
Categories: Communities

Agilia, Budapest, Hungary, June 11-13 2014

Scrum Expert - Thu, 04/10/2014 - 15:59
Agilia is a three-day conference focused on Agile software development. The theme of this edition is the role of product owner and product management in Agile: creating vision, designing product, managing teams, role of Product Owner, engagement of customers and users, creativity and management of innovations. Use cases. In the agenda up you can find topics like “Gamified Retrospective – how to use it to become product/customer-centric team and improve communication with Product Owner?”, “Setting a Good Example: Improving your SBE, BDD and ATDD artefacts”, “The Product Owner’s Work With Specifications”, ...
Categories: Communities

Yet Another $163B Waterfall Disaster

Scrum Log Jeff Sutherland - Thu, 04/10/2014 - 15:32
The F-35 Is Worse Than HealthCare.govVocative.com - Eric Markowitz, 25 Mar 2014The $400 billion jet project is the most expensive weapon the Pentagon has ever purchased. It's also seven years behind schedule and $163 billion over budget ...And here’s the kicker: According to a 41-page Government Accountability Office (GAO) report released yesterday, the F-35, which has yet to fly a single official mission, will stay grounded for at least another 13 months because of “problems completing software testing.”
What GAO Found Delays in developmental flight testing of the F-35’s critical software may hinder delivery of the warfighting capabilities the military services expect. F-35 developmental flight testing comprises two key areas: mission systems and flight sciences. Mission systems testing verifies that the software-intensive systems that provide critical warfighting capabilities function properly and meet requirements, while flight sciences testing verifies the aircraft’s basic flying capabilities. Challenges in development and testing of mission systems software continued through 2013, due largely to delays in software delivery, limited capability in the software when delivered, and the need to fix problems and retest multiple software versions. The Director of Operational Test and Evaluation (DOT&E) predicts delivery of warfighting capabilities could be delayed by as much as 13 months.
Categories: Blogs

Add-Ons Support Custom Reporting & Security Controls

LeanKit Portfolio Edition Add-Ons help you successfully meet your organization’s requirements for additional security controls and highly customized reporting. Now available to our Portfolio Edition customers, Add-Ons offer three ways to further customize your LeanKit experience: Private Cloud offers a virtual, dedicated environment for additional security controls, improved performance and custom backups. Custom Reporting Database includes […]

The post Add-Ons Support Custom Reporting & Security Controls appeared first on Blog | LeanKit.

Categories: Companies

12 Tips for Product Owners who want better performance from their Scrum Teams

Scrum Breakfast - Thu, 04/10/2014 - 12:16
As Product Owner, I want better performance from my Scrum team.

Jeff Sutherland observed that teams in the 95th percentile were 10 times more productive than average teams (50th percentile). He created Scrum to enable all teams to recreate those conditions that enable top performance.

How do you really get better performance from your Scrum team? It’s not about cracking the whip. That is usually counterproductive. It’s about creating the right conditions. In my Product Owner course, we look at the many tools available to Product Owner to enable better and quicker results from the development teams. On the saat-network company site, I have posted 12 tips (well, 13 actually) for how Product Owners can improve Scrum Team performance. Read the whole article...
Categories: Blogs

You do it, you own it.

Growing Agile - Thu, 04/10/2014 - 09:21

Anyone who has been trained by us or coached by us has heard this statement. I’m not sure if we stole it from someone else – the possibility is high (apologies for not crediting!).

YouDoIt 300x280 You do it, you own it.

The next time you find yourself complaining about someone – think of this statement. Are you doing something that you expect that person to then own?  Here is a simple example:

Are you a ScrumMaster who updates the task board to keep it up to date and neat?

Who is the board for? The team. What is the board for? The team to get on the same page and see if they are on track to meet their commitment. So who should be updating the board? The team. You do it, you own it.

I find myself thinking about this statement every time I’m annoyed by someone not doing something I expect. Most times I am the cause of my problem. I am the one that needs to step back to allow that person to step up. And that person is not going to step up automatically. They have probably come to expect you will be doing something. You need to let them know you are not doing it anymore and that it is their responsibility. And then you might need to remind them (not force them).

Recently I was upset with my gardener. He seemed to do nothing without me giving him detailed instructions, and on the days I didn’t he would just leave early. I sat him down and explained that I don’t want to give him detailed instructions, he needs to see my garden as his own and maintain it. I stepped back. And he owned it. Oddly enough, friends of mine who use this same gardener are still complaining that they need to micro-manage him. I told them my story, but they are unwilling to let go. I guess all change takes time.

What are you owning that you shouldn’t be? How can you let go?

Remember: You do it, you own it.

 

 

Categories: Companies

Köstlichkeiten und Kostenloses im Alltag eines Unternehmensberaters

Scrum 4 You - Thu, 04/10/2014 - 07:34

Es ist Donnerstag. Böse Zungen sagen auch gerne mal Beraterfreitag. Aber das perlt ab.
Ich habe eingecheckt und befinde mich im Abflugterminal des Flughafens. In dieser speziellen Ausgabe von Flughafen hat sich ein besonders schlauer Fuchs gedacht, es sei geschickt, die kleinen gelben Automaten, an denen man Gefrierbeutel für den sicheren Transport 10x100ml hochexplosiver Flüssigkeiten erwerben kann, 20 Meter hinter der Taschen- und Personenkontrolle aufzustellen. Dann können die Passagiere die Flüssigkeiten, die sie vor dem Sicherheitscheck schon längst entsorgen mussten, endlich in die Plastiktüten packen. Toll!

Mein Tag verlief so lala – der Kunde wusste es mal wieder besser als ich und stellte mich dann gleich noch zusammen mit „dieser ganzen Beraterbande“ grundsätzlich in Frage. Widerstand zwecklos. Definitiv Grund genug, sich mit dem Gedanken an ein kühles Bier anzufreunden. Ich überschlage kurz das verbleibende Reisebudget und stelle fest, dass ich bei Verzehr eines Flughafenbieres wohl noch 4,50 Euro drauflegen müsste, da ich ja bereits heute morgen unbedingt das S-Bahnhof-Ciabatta und den korrespondierenden Kaffee beanspruchen musste. Mittags musste es dann selbstverständlich auch das Mittagsmenü der örtlichen Crossover-Kitchen sein, weil der Kollege, mit dem dieses eine superwichtige Thema besprochen werden wollte, eben dort schon einen Tisch reserviert hatte. Und das im schwäbischen Teil Baden Württembergs – also keine Chance, eingeladen zu werden.

Zurück ins Jetzt. Ich könnte natürlich auf ein kleineres Bier ausweichen…Naääh komm, das würde den Literpreis schlagartig dreistellig werden lassen. Außerdem ist heute Beraterfreitag. Ich entscheide mich für den halben Liter Weißbier vom Fass. Hmmm, wie es so schön in der Abendsonne schimmert, die hinter der Landebahn untergeht. Ich mache noch schnell ein Foto mit meinem inneren Auge und reiße sogleich der Bedienung den Kelch aus der Hand. Dabei verschütte ich etwas von dem kostbaren Gut auf den bereits klebrigen Tresen. Bin wohl nicht der erste halbverdurstete Hobbybierologe heute.

Da vorne am Fenster ist noch ein Plätzchen frei. Ich setze mich und hole meinen Laptop raus. Es ist noch etwas Zeit und ich überlege, einen kleinen Beitrag für unseren Blog zu schreiben. Thema: such dir was aus. Na gut, schreib ich halt was über Leute am Flughafen. Ha! Direkt neben mir hat jemand sein Bier nicht ausgetrunken. Das ist ja noch dreieurofünfzig voll! Also entweder, es war ihm wirklich egal, oder demjenigen ist wieder eingefallen, dass es ein Flughafen mit angeschlossener Kneipe ist und nicht umgekehrt. Oder ihr? Gibt es Frauen, die am Flughafen einen halben Liter Weißbier bestellen und dann die Hälfte zurücklassen? Unwahrscheinlich. Derart leichtsinnig sind doch bestimmt nur Menschen die es gewohnt sind, von einer Sekunde zur maximal übernächsten zu denken (das Bier im 30 Minuten später startenden Flugzeug ist kostenlos!).

Ein paar Meter weiter, eine Tafel: „Jede Pizza nur 10 Euro!!“ Wow, ich bin kurz davor zu Hause Bescheid zu sagen, dass ich im Begriff bin, das Schnäppchen der Woche zu schlagen und zu fragen, ob ich vielleicht noch eine zweite mitbringen soll. Ich schaue mich um, um zu sehen, ob sich dieser Anbieter eventuell in einem erbitterten Preiskampf mit unzähligen weiteren Pizzabäckern befindet. Natürlich nicht. „Do people at the airport know what the prices are at any other place in the world?“, fragte einst der amerikanische Comedian Jerry Seinfeld. Nun ja, ich habe vor ein paar Minuten ein Bier für 6,90 Euro gekauft – bin also Teil des Problems. Der randvollen Auslage nach zu urteilen hat die Pizza heute auch schon einmal 15 Euro gekostet und nun wird voller Enthusiasmus diese Wahnsinnsreduktion beworben. Ausgang ungewiss.

Gegenüber steht das Regal mit dem Zeitschriftenangebot der Airline. Eine Ausgabe des PLAYBOY mit jugendfreiem Einband – zu sehen ist das Bild einer verlassenen Karibikinsel in Häschenkopfform aus der Vogelperspektive – liegt dort aus. Und, was ist das? Ein Mittvierziger mit seinem maximal 10-jährigen Spross geht schnurstracks darauf zu, lenkt den Jüngsten noch kurz mit einer SportBild, auf deren Cover Manuel Neuer gerade irgendwen anbrüllt ab, um dann beherzt ins obere Regal zu greifen. Bold move, daddy! Was wohl Mama dazu sagen würde? Kriegt sie ja nicht mit. Und wenn doch, wird auch er behaupten, es ginge ihm lediglich um die super Reportagen.

Oh, der Flug wird aufgerufen. Für’s Priority Boarding habe ich noch nicht genügend Meilen – Anfänger! Aber ich habe noch etwas Zeit, um den Passagieren bei ihrer besten Engländer-Imitation zuzusehen und die restlichen 2,90 Euro auszutrinken. Nicht dass sich am Ende jemand über mein halb volles (!!) Glas lustig macht. Wie sie sich alle brav anstellen, obwohl sie doch noch laaaange nicht dran sind. Vielleicht sollte ich mal hingehen und darauf aufmerksam machen, dass sich die Sitzplatznummern auch in den verbleibenden 30 Minuten nicht mehr ändern werden. Und „ja, Sie werden mit sehr sehr großer Wahrscheinlichkeit der erste auf dem ausschließlich für Sie reservierten Platz sein“. Mich beschleicht der Verdacht, es könnte sich um traumatisierte Bahnkunden handeln, die auch Angst davor haben, nachts aus ihren Betten geschmissen zu werden, weil sie das „ggf. freigeben“-Schild einfach ignoriert haben. Ich beobachte das Schauspiel noch eine Weile und verpasse um ein Haar noch meine Boarding-Gruppe.

Im Flugzeug komme ich mit meinem Sitznachbarn ins Gespräch. Er erzählt mir davon, wie er aufgrund seiner Leibesfülle schonmal aus den komfortablen Sitzen vor den Notausgängen komplimentiert wurde. „Jaja, Alte, Kinder und Dicke haben keine Chance“, sagt er. Und ich weiß in dieser Situation nicht, wer mir mehr Leid tut: dieser arme Kerl, dem seine stattliche Physis so deutlich vor Augen geführt wurde, oder ich, der auf einmal mit der Hälfte des bezahlten Sitzplatzes auskommen muss. Ich versuche trotzdem, es mir ein bisschen bequem zu machen. Über die Lautsprecher hauchen Simply Red: „I wanna fall from the stars“ in die Kabine. Bei dem Gedanken an den Marketingmitarbeiter mit dem Einfühlvermögen einer Tiefkühltruhe, der tagelang gegrübelt und letztlich beschlossen hat, dass nur genau dieser der richtige Song vor jedem Take-off sein kann, lasse ich mich langsam in den Schlaf rütteln. Das kostenlose Bier werde ich natürlich verpassen.

Related posts:

  1. Die Stiftung Bärenherz bekommt den Bambi
  2. Scrum Lollipops
  3. ScrumMaster Checkliste

Categories: Blogs

At Long Last, SonarQube Is a True Polyglot

Sonar - Wed, 04/09/2014 - 19:52

Good taste prevents me from embedding a trumpet fanfare into this post, but it does seem warranted. After all, with the release of SonarQube version 4.2 last week, SonarSource has finally implemented the all-time highest voted ticket in the SonarQube backlog: multi-language analysis.

Now, at last, you’ll be able to see the Java or C# in your web project side by side with its JavaScript and HTML. Finally, without the Views plugin, you can see aggregate measures across the multiple technologies in a single project for a unified quality assessment. Cue the angel choir.

Okay, now for a tiny dose of reality. The ability to participate in a multi-langauge analysis must be implemented in each language plugin separately, so it may be a while before your project is fully inspected with just one analysis. But very soon you’ll be able to remove the sonar.language property, and SonarQube will automatically analyze every file with an extension it recognizes.

Actually, if even one of the languages in your project already supports multi-language analysis, you can go ahead and drop the sonar.languages property and SonarQube will do its multi-language thing as much as it can. Multi-language analysis has already been released in Android, Flex, Groovy, Java, JavaScript, PHP, PL/SQL, and RPG. It’s scheduled for ABAP, C/C++, C#, COBOL, PL/I, Python, VB6, and VB.NET.

Of course, if you don’t want to turn on multi-language analysis yet, then all you have to do is retain the sonar.languages property, and you’ll get the legacy behavior: analysis only of the single language you specified.

Categories: Open Source

A Primer for Smart Change Agents

TargetProcess - Edge of Chaos Blog - Wed, 04/09/2014 - 19:31

Have you ever tried to act as a change agent in your company, and bumped into obstacles that seemed to be blocking the change? There’s no such software development organization in the world that allows no space for some sort of adjustment. Whether you hit a dead end as a change catalyst, or succeed will mostly depend on the following:

If the change you have in mind is trending — agile adoption can be a good example — then you’re lucky. One will have to apply little effort, because agile has gone mainstream, and there’s lots of information out there as to why and how agile is supposed to be good for a company. In this case, your intrinsic motivation as a change agent syncs with the extrinsic sweeping wave. Not only your organization, but many others will find it easy to jump on the same bandwagon. The change will then happen smoothly as in a domino effect, started by one easy move of a finger. With each new organization adopting agile, the chain extends to embrace more and more companies.

The second scenario for driving change is quite the opposite one. It might be related to a not that obvious trend, but you somehow feel that the way stakeholders treat this thing is in need of a major overhaul. This scenario involves repeating it over and over again that the product that your company develops needs to have a more intuitive user interface. You’d run into inertia as the stakeholders would probably say that all is fine with the user interface, because customers seem to be content with what they have, and revamping “the face” of the software involves some heavy changes in the code, etc. Unless you have some compelling proof that current customers and prospective clients find the user interface confusing, or even walk away, the effort required to boost the change in the attitude by pushing it down the pipe would be akin to that of a weightlifter doing 3 consecutive clean&jerk attempts.

The third scenario for driving change is not as easy, as scenario 1, and not as super-taxing, as scenario 2. It’s more related to an innovative change. Say, you’re still defending a difficult case, such as  improving user experience in enterprise software. There’s no domino effect, and no “join the others” feel in the air. What can one do to trigger this change? How to convince the executives that the time will come when the current clients will not be happy with the bulky UI? The incentive for change in this case should be supported by good old research and analysis methods. Instead of tearing your muscles as with weightlifting (or, rather, breaking your tongue), one has to turn on the head and do a research, taking advantage of  the big data that is, hopefully, available in any company, to make the need for a change appear compelling. If a hollow call to action is rendered into the language of pragmatism, the actual “raw muscle” effort of arguing wouldn’t take more than that of this little girl who uses the power of her opponent to win.

the aikido girl

 

Related articles:

Back to the Future of Agile Software Development

The Origins of Big Data Trend

Categories: Companies

OpenSSL, HeartBleed And Ubuntu: The Version #’s Don’t Match.

Derick Bailey - new ThoughtStream - Wed, 04/09/2014 - 15:35

I spent a few hours last night patching OpenSSL on my servers for this site, WatchMeCode, etc. It was a pain. The worst part about it, though, was not recompiling things and actually getting the servers patched. The worst part was all the confusion about version numbers. 

NewImage

HeartBleed

If you haven’t heard of it yet, you need to get yourself over to HeartBleed.com right now. Basically, if you’re using OpenSSL (and who isn’t?) then your servers are vulnerable to attack and having your SSL keys stolen. You need to fix this ASAP by updating your OpenSSL version, recompiling anything that is built against OpenSSL and re-issuing your SSL certificates with keys. 

Yeah, it’s a pain. But it’s necessary.

The Version Problem

The real problem I ran in to last night was version numbers, like I said.

When you look around the internet, you’ll see that everyone says to update OpenSSL to version 1.0.1g – note the “g” – this is the important bit. Everyone says that if you have anything below this letter, then you’re vulnerable. Of course my servers were vulnerable at v1.0.1c. 

Except…

I’m running Ubuntu for both DerickBailey.com and WatchMeCode.net and when I updated my OpenSSL build, I didn’t get v1.0.1g installed. I ended up with v1.0.1e – and a full on panic attack following that. How am I supposed to get v1.0.1g when apt-get only gives me v1.0.1e?!

The Real Version Number

It turns out Ubuntu didn’t update the letter at the end of the version number, when they applied the patch for v1.0.1… or something like that. I’m still not 100% clear on this. But here’s what I do know:

If you are on Ubuntu and you follow all the right steps to update OpenSSL, you will end up with v1.0.1e – and that’s ok.

The thing that you need to check is the LibSSL version, which can be done like this:

The output I get on my servers is:

The important thing to note, here, is the “Version” number at line 8: 1.0.1e-3ubuntu1.2

According to the Ubuntu OpenSSL page, this is the version number that has the HeartBleed patch.

Get this version # on your Ubuntu servers, and you’re good to go.

Check The Patch

As Dan Tao points out in the comments below, this is a frustrating situation trying to figure out if you are safe or not. In the case of Heartbleed, there are tools the check the actual vulnerability and not just the version number checks, hoping you have the right version number. I used http://filippo.io/Heartbleed/ to check my servers and got back green reports saying I’m good to go, after doing the updates.

      
Categories: Blogs

Calculating Velocity FAQ

Agile Coaching - Rachel Davies - Wed, 04/09/2014 - 13:41

Sometimes people get confused about velocity and edge cases of what gets counted or not. It doesn't matter greatly except it helps to do this consistently over time. I wrote a FAQ for our teams because these edge cases come up infrequently and developers often don't remember what rule to apply. I'm sharing a slightly abbreviated version of our Velocity FAQ as an illustration of working agreements around this. Your team might choose to do this differently and that's okay.

The purpose of this FAQ is to clear up any confusion about counting team velocity before story prioritisation.  We average our velocity over past 3 iterations to level things out. Also we make adjustments if we know that team members will be on holiday during the next iteration.

1) Should I partially count a story if we did some work on it but it hasn’t been finished? No

2) Should I count a story if the code is all live but we haven’t had the story approved by stakeholders or sent out the release email? No because sometimes more work is discovered through doing this.

3) If we extended or shortened the iteration should I adjust the velocity to match the usual iteration length? Yes

4) If the story was signed off and complete and then later we discover it has problems, Should we add another story for the extra work to fix it? No. If the implementation has a bug or we broke or clearly failed to deliver on the story we will fix it without an additional story, even if it was accidentally signed off.

5) My stakeholder says that she really wanted something extra than the story we’ve developed. Do we expand the story to do the extra things? No, this can be a new story if wasn’t agreed with other stakeholders. It helps to note the acceptance criteria clearly in the story and check them with stakeholders before starting work on development.

6) We had to do some story work in an iteration that wasn't planned in because the story was not finished from a previous iteration (due to any reason including dependency on other team). What do we do?

Step 1: Send stakeholder email or let them know in planning that this is happening and may impact stories currently lined up for current iteration.

Step 2: Fix the problem and then count the full estimate of the original story when its finished in the current iteration

Do not create an extra story for the remainder of the work and estimate it as extra work as this will result in artificially inflating the velocity.

7) We did an extra piece of work it took about 2 points worth, it was never planned in or estimated can I count it now because we did do it?

No. New pieces of work even if they come up mid-iteration, even if they are ultra urgent and should be done immediately should always be discussed, broken down and estimated BEFORE we start work on it. We need to warn stakeholders we are putting it in. So this situation should never ever arise that you only estimate a story after you completed it! If it does happen you should not count it. and discuss what went wrong in the process.

 

Categories: Blogs

Manage Your Job Search is Out; You Get the Presents

Johanna Rothman - Wed, 04/09/2014 - 13:28

I am happy to announce that Manage Your Job Search is available on all platforms: electronic and print. And, you get the presents!

For one week, I am running a series of special conference calls to promote the book. Take a look at my celebration page.

I also have special pricing on Hiring Geeks That Fit as a bundle at the Pragmatic Bookshelf, leanpub, and on Amazon. Why? Because you might want to know how great managers hire.

Please do join me on the conference calls. They’ll be short, sweet, and a ton of fun.

Categories: Blogs

Agile Planning Fundamentals with TeamStart

Rally Agile Blog - Wed, 04/09/2014 - 13:00

Agile Planning: it’s not an oxymoron.

On Tuesday, April 15, our TeamStart webinar series will answer your questions about Agile Planning. Whether you’re just getting started with Agile or consider yourself an expert, join us to get and give good Q+A. We'll talk about making and keeping commitments, using tracking and metrics to predict delivery, and planning levels with time horizons.

Here are a few questions from past Agile Planning webinars:

  1. How does the product owner role fit into Agile Planning?
  2. Are there guidelines for setting up good planning estimates?
  3. If the team is not able to complete a story before the iteration ends,  or if a critical change is requested, how do we respond?

From an Agile Planning perspective these are related questions. Let’s take a look at the answers to see why.

1. How does the product owner role fit into Agile planning?

Answer:  A product owner initiates and translates the product roadmap into a manageable product backlog. He or she participates in daily standups and manages the product dashboard. The product owner communicates with internal teams and the product manager, to understand the features and requirements and support the release planning and sprint planning exercises. It’s also the product owner’s job to allow the team to manage itself and understand Agile estimation approaches.


Screen Shot 2014-04-08 at 4.48.11 PM.png
5 Levels of Agile Planning: From Enterprise Product Vision to Team Stand-up, Hubert Smits

2. Are there guidelines for setting up good planning estimates?

Answer: The principal guideline when estimating user story size is to employ a comparative approach. For example, rather than estimating in absolute terms, such as hours or days, you use abstract "story points" to compare the sizes of work items with past work the team has completed. Using an example the team is already familiar with helps you establish a baseline. By contrast, task size should be estimated in hours, since a task should be small enough that it doesn’t span more than a working day (about six hours.)

The estimation of stories done in abstract values happens continuously, and well before iteration planning; whereas task estimation is done once during the iteration planning meeting, immediately before the team votes to commit to the proposed work.

3. If the team is not able to complete a story before the iteration ends, or if a critical change is requested, how do we respond?

Answer: When the scope of a user story becomes larger -- either because you underestimated its scope or because a change request comes in -- you should finish the current iteration as planned, and re-plan the remaining iterations in the release. In a situation where the team still has a fixed delivery date, you must work with the business to determine what other committed-to features or functions may be sacrificed to continue to work within the timebox limits. Teams should review burndown charts daily, so that you can spot problems early and mitigate them. When it’s necessary to re-estimate and re-prioritize features, you should signal to the business and stakeholders as soon as possible.

I bet you have at least three questions about Agile! Learn more about Agile Planning. Join Tuesday’s TeamStart webinar.

Rob Ward
Categories: Companies

Schätzt du noch oder baust du schon?

Scrum 4 You - Wed, 04/09/2014 - 07:32

Im einem Projekt verlangte das Management für den kommenden Release, einmal zu schätzen, wie viele Bearbeitertage für die zu liefernde Menge an Funktionalitäten wohl benötigt würden, um einen Forecast abgeben zu können. Die Manager wollten das, weil sie mit der Storypointschätzung per Magic Estimation nicht zufrieden waren. Denn die sagte aus, dass das Scrum-Team bis zur Deadline bei der aktuellen Velocity von 40 Storypoints lange nicht das liefern würde, was eigentlich erwünscht war.

Alte Schule. Statt anzufangen, werden nun viele Arbeitsstunden darauf verwendet, vorherzusagen, wie lange es wohl dauern wird mit der Lieferung. Zeitverschwendung, so meine Hypothese. Zahlen aus 2012 belegen: 74% der IT-Projekte werden in der Zeit überschritten, 59% in den Kosten und 69%, was die Anzahl der gelieferten Features angeht. (Quelle: Standish Group 2013, S.2) Warum also viel Zeit auf die Schätzung verwenden, wenn wir immer wieder sehen, dass sie ohnehin mehr als ungenügend ist?
Ganz einfach: Die Schätzung wird verlangt. Punkt. Eines jedoch sollte die Erkenntnis aus diesen Erfahrungen sein: Lieber mehr Zeit für die Umsetzung verwenden als auf das stunden- oder tagelange Schätzen.

Natürlich gibt es in einem Unternehmen immer Interessengruppen, die Ressourcen und Kosten planen müssen. Aber uns sollte klar sein, dass wir unser „Geschätze“ der Dauer und unsere Methoden stark überdenken müssen. Vor allem auch die Frage, wer denn schätzen sollte. Im konkreten Fall entschied man sich dafür, pro Story und Thema den jeweiligen Experten die Dauer der erwarteten Arbeit schätzen zu lassen. Gefährlich, sage ich, und möchte hiermit auf das Buch „Die Weisheit der vielen“ von James Surowiecki verweisen. Darin behauptet der Autor, dass die Masse stets besser entscheidet als ein Einzelner: „Die Masse ist dumm, dumpf und gefährlich. Dieses verbreitete und von Wissenschaftlern gestützte Urteil ist falsch. Wahlumfragen, Pferdewetten, der Publikumsjoker bei Günther Jauch, Google oder Millionen Steuerzahler belegen: Die Menge entscheidet in der Regel intelligenter und effizienter als der klügste Einzelne in ihren Reihen. Ihre Problemlösungen greifen besser als die von Experten. Vorausgesetzt, jeder Einzelne denkt und handelt unabhängig, die Gruppe ist groß und vielfältig, und sie kann darauf vertrauen, dass ihre Meinung wirklich zählt.“ (aus dem Klappentext)

Prompt versuchte ich nun, Surowieckis Vermutungen in einem kleinen Experiment zu beweisen, um die Schätzweise im Projekt überdenken zu lassen. Ich ließ von jedem im Team schätzen, wie viele orange Bälle in dem Sack waren, den ich mitgebracht hatte. Die Wahrheit lag bei 101 Bällen. Das wusste außer mir jedoch niemand. Die kleinste Schätzung lag bei 50, die höchste (im übrigen von einem Experten für Zahlen) lag bei 150. Im Mittelwert schätzte das Team den Inhalt auf 96 Bälle. Ein beeindruckendes Ergebnis, das erstaunlich nahe an der Realität von 101 lag und die Theorie Surowieckis zumindest unterstützt.

Eine Gruppe von Menschen (je größer desto besser) schätzt immer genauer als der klügste Einzelne.
Genau das ist der Grund dafür, warum der Publikumsjoker bei „Wer wird Millionär“ in den meisten Fällen so zuverlässig funktioniert.
Auch dafür, warum eine Gruppe von Experten mit je nur einem Tipp es 1968 schaffte, den Standort des im im Atlantik havarierten U-Bootes “Skorpion” auf 75 Meter genau zu ermitteln.

Bei all diesen plakativen und hochinteressanten Beispielen erinnern wir uns daran, worum es geht: Mehr Zeit in die Umsetzung als in das aufwändige Schätzen zu stecken.

Bleibt nur noch die Frage: „Schätzt du noch, oder baust du schon?“

Related posts:

  1. …denn wenn Anna größer als Tom ist und Tom größer als Friederike…
  2. Schätztauchen
  3. Die Weisheit der Vielen

Categories: Blogs

Assembla's reaction to the SSL security vulnerability "Heartbleed"

Assembla Blog - Tue, 04/08/2014 - 20:38

heartbleedThe Internet was surprised recently by a bug in the OpenSSL software, called "Heratbleed," that might allow an attacker to see your HTTPS traffic including your password on a Web login form.  You can read about some of the technical details regarding "Heartbleed" here and the OpenSSL 1.0.1g fix here.

We updated the Assembla servers to remove the vulnerability within a few hours of being notified about a fix. Our acceleration provider, Edgecast, had not yet updated their servers with the fix. This extended the time that Assembla users were exposed to the vulnerability for a few more hours. We had turned off Edgecast, causing some pages to render more slowly, until Edgecast's servers were updated. Everything has since returned to normal.

Protect Yourself!
  • It is recommended that you reset your Assembla password. You can do so using the password reset form
     
  • If you use API keys or tokens, we recommend that you reset your API keys or tokens.
     
  • If you use the FTP tool, we recommend that you reset your server login credentials and update these credentials in Assembla's FTP tool.

If you have any questions or concerns, please do not hesitate to contact us

Categories: Companies

Using AutoMapper to perform LINQ aggregations

Jimmy Bogard - Tue, 04/08/2014 - 18:41

In the last post I showed how AutoMapper and its LINQ projection can prevent SELECT N+1 problems and other lazy loading problems. That was pretty cool, but wait, there’s more! What about complex aggregation? LINQ can support all sorts of interesting queries, that when done in memory, could result in really inefficient code.

Let’s start small, what if in our model of courses and instructors, we wanted to display the number of courses an instructor teaches and the number of students in a class. This is easy to do in the view:

@foreach (var item in Model.Instructors)
{
    <tr>
        <td>
            @item.Courses.Count()
        </td>
    </tr>
}
<!-- later down -->
@foreach (var item in Model.Courses)
{
    <tr class="@selectedRow">
        <td>
            @item.Enrollments.Count()
        </td>
    </tr>
}

But at runtime this will result in another SELECT for each row to count the items:

image

We could eager fetch those rows ahead of time, but this is also less efficient than just performing a SQL correlated subquery to calculate that SUM. With AutoMapper, we can just declare this property on our ViewModel class:

public class CourseModel
{
    public int CourseID { get; set; }
    public string Title { get; set; }
    public string DepartmentName { get; set; }
    public int EnrollmentsCount { get; set; }
}

AutoMapper can recognize extension methods, and automatically looks for System.Linq extension methods. The underlying expression created looks something like this:

courses =
    from i in db.Instructors
    from c in i.Courses
    where i.ID == id
    select new InstructorIndexData.CourseModel
    {
        CourseID = c.CourseID,
        DepartmentName = c.Department.Name,
        Title = c.Title,
        EnrollmentsCount = c.Enrollments.Count()
    };

LINQ providers can recognize that aggregation and use it to alter the underlying query. Here’s what that looks like in SQL Profiler:

SELECT 
    [Project1].[CourseID] AS [CourseID], 
    [Project1].[Title] AS [Title], 
    [Project1].[Name] AS [Name], 
    (SELECT 
        COUNT(1) AS [A1]
        FROM [dbo].[Enrollment] AS [Extent5]
        WHERE [Project1].[CourseID] = [Extent5].[CourseID]) AS [C1]
    FROM --etc etc etc

That’s pretty cool, just create the property with the right name on your view model and you’ll get an optimized query built for doing an aggregation.

But wait, there’s more! What about more complex operations? It turns out that we can do whatever we like in MapFrom as long as the query provider supports it.

Complex aggregations

Let’s do something more complex. How about counting the number of students whose name starts with the letter “A”? First, let’s create a property on our view model to hold this information:

public class CourseModel
{
    public int CourseID { get; set; }
    public string Title { get; set; }
    public string DepartmentName { get; set; }
    public int EnrollmentsCount { get; set; }
    public int EnrollmentsStartingWithA { get; set; }
}

Because AutoMapper can’t infer what the heck this property means, since there’s no match on the source type even including extension methods, we’ll need to create a custom mapping projection using MapFrom:

cfg.CreateMap<Course, InstructorIndexData.CourseModel>()
    .ForMember(m => m.EnrollmentsStartingWithA, opt => opt.MapFrom(
        c => c.Enrollments.Where(e => e.Student.LastName.StartsWith("A")).Count()
    )
);

At this point, I need to make sure I select the overloads for the aggregation methods that are supported by my LINQ query provider. There’s another overload of Count() that takes a predicate to filter items, but it’s not supported. Instead, I need to chain a Where then Count. The SQL generated is now efficient:

SELECT 
    [Project2].[CourseID] AS [CourseID], 
    [Project2].[Title] AS [Title], 
    [Project2].[Name] AS [Name], 
    [Project2].[C1] AS [C1], 
    (SELECT 
        COUNT(1) AS [A1]
        FROM  [dbo].[Enrollment] AS [Extent6]
        INNER JOIN [dbo].[Person] AS [Extent7]
            ON ([Extent7].[Discriminator] = N''Student'')
            AND ([Extent6].[StudentID] = [Extent7].[ID])
        WHERE ([Project2].[CourseID] = [Extent6].[CourseID])
            AND ([Extent7].[LastName] LIKE N''A%'')) AS [C2]

This is a lot easier than me pulling back all students and looping through them in memory. I can go pretty crazy here, but as long as those query operators are supported by your LINQ provider, AutoMapper will pass through your MapFrom expression to the final outputted Select expression. Here’s the equivalent Select LINQ projection for the above example:

courses =
    from i in db.Instructors
    from c in i.Courses
    where i.ID == id
    select new InstructorIndexData.CourseModel
    {
        CourseID = c.CourseID,
        DepartmentName = c.Department.Name,
        Title = c.Title,
        EnrollmentsCount = c.Enrollments.Count(),
        EnrollmentsStartingWithA = c.Enrollments
            .Where(e => e.Student.LastName.StartsWith("A")).Count()
    };

As long as you can LINQ it, AutoMapper can build it. This combined with preventing lazy loading problems is a compelling reason to go the view model/AutoMapper route, since we can rely on the power of our underlying LINQ provider to build out the correct, efficient SQL query better than we can. That, I think, is wicked awesome.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Categories: Blogs

Management and Change: Avoiding the Rocks

TV Agile - Tue, 04/08/2014 - 18:10
Management and change are key concepts to successfully run businesses on the 21st century.The Lean Flow Paradigm requires a cultural change about how companies and teams are managed. The Kanban approach to change is evolutionary. Kanban simple practices are easily to adopt and effectively raise teams awareness of problems and leverage points. This talk is […]
Categories: Blogs

Happiness Metric - The Wave of the Future

Scrum Log Jeff Sutherland - Tue, 04/08/2014 - 16:30
The Happiness Online Course archive is available.
Nöjd Crispare Historik


... any investor should be able to measure its return, and now a group of U.K. researchers say they've provided the first scientifically-controlled evidence of the link between human happiness and productivity: Happier people are about 12% more productive, the study found.


Happier people are about 12% more productive.
The results, to be published in the Journal of Labor Economics, are based on four different experiments that employed a variety of tactics on a total of 713 subjects at an elite British university. See article ..._________ScrumInc used the happiness metric to help increase velocity over 500% in 2011. Net revenue doubled. The way to do this is now part of a formal pattern at ScrumPlop.org called "Scrumming the Scrum." Traveling around the world, the happiness metric keeps bubbling up as a topic of interest. 

Books are starting to hit the charts at Amazon by business leaders (Zappos CEO, Joie de Vivre CEO) and psychologists. Managers and consultants are telling me that people are getting fed up with being unhappy at work. Younger people in particular are refusing to work in command and control environments based on punishment and blame. Major change is emerging (see The Leaders Guide to Radical Management by Stephen Denning). The Harvard Business Review devoted a recent issue to Happiness because happy employees lead to happy customers and better business. However, never underestimate the human capacity for screwing things up. See HBR blog on "Happiness is Overrated." You might need to "Pop the Happy Bubble," a pattern designed to straighten things out when your team is oblivious to impediments.


The Scrum Papers documents some of the early influences on Scrum and Nobel Laureate Professor Yunus at the Grameen Bank in Bangledesh provided key insights on how to bootstrap teams into a better life. Practical work on these issues on the President's Council at Accion helped me put these insights into practice just prior to the creation of Scrum in 1993. I saw how to bootstrap developers out of an environment where they were always late and under pressure into a team experience that could change their life.

One of the most innovative companies in the world of Scrum is a consultancy in Stockholm called Crisp. Henrik Kniberg is the founder and we have worked together on Scrum and Lean for many years. He recently introduced the "happiness index" as the primary metric to drive his company and found it works better than any other metric as a forward indicator of revenue.

Henrik outlines on his blog how he used the A3 process to set the direction for his company and how that led to measuring company performance by the "Happy Crisper Index."

---------
Now a days one our primary metric is "Nöjd Crispare Index" (in english: "Happy Crisper Index" or "Crisp happiness index"). Scale is 1-5. We measure this continuously through a live Google Spreadsheet. People update it approximately once per month.

Nöjd Crispare Index

 Here are the columns:

  • Name
  • How happy are you with Crisp? (scale 1-5)
  • Last update of this row (timestamp)
  • What feels best right now?
  • What feels worst right now?
  • What would increase your happiness index?
  • Other comments
We chart the history and how it correlates to specific events and bring this data to our conference.

Nöjd Crispare HistorikWhenever the average changes significantly we talk about why, and what we can do to make everybody happier. If we see a 1 or 2 on any row, that acts as an effective call for help. People go out of their way to find out how they can help that person, which often results in some kind of process improvement in the company. This happened last week, one person dropped to a 1 due to confusion and frustration with our internal invoicing routines. Within a week we did a workshop and figured out a better process. The company improved and the Crisp Happiness Index increased.

Crisp Happiness Index is more important than any financial metric, not only because it visualizes the aspect that matters most to us, but also because it is a leading indicator, which makes us agile. Most financial metrics are trailing indicators, making it hard to react to change in time.

---------

As Dan Pink points out in his RSA talk, people are motivated by autonomy, purpose, and mastery. Takeuchi and Nonaka observed in the paper that launched Scrum that great teams exhibit autonomy, transcendence, and cross-fertilization. The "happiness metric" along with some A3 thinking helped flush out these issues at Crisp and it can work for your company.

At the core of the creation of Scrum was a daily meditation based on 30 years of practice beginning as a fighter pilot during the Vietnamese war. It is a good practice for a warrior and for Scrum as changing the way of working in companies all over the world is a mighty struggle. May all your projects be early, may all your customers be happy, and may all your teams be free of impediments!

"May all beings be well, may all beings be happy, may all beings be free from suffering."
- Compassion Meditation for a Time of War
Categories: Blogs

Knowledge Sharing


SpiraTeam is a agile application lifecycle management (ALM) system designed specifically for methodologies such as scrum, XP and Kanban.