Estimation is important for software developers. Software effort estimation problems are part of their daily lives.

Software Effort Estimation Problems

Software effort estimation is an important part of the daily lives of many software professionals. I have joined the #noestimates debate on Twitter because there is a lot to learn from a discussion on estimates. I’m not ready to fully abandon estimates but I am interested in discussing where, when and how to apply them — or not… Continue reading

Greger Wikstrand first post on Capping IT Off

Blogging on “Capping IT Off”

I’ve started blogging at the Capping IT Off blog. Posts there will be about topics that are off topic for this blog. My first post is about e-health innovation and apps. My conclusion? E-health will be powered by thin, targeted applications built on a stable framework.

Image sources

    A data repository is not a community of practice

    Agile Community of Practice

    I’m a strong believer in learning by doing. I also believe that learning will be better when supported by an agile community of practice (CoP). Communities of practice allow self-selected members to develop their “capabilities, build and exchange knowledge”. In my professional life, I am involved in several communities including larger associations such as IEEE and ACM but also more focused communities at work including on Enterprise Architecture, E-health and Agile.

    Continue reading

    Combining Traditional and Agile Estimation

    Can you combine traditional and agile estimation? There is nothing magical about “classical” estimation. There are a few basic concepts to keep track of:

    • Bottom up versus top down
    • Expert estimation versus parametric estimation
    • Best – worst – expected case

    I think the most common method for traditional estimation is to go top-down using successive estimation which means that when something is to big or uncertain, you break it down into component tasks and estimate them recursively. If you are familiar with Planning Poker you can easily combine it with this approach:

    1. Start with your user stories + other backlog items then FOR EACH
    2. Estimate it with PP, if too big or to wide spread it is an Epic. Break it down into smaller stories (this creates your WBS) and GOTO 2
    3. Now that your item is sufficiently small, think about the worst case and estimate it again
    4. Now think about the best case, estimate again
    5. Calculate the weighted average as (best + 4* “normal” + worst) / 6

    Not so different from “pure” Planning Poker, is it? There are a few improvements you can do though — instead of using three estimates for each item, you could use the spread of estimates you already have from PP as a basis for your probability distribution.

    What is the proper size and time for an Agile Retrospective?

    I often hear the same complaint about Agile Retrospectives: They are not held at the right level in the organization! Or, at least, that is the conclusion that people draw from one fact: Many issues brought up in the Retrospective need resolution at a much higher level in the organization. There is no one in the room who can address or resolve them. Continue reading

    Evidence Based Software Engineering

    Is it possible to do controlled process experiments in software? That was the question asked in the Kanbandev group over at Yahoo groups. We need evidence to support the practices we use in software development. After all we are talking about a serious business with an annual value of about 500 TUSD.

    How detailled should a test case be?

    I sort of remembered a very interesting article about one-liner test cases at testzonen.se. I have blogged about it before, but perhaps it is worth repeating myself? The idea is that detailled (manual, scripted) test cases are uninteresting, limit creativity and are expensive to maintain. The solution is to create “one liner” test cases instead. What about test documentation? If testing actions are recorded during execution then the documentation can be created afterwards.

    I guess this goes to show that there is no one size fits all in testing. The right tool should be used at the right time to reach the right goal – which of course is to find bugs early rather than late.

    Agile is Always Appropriate

    Sometimes, people tell me that “Agile is not appropriate” in this or that context. I believe that’s plain wrong. Agile, as seen from the basic principles, is always appropriate. That doesn’t mean that all versions of agile are appropriate in all situations. And it doesn’t mean that you will be sucessful just because you use agile. And saying that you are agile doesn’t mean that you are. Are you agile? Perhaps this is the source of the confusion?

    Test Driven Development: Ten Years Later - Steve Freeman, Michael Feathers

    TDD Improves Quality

    TDD improves quality! That might sound obvious, but evidently it isn’t. Test driven development (TDD) is often cited as a key agile practice (1,2). But still, the evidence has been equivocal until now. Continue reading

    Does corporate inertia keep you on Windows 98? Virtualization may help but upgrade might be even better.

    Corporate Inertia – No Special Needs for IT

    In 2000, I worked on upgrading our laptops and desktops from Windows 95 to Windows 98. The project was completed in 2001. By that time it would have been much better to have moved directly to Windows 2000. That was my first but certainly not my last encounter with corporate inertia. Why do corporations accumulate this kind of inertia? Why don’t they strive to remain agile at all costs? Continue reading

    #agile, #projectmanagement, #ehealth, #mhealth #phr, #professionalism, #SoftwareEngineering

    Featuring Recent Posts WordPress Widget development by YD