SlideShare una empresa de Scribd logo
1 de 146
Descargar para leer sin conexión
Getting Early Estimates Right
Jakob Persson
Introducing me

                          Lead Drupal Solutions Architect

                          Co-Founder of NodeOne

                          Worked with Drupal since 2005

                          jakob@nodeone.se

                          http://www.twitter.com/realsolipsist

                          http://drupal.org/user/37564




      STOCKHOLM | GOTHENBURG | COPENHAGEN             www.nodeone.se
Introducing

                       am and clients
 So me of No deOne’s te



                                        Scandinavia’s largest
                                        Drupal services
                                        provider
                                        Employs 39 people
                                        Offices in Sweden
                                        and Denmark
What we do at NodeOne,
apart from...
card games...
                                     Hi, I’m
                                     Dries!*

                                         * No he’s not really Dries,
                                         but you knew that already.




                www.drupalcardgame.com
Druplicons wielding nun-
chuks...




        Druplicon Road Trip – “Showdown in Paris” (YouTube)
Drupal rock stars...




   “The Kitten Killers” Live at DrupalCon Copenhagen (photo by Dries)
Pilot studies



  Design and usability



         Development



Hosting and scalability



              Training



            Consulting
Early estimating
“There’s no point in being exact about something
if you don’t even know what you’re talking about.”

                                 — John von Neumann
frustrated!
frustrated!




     bored...
frustrated!




        bored...



 uncertain?!
What is an early estimate?
“Estimation is the calculated approximation of a
result which is usable even if input data may be
incomplete or uncertain.”
                                       Source: Wikipedia
Use
less
!




    http://www.sxc.hu/photo/1259850
http://www.sxc.hu/photo/1259850
 Use
        less
                !




Project X

    Project Y
                    ≠   Project ?
Early estimates vs in-
project estimates

               Early        In-project

  Target       Feature       User story

              Decide on
  Purpose     investment
                              Planning

 Accuracy   Low to medium      High

  Method       Expert          Team
Effort and accuracy
     100%
   Accuracy




              Effort
                 Adapted from “Agile Estimating and Planning”, Cohn 2008
Early estimates


• Can be made in relatively short time
• Generates estimates that aren’t based on
  random guesses or chance
• Lets you use your experience as a yardstick
  and reference
How early estimates are made
“Divide et impera”,
 how’s that for a
     strategy?
#   Title   Estimate   DoE   Solution
1
2                                                    A spreadsheet
3
4



                  – and possibly also –



A Drupal-devoted
    developer


                                        Dick Olsson, kick-ass Drupal developer at NodeOne
The method
Timebox your estimation work

Analyze the requirements

Make initial guesstimate

Extract features and write proposed solutions

Estimate features

Take uncertainty and errors into account

Compare with guesstimate
Tim
        eb
           ox


An
      aly
          ze
                req
                     uir
                        em
                                   en
Ini                                  ts
      tia
         l gu
               ess
                  ti m
                           ate
Ex
      tra
         ct
              fea
                 t   ure
                           s
Est
      im
         ate
                   fea
                      t  ure
                               s
Un
       cer
             tai
                   nty
                          and
                                err
                                   or
Co
  mp                                  s
           are
               w     ith
                           gue
                                   sst
                                       im
                                          ate
TIMEBOX ESTIMATION WORK
ANALYZE THE REQUIREMENTS
            From: johndoe@awesomecoolwebsites.com
            To: You
            Subject: Link directory on Drupal

            Hey,

            We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
            how much it would cost. We would like to get rid of the proprietary software we
            use and have more flexibility. Drupal seems to be the best choice for us.

            Our site is a link directory where people with awesomely cool sites can post
            links to their sites. The directory is divided into categories and people can
            pay for premium exposure. We also have something called "link of the day" which
            costs $50 and puts a link to your site on the front page.

            The site has a blog where we post updates and business articles on a regular
            basis. This blog is written by several people and they can only be able to edit
            their own blog posts. Though they should be able to add other users who can edit
            their posts so that they can cooperate on a post.

            We're not planning on migrating content but we're offshoring the work and all
            old links will be added manually. We want to tag content too and we think it's
            best to migrate manually and do the tagging at the same time.

            It's important that it's super easy to post new links and comment on blog posts.
            when you add a link you get a user account. Unless you have one already.
            Also, administrators must be able to approve links posted. Admins should get an
            email when links are added so they can go and check.
            We want captcha so that automated postings are prevented.

            When you buy a premium link you pay with credit card, we have a processor for
            this and drupal needs to integrate with them. It's important that users feel
            super safe when submitting links. For this reason the whole submit process must
            be over secure connection.

            We plan on launching the new drupalized site in the next six months.

            Looking forward to your quote.

            Sincerely,

            John
            Website Manager
ANALYZE THE REQUIREMENTS
            From: johndoe@awesomecoolwebsites.com
            To: You


             C heck o ut the sample
            Subject: Link directory on Drupal

            Hey,




             requirements for the
            We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
            how much it would cost. We would like to get rid of the proprietary software we
            use and have more flexibility. Drupal seems to be the best choice for us.




                 k d irector y site at:
            Our site is a link directory where people with awesomely cool sites can post


              lin
            links to their sites. The directory is divided into categories and people can
            pay for premium exposure. We also have something called "link of the day" which
            costs $50 and puts a link to your site on the front page.

            The site has a blog where we post updates and business articles on a regular
            basis. This blog is written by several people and they can only be able to edit
            their own blog posts. Though they should be able to add other users who can edit



                    http://bit.ly/
            their posts so that they can cooperate on a post.

            We're not planning on migrating content but we're offshoring the work and all
            old links will be added manually. We want to tag content too and we think it's



                     rupalestimating
            best to migrate manually and do the tagging at the same time.

                   d
            It's important that it's super easy to post new links and comment on blog posts.
            when you add a link you get a user account. Unless you have one already.
            Also, administrators must be able to approve links posted. Admins should get an
            email when links are added so they can go and check.
            We want captcha so that automated postings are prevented.

            When you buy a premium link you pay with credit card, we have a processor for
            this and drupal needs to integrate with them. It's important that users feel
            super safe when submitting links. For this reason the whole submit process must
            be over secure connection.

            We plan on launching the new drupalized site in the next six months.

            Looking forward to your quote.

            Sincerely,

            John
            Website Manager
MAKE INITIAL GUESSTIMATE
       “BETWEEN THUMB AND INDEX FINGER”
EXTRACT FEATURES AND
WRITE SOLUTIONS
    From: johndoe@awesomecoolwebsites.com
    To: You
    Subject: Link directory on Drupal

    Hey,

    We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
    how much it would cost. We would like to get rid of the proprietary software we
    use and have more flexibility. Drupal seems to be the best choice for us.

    Our site is a link directory where people with awesomely cool sites can post
    links to their sites. The directory is divided into categories and people can
    pay for premium exposure. We also have something called "link of the day" which
    costs $50 and puts a link to your site on the front page.

    The site has a blog where we post updates and business articles on a regular
    basis. This blog is written by several people and they can only be able to edit
    their own blog posts. Though they should be able to add other users who can edit
    their posts so that they can cooperate on a post.

    We're not planning on migrating content but we're offshoring the work and all
    old links will be added manually. We want to tag content too and we think it's
    best to migrate manually and do the tagging at the same time.

    It's important that it's super easy to post new links and comment on blog posts.
    when you add a link you get a user account. Unless you have one already.
    Also, administrators must be able to approve links posted. Admins should get an
    email when links are added so they can go and check.
    We want captcha so that automated postings are prevented.

    When you buy a premium link you pay with credit card, we have a processor for
    this and drupal needs to integrate with them. It's important that users feel
    super safe when submitting links. For this reason the whole submit process must
    be over secure connection.

    We plan on launching the new drupalized site in the next six months.

    Looking forward to your quote.

    Sincerely,

    John
The sample requirements for the link directory
    website can also be found on the web:

      http://bit.ly/drupalestimating
Feature A   2


                            Feature B   10


                            Feature C   1
               are broken
Requirements
               down into    Feature D   20



                            Feature E   5

                            Feature F   1
Definition of a   Feature
Definition of a         Feature



A conceptually and contextually discrete
piece of the final deliverables with an
estimated proposed solution
Link directory sample requirements:

http://bit.ly/drupalestimating
From: johndoe@awesomecoolwebsites.com
To: You
Subject: Link directory on Drupal

Hey,

We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
how much it would cost. We would like to get rid of the proprietary software we
use and have more flexibility. Drupal seems to be the best choice for us.

Our site is a link directory where people with awesomely cool sites can post
links to their sites. The directory is divided into categories and people can
pay for premium exposure. We also have something called "link of the day" which
costs $50 and puts a link to your site on the front page.

The site has a blog where we post updates and business articles on a regular
basis. This blog is written by several people and they can only be able to edit
their own blog posts. Though they should be able to add other users who can edit
their posts so that they can cooperate on a post.

We're not planning on migrating content but we're offshoring the work and all
old links will be added manually. We want to tag content too and we think it's
best to migrate manually and do the tagging at the same time.

It's important that it's super easy to post new links and comment on blog posts.
when you add a link you get a user account. Unless you have one already.
Also, administrators must be able to approve links posted. Admins should get an
email when links are added so they can go and check.
We want captcha so that automated postings are prevented.

When you buy a premium link you pay with credit card, we have a processor for
this and drupal needs to integrate with them. It's important that users feel
super safe when submitting links. For this reason the whole submit process must
be over secure connection.

We plan on launching the new drupalized site in the next six months.

Looking forward to your quote.

Sincerely,

John
Website Manager
From: johndoe@awesomecoolwebsites.com
                                To: You
                                Subject: Link directory on Drupal

                                Hey,

                                We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
                                how much it would cost. We would like to get rid of the proprietary software we
                                use and have more flexibility. Drupal seems to be the best choice for us.

“Our site is a link directory   Our site is a link directory where people with awesomely cool sites can post
where people with awesomely     links to their sites. The directory is divided into categories and people can
                                pay for premium exposure. We also have something called "link of the day" which
cool sites can post links to    costs $50 and puts a link to your site on the front page.

their sites”                    The site has a blog where we post updates and business articles on a regular
                                basis. This blog is written by several people and they can only be able to edit
                                their own blog posts. Though they should be able to add other users who can edit
                                their posts so that they can cooperate on a post.

                                We're not planning on migrating content but we're offshoring the work and all
                                old links will be added manually. We want to tag content too and we think it's
                                best to migrate manually and do the tagging at the same time.

                                It's important that it's super easy to post new links and comment on blog posts.
                                when you add a link you get a user account. Unless you have one already.
                                Also, administrators must be able to approve links posted. Admins should get an
                                email when links are added so they can go and check.
                                We want captcha so that automated postings are prevented.

                                When you buy a premium link you pay with credit card, we have a processor for
                                this and drupal needs to integrate with them. It's important that users feel
                                super safe when submitting links. For this reason the whole submit process must
                                be over secure connection.

                                We plan on launching the new drupalized site in the next six months.

                                Looking forward to your quote.

                                Sincerely,

                                John
                                Website Manager
From: johndoe@awesomecoolwebsites.com
                                To: You
                                Subject: Link directory on Drupal

                                Hey,

                                We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
                                how much it would cost. We would like to get rid of the proprietary software we
                                use and have more flexibility. Drupal seems to be the best choice for us.

“Our site is a link directory   Our site is a link directory where people with awesomely cool sites can post
where people with awesomely     links to their sites. The directory is divided into categories and people can
                                pay for premium exposure. We also have something called "link of the day" which
cool sites can post links to    costs $50 and puts a link to your site on the front page.

their sites”                    The site has a blog where we post updates and business articles on a regular
                                basis. This blog is written by several people and they can only be able to edit
                                their own blog posts. Though they should be able to add other users who can edit
                                their posts so that they can cooperate on a post.

                                We're not planning on migrating content but we're offshoring the work and all
                                old links will be added manually. We want to tag content too and we think it's
                                best to migrate manually and do the tagging at the same time.

  1     Nodetype: Link          It's important that it's super easy to post new links and comment on blog posts.
                                when you add a link you get a user account. Unless you have one already.
                                Also, administrators must be able to approve links posted. Admins should get an
                                email when links are added so they can go and check.
                                We want captcha so that automated postings are prevented.

                                When you buy a premium link you pay with credit card, we have a processor for
                                this and drupal needs to integrate with them. It's important that users feel
                                super safe when submitting links. For this reason the whole submit process must
                                be over secure connection.

                                We plan on launching the new drupalized site in the next six months.

                                Looking forward to your quote.

                                Sincerely,

                                John
                                Website Manager
1     Nodetype: Link                    From: johndoe@awesomecoolwebsites.com
                                        To: You
                                        Subject: Link directory on Drupal

                                        Hey,

                                        We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
                                        how much it would cost. We would like to get rid of the proprietary software we
                                        use and have more flexibility. Drupal seems to be the best choice for us.
“Also, administrators must be able to
approve links posted. Admins should     Our site is a link directory where people with awesomely cool sites can post
                                        links to their sites. The directory is divided into categories and people can
get an email when links are added so    pay for premium exposure. We also have something called "link of the day" which
                                        costs $50 and puts a link to your site on the front page.
they can go and check.”
                                        The site has a blog where we post updates and business articles on a regular
                                        basis. This blog is written by several people and they can only be able to edit
                                        their own blog posts. Though they should be able to add other users who can edit
                                        their posts so that they can cooperate on a post.

                                        We're not planning on migrating content but we're offshoring the work and all
                                        old links will be added manually. We want to tag content too and we think it's
                                        best to migrate manually and do the tagging at the same time.

                                        It's important that it's super easy to post new links and comment on blog posts.
                                        when you add a link you get a user account. Unless you have one already.
                                        Also, administrators must be able to approve links posted. Admins should get an
                                        email when links are added so they can go and check.
                                        We want captcha so that automated postings are prevented.

                                        When you buy a premium link you pay with credit card, we have a processor for
                                        this and drupal needs to integrate with them. It's important that users feel
                                        super safe when submitting links. For this reason the whole submit process must
                                        be over secure connection.

                                        We plan on launching the new drupalized site in the next six months.

                                        Looking forward to your quote.

                                        Sincerely,

                                        John
                                        Website Manager
1       Nodetype: Link                  From: johndoe@awesomecoolwebsites.com
                                        To: You
                                        Subject: Link directory on Drupal

                                        Hey,

                                        We're looking into moving our site awesomecoolwebsites.com to drupal and wonder
                                        how much it would cost. We would like to get rid of the proprietary software we
                                        use and have more flexibility. Drupal seems to be the best choice for us.
“Also, administrators must be able to
approve links posted. Admins should     Our site is a link directory where people with awesomely cool sites can post
                                        links to their sites. The directory is divided into categories and people can
get an email when links are added so    pay for premium exposure. We also have something called "link of the day" which
                                        costs $50 and puts a link to your site on the front page.
they can go and check.”
                                        The site has a blog where we post updates and business articles on a regular
                                        basis. This blog is written by several people and they can only be able to edit
                                        their own blog posts. Though they should be able to add other users who can edit
                                        their posts so that they can cooperate on a post.

                                        We're not planning on migrating content but we're offshoring the work and all
                                        old links will be added manually. We want to tag content too and we think it's

        Users add links which are       best to migrate manually and do the tagging at the same time.

    2   unpublished before approved     It's important that it's super easy to post new links and comment on blog posts.
                                        when you add a link you get a user account. Unless you have one already.
                                        Also, administrators must be able to approve links posted. Admins should get an

        Administrators are notified      email when links are added so they can go and check.
    3                                   We want captcha so that automated postings are prevented.
        when links are added
                                        When you buy a premium link you pay with credit card, we have a processor for
                                        this and drupal needs to integrate with them. It's important that users feel
        Administrators can view and     super safe when submitting links. For this reason the whole submit process must
    4                                   be over secure connection.
        approve links
                                        We plan on launching the new drupalized site in the next six months.

                                        Looking forward to your quote.

                                        Sincerely,

                                        John
                                        Website Manager
14   Featured link on the front page   A view displaying a single node of type “Featured”
1   Nodetype: Link


2   Users add links which are unpublished before approved


3   Administrators are notified when links are added


4   Administrators can view and approve links
#   Description                   Proposed solution

                                  Create a node type called link and use the Link module for the
1   Nodetype: Link
                                  link field.

    Users add links which are     Use Flag and Rules modules to create a workflow. The workflow
2
    unpublished before approved   sets a newly created Link node as unpublished.

    Administrators are notified    Workflow created with Rules, it sends an email to the webmaster
3
    when links are added          once a link node is created.

    Administrators can view and   A list of unpublished nodes of type “link”, created using the Views
4
    approve links                 module.
-30%
-30%
Do this

          Code less




             Use the UI instead
By: http://www.sxc.hu/profile/agentoseis


                                                                                           Get this




                   Future-proof
                   your website
                                                           Enjoy a safe
                                                          upgrade path




http://www.flickr.com/photos/jns001/2958140977/
Estimation sheet with sample requirements

  http://bit.ly/estimationsheet3
Estimation Sheet Template

http://bit.ly/estimationtemplate3
Number
                                                              Description
                                                              Estimate
                                                              Degree of Experience
                                                              Proposed Solution


                                                    Use Flag and Rules modules to create a
    Users add links which are unpublished
2                                           2   5   workflow. The workflow sets a newly
    before approved
                                                    created Link node as unpublished.
Number
                                                              Description
                                                              Estimate
                                                              Degree of Experience
                                                              Proposed Solution


                                                    Use Flag and Rules modules to create a
    Users add links which are unpublished
2                                           2   5   workflow. The workflow sets a newly
    before approved
                                                    created Link node as unpublished.
ESTIMATING FEATURES
• Development
• Writing automated tests
• Configuration
• Testing
• Fixing bugs
• Deploying to staging server
Estimating using a scale

•   Scale of fixed number of hours

•   Only use numbers from the scale.

•   Always round up


              1   2      4             8   16
Popular scale   1   2   4   8   16
Popular scale   1   2   4       8   16




 Scale I use    1   2       5
Use Flag and Rules modules to create a
    Administrators are notified when links
3                                           workflow. The workflow sets a newly
    are added
                                            created Link node as unpublished.
Use Flag and Rules modules to create a
    Administrators are notified when links
3                                            workflow. The workflow sets a newly
    are added
                                             created Link node as unpublished.




                              ~ 3 hours (ideally)
Use Flag and Rules modules to create a
    Administrators are notified when links
3                                               workflow. The workflow sets a newly
    are added
                                                created Link node as unpublished.




                              ~ 3 hours (ideally)


                                     2      5
Use Flag and Rules modules to create a
    Administrators are notified when links
3
    are added                               5       workflow. The workflow sets a newly
                                                    created Link node as unpublished.




                              ~ 3 hours (ideally)


                                     2          5
Factor 0.1



Scale I use    Factor 1    1   2        5


              Factor 10            10       20
Factor 0.1



 Factor 1    1   2        5


Factor 10            10       20
Changing settings or setting
                                     Factor 0.1
      configuration


                                      Factor 1       1      2             5


                                     Factor 10                       10                 20



                                                 Add a user reference field to Article
  Co-authors for articles      0.2
                                                 node type
Changing settings or setting
                                                       Factor 0.1
         configuration

Building functionality using Drupal’s
                                                       Factor 1       1     2              5
           user interface


                                                   Factor 10                          10                      20




       List of most popular user profiles based                    Add a user reference field to and sorts it
                                                                   A view listing Profile nodes Article
      Co-authors for articles                    0.2
                                                   1
       on number of guestbook entries                             node type the number of comments each
                                                                   based on
                                                                   has
Changing settings or setting
                                                   Factor 0.1
         configuration

Building functionality using Drupal’s
                                                    Factor 1       1      2             5
           user interface


Developing new modules or themes                   Factor 10                       10                        20



                                                                AWrite listing Profile field to and sorts it
                                                                  view a reference nodes Article
                                                               Add a usermodule that POSTs the user’s
       List of most popular user profiles based
      Co-authors userarticles with mailing list 0.2
        Integrate for accounts                    110          node type the number of comments each
                                                                based on
                                                                 email address to the provider’s REST API
       on number of guestbook entries
        service provider                                        has
                                                                 when the user registers.
50+
goo
Estimating




         http://www.sxc.hu/photo/716594
TAKING UNCERTAINTY
AND ERRORS INTO
ACCOUNT
The cone of uncertainty
             4x


             2x

            1.5x

Estimate   1.25x
            1.0x
error       0.8x
           0.67x

            0.5x


           0.25x




                   Resolution of decisions in
                   the course of a project
The cone of uncertainty
      4x


      2x

     1.5x
    1.25x
     1.0x
     0.8x
    0.67x

     0.5x


    0.25x
The cone of uncertainty
               4x


               2x

              1.5x
             1.25x
              1.0x
              0.8x
             0.67x

              0.5x


             0.25x




Rough idea
0.25x - 4x
The cone of uncertainty
               4x


               2x

              1.5x
             1.25x
              1.0x
              0.8x
             0.67x

              0.5x


             0.25x




Rough idea           User Interface Design Complete
0.25x - 4x           0.8x - 1.25x
The cone of uncertainty
      4x


      2x

     1.5x
    1.25x
     1.0x
     0.8x
    0.67x

     0.5x


    0.25x
The cone of uncertainty
      4x


      2x

     1.5x
    1.25x
     1.0x
     0.8x
    0.67x

     0.5x


    0.25x
The cone of uncertainty
      4x


      2x

     1.5x
    1.25x
     1.0x
     0.8x
    0.67x

     0.5x


    0.25x
Annonsera | Kontakta oss | In English



                                                                                                                                                  Sök
                                                                                                                           Maria Jakobsson | Min profil


Nyheter       Bli medlem        Engagera dig     Aktiviteter   Career Service     Partners     Reversen       Om oss                        Logg ut




Fritid, utbildning & framtid
Vi stoltserar idag med drygt 2 200 medlemmar och är därmed en av
Uppsalas största studentföreningar. Vi intresserar oss för allt som rör fritid,                                      Bli medlem
framtid och studier för studenter med ekonomianknytning i Uppsala och
jobbar ständigt för att på ett professionellt sätt utveckla både utbildningen
och studiernas förankring till arbetslivet. Läs mer om oss

                                                                                                             "Detta är varför jag
                                                                                                             tycket du skall
                                                                                                             engagera dig!"

                                                                                                             NAMN NAMNSSON, ORDF

Meningsfull och rolig tillvaro vid    Täta kontakter och nära            Bevakar och förbättrar
sidan av studierna genom              relationer med näringslivet        utbildningen genom
fester och events, sport, spel-       genom föreläsningar, besök,        utvärdering och påverkan i          KOMMANDE AKTIVITETER
och filmkvällar med mera               casetävlingar, jobbannonser och    nära samarbete med
                                      informella möten                   studenterna och universitet            Alla        Fritid   Framtid Studier

                                                                                                             12/12 Luciabalen med grodornas afton
SENASTE NYTT                 Fritid            Framtid         Studier                                       Restaurang Lantis, 17.45 - 01.00


                                                                                                             12/12 Luciabalen med grodornas afton
                                                                                                             Restaurang Lantis, 17.45 - 01.00


                                                                                                             12/12 Luciabalen med grodornas afton
                                                                                                             Restaurang Lantis, 17.45 - 01.00


                                                                                                             12/12 Luciabalen med grodornas afton
                                                                                                             Restaurang Lantis, 17.45 - 01.00


                                                                                                             12/12 Luciabalen med grodornas afton
                                                                                                             Restaurang Lantis, 17.45 - 01.00

                                                                                                             Fler aktiviteter...




På ekonomikum just nu: Kontaktdagarna
Den 2:a och 3:e februari är det äntligen dags för årets mest efterlängtade                                   Detta är en puff
mässa med 60 företag och organisationer som kommer till Uppsala för att                                       Sveriges bästa nollning är i full
träffa dig! Kontaktdagarna är ett ypperligt tillfälle att knyta nya kontakter                                 gång i Uppsala och du hittar den
med intressanta företag och hämta inspiration på föreläsningar som hålls                                      här. > Läs mer
av inflytelserika personer. Mässan öppnar klockan 10 på onsdag den 2
februari. Var med redan från start!




                                                                                                              Detta är en puff
                                                                                                              Sveriges bästa nollning är i full
                                                                                                              gång i Uppsala och du hittar den
                                                                                                              här. > Läs mer
Chaotic development
Chaotic development




        Requirements that
                            weren’t investigate
                                               d   very well
Chaotic development

Poor coding practices cause extensive bug fix
                                             ing




                                   Requirements that
                                                       weren’t investigate
                                                                          d   very well
Chaotic development
                                                   Inexperi
                                                            enced pe
Poor coding practices cause extensive bug fix                        r   sonnel
                                             ing




                                   Requirements that
                                                       weren’t investigate
                                                                          d      very well
Chaotic development
                                                   Inexperi
                                                            enced pe
Poor coding practices cause extensive bug fix                        r   sonnel
                                             ing




Incomplete or unskilled project planning

                                   Requirements that
                                                       weren’t investigate
                                                                          d      very well
Chaotic development
                              g under pressure
           Abandoning plannin
                                                   Inexperi
                                                            enced pe
Poor coding practices cause extensive bug fix                        r   sonnel
                                             ing




Incomplete or unskilled project planning

                                   Requirements that
                                                       weren’t investigate
                                                                          d      very well
Chaotic development
                              g under pressure
           Abandoning plannin
                                                   Inexperi
                                                            enced pe
Poor coding practices cause extensive bug fix                        r   sonnel
                                             ing




Incomplete or unskilled project planning

                                   Requirements that
                                                       weren’t investigate
                                                                          d      very well
  Developer gold-plating
Chaotic development
                              g under pressure
           Abandoning plannin
                                                       Inexperi
                                                                enced pe
Poor coding practices cause extensive bug fix                            r   sonnel
                                             ing


                                               Lack of automated source code control
Incomplete or unskilled project planning

                                   Requirements that
                                                        weren’t investigate
                                                                           d         very well
  Developer gold-plating
Overlooked activities
Overlooked activities
Migration of data
Producing help or documentation
Deployment
Integrating third party systems
Working with a third party
Overlooked
expectations
Performance
Stability
Security
Usability
Unfounded optimism
“You never have to fear that estimates created
by developers will be too pessimistic, because
developers will always generate a too-
optimistic schedule.”
                – Chris Peters, Microsoft Vice President
Off-the-cuff estimation
Off-the-cuff estimation
Assume for clarity


Make an assumption and communicate it:

 “I’m not sure what you mean by ‘integrated user
 bookmark blogging’ so I assume you mean this, and
 that’s what I’ve estimated.”
Avoid uncertain solutions
Avoid uncertain solutions
Base solutions on wireframes and mockups or comps if
available.
Avoid uncertain solutions
Base solutions on wireframes and mockups or comps if
available.
Proposing well-tested solutions you have used before.
Avoid uncertain solutions
Base solutions on wireframes and mockups or comps if
available.
Proposing well-tested solutions you have used before.
Researching solutions by googling, reading articles and
blog posts.
Avoid uncertain solutions
Base solutions on wireframes and mockups or comps if
available.
Proposing well-tested solutions you have used before.
Researching solutions by googling, reading articles and
blog posts.
Prototyping solutions in Drupal.
Avoid uncertain solutions
Base solutions on wireframes and mockups or comps if
available.
Proposing well-tested solutions you have used before.
Researching solutions by googling, reading articles and
blog posts.
Prototyping solutions in Drupal.
Avoiding solutions that require integration with
unknown third-party solutions.
Factoring in solution
    uncertainty
Degrees of experience
      You have done the exact same thing in other projects.


   Someone else at your company has done it in other projects.


             You have read about it a way to solve it.


    You can think of a solution that seems reasonable/possible.


         You have no idea how to implement a solution.
Degrees of experience
   5   You have done the exact same thing in other projects.

        Someone else at your company has done it in other
   4
                            projects.

   3         You have read about it a way to solve it.

        You can think of a solution that seems reasonable/
   2
                             possible.

   1      You have no idea how to implement a solution.
#   Description                   Est   Degree of Exp.   Proposed solution


                                                         Create a node type called link and
1   Nodetype: Link                 1          5          use the Link module for the link
                                                         field.

                                                         Use Flag and Rules modules to
2
    Users add links which are
    unpublished before approved
                                   2          4          create a workflow. The workflow
                                                         sets a newly created Link node as
                                                         unpublished.

                                                         Workflow created with Rules, it
3
    Administrators are notified
    when links are added
                                   5          3          sends an email to the webmaster
                                                         once a link node is created.


                                                         A list of unpublished nodes of type
4
    Administrators can view and
    approve links
                                   2          5          “link”, created using the Views
                                                         module.
Degrees of experience
Deg.                           Description

 5     You have done the exact same thing in other projects.


 4     Someone else at your company has done it in other projects.


 3     You have read about it a way to solve it.


 2     You can think of a solution that seems reasonable/possible.


 1     You have no idea how to implement a solution.
Degree of experience
              Deg.              Description                  U

                     You have done the exact same thing
               5
                     in other projects.

                     Someone else at your company has
               4
                     done it in other projects.

                     You have read about it a way to solve
               3
                     it.

                     You can think of a solution that
               2
                     seems reasonable/possible.

                     You have no idea how to implement
               1
                     a solution.
Degree of experience
              Deg.              Description                  U

                     You have done the exact same thing
               5
                     in other projects.

                     Someone else at your company has
               4
                     done it in other projects.

                     You have read about it a way to solve
               3
                     it.

                     You can think of a solution that
               2
                     seems reasonable/possible.

                     You have no idea how to implement
               1
                     a solution.
Degree of experience
              Deg.              Description                  U

                     You have done the exact same thing
               5
                     in other projects.

                     Someone else at your company has
               4
                     done it in other projects.

                     You have read about it a way to solve
               3
                     it.

                     You can think of a solution that
               2
                     seems reasonable/possible.

                     You have no idea how to implement
               1
                     a solution.
Degree of experience
              Deg.              Description                  U

                     You have done the exact same thing
               5
                     in other projects.

                     Someone else at your company has
               4
                     done it in other projects.

                     You have read about it a way to solve
               3
                     it.

                     You can think of a solution that
               2
                     seems reasonable/possible.

                     You have no idea how to implement
               1
                     a solution.
Degree of experience
              Deg.              Description                  U

                     You have done the exact same thing
               5
                     in other projects.

                     Someone else at your company has
               4
                     done it in other projects.

                     You have read about it a way to solve
               3
                     it.

                     You can think of a solution that
               2
                     seems reasonable/possible.

                     You have no idea how to implement
               1
                     a solution.
Degree of experience
               Deg.              Description                  U

                      You have done the exact same thing
                5
                      in other projects.

                      Someone else at your company has
                4
                      done it in other projects.

RESEARCH IT!    3
                      You have read about it a way to solve
                      it.

                      You can think of a solution that
                2
                      seems reasonable/possible.

                      You have no idea how to implement
                1
                      a solution.
Degree of experience
                    Deg.              Description                  U

                           You have done the exact same thing
                     5
            4x
                           in other projects.

                           Someone else at your company has
            2x       4
                           done it in other projects.
            1.5x
            1.25x          You have read about it a way to solve
            1.0x     3
            0.8x           it.
            0.67x
                           You can think of a solution that
            0.5x     2
                           seems reasonable/possible.
            0.25x
                           You have no idea how to implement
                     1
                           a solution.
Degree of experience
Deg.              Description                  Uncertainty factor

       You have done the exact same thing
 5                                                 0.8x - 1.25x
       in other projects.

       Someone else at your company has
 4                                                 0.67x - 1.5x
       done it in other projects.

       You have read about it a way to solve
 3                                                  0.5x - 2x
       it.

       You can think of a solution that
 2                                                  0.25x - 4x
       seems reasonable/possible.

       You have no idea how to implement
 1                                                      -
       a solution.
#   Description                   Est   Degree of Exp.   Range             Low     High    Pro


                                                         1 × 0.8 = 0.8                     Cre
1   Nodetype: Link                 1          5          1 × 1.25 = 1.25
                                                                            0.8     1.25
                                                                                           the


                                                                                           Use
    Users add links which are                            2 × 0.67 = 1.34                   aw
2
    unpublished before approved
                                   2          4          2 × 1.5 = 3
                                                                            1.34     3
                                                                                           new
                                                                                           unp

                                                                                           Wo
    Administrators are notified                           5 × 0.5 = 2.5                     an e
3
    when links are added
                                   5          3          5 × 2 = 10
                                                                            2.5     10
                                                                                           nod


                                                                                           A li
    Administrators can view and                          2 × 0.8 = 1.6                     “lin
4
    approve links
                                   2          5          2 × 1.25 = 2.5
                                                                            1.6     2.5
                                                                                           mo
#   Description                   Est   Degree of Exp.   Range             Low     High    Pro


                                                         1 × 0.8 = 0.8                     Cre
1   Nodetype: Link                 1          5          1 × 1.25 = 1.25
                                                                            0.8     1.25
                                                                                           the


                                                                                           Use
    Users add links which are                            2 × 0.67 = 1.34                   aw
2
    unpublished before approved
                                   2          4          2 × 1.5 = 3
                                                                            1.34     3
                                                                                           new
                                                                                           unp

                                                                                           Wo
    Administrators are notified                           5 × 0.5 = 2.5                     an e
3
    when links are added
                                   5          3          5 × 2 = 10
                                                                            2.5     10
                                                                                           nod


                                                                                           A li
    Administrators can view and                          2 × 0.8 = 1.6                     “lin
4
    approve links
                                   2          5          2 × 1.25 = 2.5
                                                                            1.6     2.5
                                                                                           mo
#   Description                   Est   Degree of Exp.   Range             Low     High    Pro


                                                         1 × 0.8 = 0.8                     Cre
1   Nodetype: Link                 1          5          1 × 1.25 = 1.25
                                                                            0.8     1.25
                                                                                           the


                                                                                           Use
    Users add links which are                            2 × 0.67 = 1.34                   aw
2
    unpublished before approved
                                   2          4          2 × 1.5 = 3
                                                                            1.34     3
                                                                                           new
                                                                                           unp

                                                                                           Wo
    Administrators are notified                           5 × 0.5 = 2.5                     an e
3
    when links are added
                                   5          3          5 × 2 = 10
                                                                            2.5     10
                                                                                           nod


                                                                                           A li
    Administrators can view and                          2 × 0.8 = 1.6                     “lin
4
    approve links
                                   2          5          2 × 1.25 = 2.5
                                                                            1.6     2.5
                                                                                           mo
#   Description                   Est   Degree of Exp.   Range             Low     High    Pro


                                                         1 × 0.8 = 0.8                     Cre
1   Nodetype: Link                 1          5          1 × 1.25 = 1.25
                                                                            0.8     1.25
                                                                                           the


                                                                                           Use
    Users add links which are                            2 × 0.67 = 1.34                   aw
2
    unpublished before approved
                                   2          4          2 × 1.5 = 3
                                                                            1.34     3
                                                                                           new
                                                                                           unp

                                                                                           Wo
    Administrators are notified                           5 × 0.5 = 2.5                     an e
3
    when links are added
                                   5          3          5 × 2 = 10
                                                                            2.5     10
                                                                                           nod


                                                                                           A li
    Administrators can view and                          2 × 0.8 = 1.6                     “lin
4
    approve links
                                   2          5          2 × 1.25 = 2.5
                                                                            1.6     2.5
                                                                                           mo
ee of

                                                1 × 0.8 = 0.8                       Cre
1   Nodetype: Link                1       5     1 × 1.25 = 1.25
                                                                  0.8     1.25
                                                                                    the

    Summing up estimates                                                            Use
    Users add links which are                   2 × 0.67 = 1.34                     aw
2
    unpublished before approved
                                  2       4     2 × 1.5 = 3
                                                                  1.34    3
                                                                                    new
                                                                                    unp

                                                                                    Wo
    Administrators are notified                  5 × 0.5 = 2.5                       an e
3
    when links are added
                                  5       3     5 × 2 = 10
                                                                    2.5       10
                                                                                    nod



                                  191                              147        271
ee of

                                                1 × 0.8 = 0.8                       Cre
1   Nodetype: Link                 1      5     1 × 1.25 = 1.25
                                                                  0.8     1.25
                                                                                    the

    Summing up estimates                                                            Use
    Users add links which are                   2 × 0.67 = 1.34                     aw
2
    unpublished before approved
                                   2      4     2 × 1.5 = 3
                                                                  1.34    3
                                                                                    new
                       Summary of                                                   unp

                     ideal estimates                                                Wo
  Administrators are notified                    5 × 0.5 = 2.5                       an e
3
  when links are added
                                    5     3     5 × 2 = 10
                                                                    2.5       10
                                                                                    nod



                                  191                              147        271
ee of

                                                1 × 0.8 = 0.8                        Cre
1   Nodetype: Link                 1      5     1 × 1.25 = 1.25
                                                                   0.8     1.25
                                                                                     the

    Summing up estimates                                                             Use
    Users add links which are                   2 × 0.67 = 1.34                      aw
2
    unpublished before approved
                                   2      4     2 × 1.5 = 3
                                                                   1.34    3
                                                                                     new
                       Summary of                                                    unp

                     ideal estimates                                                 Wo
  Administrators are notified                    5 × 0.5 = 2.5     Sum range high     an e
3
  when links are added
                                    5     3     5 × 2 = 10
                                                                     2.5       10
                                                                                     nod



                                  191                               147        271
ee of

                                                1 × 0.8 = 0.8                        Cre
1   Nodetype: Link                 1      5     1 × 1.25 = 1.25
                                                                   0.8     1.25
                                                                                     the

    Summing up estimates                                                             Use
    Users add links which are                   2 × 0.67 = 1.34                      aw
2
    unpublished before approved
                                   2      4     2 × 1.5 = 3
                                                                   1.34    3
                                                                                     new
                       Summary of                                                    unp

                     ideal estimates                                                 Wo
  Administrators are notified                    5 × 0.5 = 2.5     Sum range high     an e
3
  when links are added
                                    5     3     5 × 2 = 10
                                                                     2.5       10
                                                                                     nod



                                  191                               147        271



                                                                  Sum range low
Symmetrical uncertainty
     Low uncertainty




       Low    High
       0.8x   1.25x
          Ideal
        estimate
Symmetrical uncertainty
        High uncertainty




Low                         High
0.25x                        4x
             Ideal
           estimate
Asymmetrical uncertainty
  Or: it can only get worse!




            Low                High
             1x                 4x

            Ideal
          estimate
Pessimistic                  Optimistic

    Symmetrical   Asymmetrical   Symmetrical   Asymmetrical

1   0.17    6      1       6     0.67   1.5     1      1.5

2   0.25    4      1       4     0.71   1.4     1      1.4

3   0.5     2      1       2     0.77   1.3     1      1.3

4   0.67    1.5    1      1.5    0.83   1.2     1      1.2

5   0.8    1.25    1     1.25    0.91   1.1     1      1.1
Pessimistic                  Optimistic

    Symmetrical   Asymmetrical   Symmetrical   Asymmetrical

1   0.17    6      1       6     0.67   1.5     1      1.5

2   0.25    4      1       4     0.71   1.4     1      1.4

3   0.5     2      1       2     0.77   1.3     1      1.3

4   0.67    1.5    1      1.5    0.83   1.2     1      1.2

5   0.8    1.25    1     1.25    0.91   1.1     1      1.1
Pessimistic                  Optimistic

    Symmetrical   Asymmetrical   Symmetrical   Asymmetrical

1   0.17    6      1       6     0.67   1.5     1      1.5

2   0.25    4      1       4     0.71   1.4     1      1.4

3   0.5     2      1       2     0.77   1.3     1      1.3

4   0.67    1.5    1      1.5    0.83   1.2     1      1.2

5   0.8    1.25    1     1.25    0.91   1.1     1      1.1
Symmetrical uncertainty




           Pessimistic                  Optimistic

    Symmetrical   Asymmetrical   Symmetrical   Asymmetrical

1   0.17    6      1       6     0.67   1.5     1      1.5

2   0.25    4      1       4     0.71   1.4     1      1.4

3   0.5     2      1       2     0.77   1.3     1      1.3

4   0.67    1.5    1      1.5    0.83   1.2     1      1.2
Asymmetrical uncertainty




           Pessimistic                  Optimistic

    Symmetrical   Asymmetrical   Symmetrical   Asymmetrical

1   0.17    6      1       6     0.67   1.5     1      1.5

2   0.25    4      1       4     0.71   1.4     1      1.4

3   0.5     2      1       2     0.77   1.3     1      1.3

4   0.67    1.5    1      1.5    0.83   1.2     1      1.2
Use the UncertaintyFactors tab in your sheet to
         set factors and symmetry




                                 Copy the above values into
                                  the APPLIED columns to
                                 work with asymmetrical
                                        uncertainty
In the end

It's easy to estimate what you know.
It's hard to estimate what you know you don't know.
It's very hard to estimate things that you don't
know you don't know.
Overhead time

Administration and project management   1.25x

Testing                                 1.15x
COMPARE WITH GUESSTIMATE




           ???
            ho
              ur
                 s
Start big, reduce later
Awareness of time
Culture
If unsure, ask an expert
Recommended reading
What did you think?
Locate this session on the DCC website:
http://go.nodeone.se/estimates

Click the “Take the Survey” link.



Contact me
jakob@nodeone.se
http://www.twitter.com/realsolipsist
http://drupal.org/user/37564

Más contenido relacionado

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Último (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Getting Early Estimates Right, DrupalCon Chicago 2011

  • 1. Getting Early Estimates Right Jakob Persson
  • 2. Introducing me Lead Drupal Solutions Architect Co-Founder of NodeOne Worked with Drupal since 2005 jakob@nodeone.se http://www.twitter.com/realsolipsist http://drupal.org/user/37564 STOCKHOLM | GOTHENBURG | COPENHAGEN www.nodeone.se
  • 3. Introducing am and clients So me of No deOne’s te Scandinavia’s largest Drupal services provider Employs 39 people Offices in Sweden and Denmark
  • 4. What we do at NodeOne, apart from...
  • 5. card games... Hi, I’m Dries!* * No he’s not really Dries, but you knew that already. www.drupalcardgame.com
  • 6. Druplicons wielding nun- chuks... Druplicon Road Trip – “Showdown in Paris” (YouTube)
  • 7. Drupal rock stars... “The Kitten Killers” Live at DrupalCon Copenhagen (photo by Dries)
  • 8. Pilot studies Design and usability Development Hosting and scalability Training Consulting
  • 9. Early estimating “There’s no point in being exact about something if you don’t even know what you’re talking about.” — John von Neumann
  • 10.
  • 11.
  • 12.
  • 14. frustrated! bored...
  • 15. frustrated! bored... uncertain?!
  • 16. What is an early estimate?
  • 17. “Estimation is the calculated approximation of a result which is usable even if input data may be incomplete or uncertain.” Source: Wikipedia
  • 18. Use less ! http://www.sxc.hu/photo/1259850
  • 19. http://www.sxc.hu/photo/1259850 Use less ! Project X Project Y ≠ Project ?
  • 20. Early estimates vs in- project estimates Early In-project Target Feature User story Decide on Purpose investment Planning Accuracy Low to medium High Method Expert Team
  • 21. Effort and accuracy 100% Accuracy Effort Adapted from “Agile Estimating and Planning”, Cohn 2008
  • 22. Early estimates • Can be made in relatively short time • Generates estimates that aren’t based on random guesses or chance • Lets you use your experience as a yardstick and reference
  • 24. “Divide et impera”, how’s that for a strategy?
  • 25. # Title Estimate DoE Solution 1 2 A spreadsheet 3 4 – and possibly also – A Drupal-devoted developer Dick Olsson, kick-ass Drupal developer at NodeOne
  • 27. Timebox your estimation work Analyze the requirements Make initial guesstimate Extract features and write proposed solutions Estimate features Take uncertainty and errors into account Compare with guesstimate
  • 28. Tim eb ox An aly ze req uir em en Ini ts tia l gu ess ti m ate Ex tra ct fea t ure s Est im ate fea t ure s Un cer tai nty and err or Co mp s are w ith gue sst im ate
  • 30. ANALYZE THE REQUIREMENTS From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. Our site is a link directory where people with awesomely cool sites can post links to their sites. The directory is divided into categories and people can pay for premium exposure. We also have something called "link of the day" which costs $50 and puts a link to your site on the front page. The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's best to migrate manually and do the tagging at the same time. It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 31. ANALYZE THE REQUIREMENTS From: johndoe@awesomecoolwebsites.com To: You C heck o ut the sample Subject: Link directory on Drupal Hey, requirements for the We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. k d irector y site at: Our site is a link directory where people with awesomely cool sites can post lin links to their sites. The directory is divided into categories and people can pay for premium exposure. We also have something called "link of the day" which costs $50 and puts a link to your site on the front page. The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit http://bit.ly/ their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's rupalestimating best to migrate manually and do the tagging at the same time. d It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 32. MAKE INITIAL GUESSTIMATE “BETWEEN THUMB AND INDEX FINGER”
  • 33. EXTRACT FEATURES AND WRITE SOLUTIONS From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. Our site is a link directory where people with awesomely cool sites can post links to their sites. The directory is divided into categories and people can pay for premium exposure. We also have something called "link of the day" which costs $50 and puts a link to your site on the front page. The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's best to migrate manually and do the tagging at the same time. It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John
  • 34. The sample requirements for the link directory website can also be found on the web: http://bit.ly/drupalestimating
  • 35. Feature A 2 Feature B 10 Feature C 1 are broken Requirements down into Feature D 20 Feature E 5 Feature F 1
  • 36. Definition of a Feature
  • 37. Definition of a Feature A conceptually and contextually discrete piece of the final deliverables with an estimated proposed solution
  • 38. Link directory sample requirements: http://bit.ly/drupalestimating
  • 39. From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. Our site is a link directory where people with awesomely cool sites can post links to their sites. The directory is divided into categories and people can pay for premium exposure. We also have something called "link of the day" which costs $50 and puts a link to your site on the front page. The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's best to migrate manually and do the tagging at the same time. It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 40. From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. “Our site is a link directory Our site is a link directory where people with awesomely cool sites can post where people with awesomely links to their sites. The directory is divided into categories and people can pay for premium exposure. We also have something called "link of the day" which cool sites can post links to costs $50 and puts a link to your site on the front page. their sites” The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's best to migrate manually and do the tagging at the same time. It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 41. From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. “Our site is a link directory Our site is a link directory where people with awesomely cool sites can post where people with awesomely links to their sites. The directory is divided into categories and people can pay for premium exposure. We also have something called "link of the day" which cool sites can post links to costs $50 and puts a link to your site on the front page. their sites” The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's best to migrate manually and do the tagging at the same time. 1 Nodetype: Link It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 42. 1 Nodetype: Link From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. “Also, administrators must be able to approve links posted. Admins should Our site is a link directory where people with awesomely cool sites can post links to their sites. The directory is divided into categories and people can get an email when links are added so pay for premium exposure. We also have something called "link of the day" which costs $50 and puts a link to your site on the front page. they can go and check.” The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's best to migrate manually and do the tagging at the same time. It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an email when links are added so they can go and check. We want captcha so that automated postings are prevented. When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel super safe when submitting links. For this reason the whole submit process must be over secure connection. We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 43. 1 Nodetype: Link From: johndoe@awesomecoolwebsites.com To: You Subject: Link directory on Drupal Hey, We're looking into moving our site awesomecoolwebsites.com to drupal and wonder how much it would cost. We would like to get rid of the proprietary software we use and have more flexibility. Drupal seems to be the best choice for us. “Also, administrators must be able to approve links posted. Admins should Our site is a link directory where people with awesomely cool sites can post links to their sites. The directory is divided into categories and people can get an email when links are added so pay for premium exposure. We also have something called "link of the day" which costs $50 and puts a link to your site on the front page. they can go and check.” The site has a blog where we post updates and business articles on a regular basis. This blog is written by several people and they can only be able to edit their own blog posts. Though they should be able to add other users who can edit their posts so that they can cooperate on a post. We're not planning on migrating content but we're offshoring the work and all old links will be added manually. We want to tag content too and we think it's Users add links which are best to migrate manually and do the tagging at the same time. 2 unpublished before approved It's important that it's super easy to post new links and comment on blog posts. when you add a link you get a user account. Unless you have one already. Also, administrators must be able to approve links posted. Admins should get an Administrators are notified email when links are added so they can go and check. 3 We want captcha so that automated postings are prevented. when links are added When you buy a premium link you pay with credit card, we have a processor for this and drupal needs to integrate with them. It's important that users feel Administrators can view and super safe when submitting links. For this reason the whole submit process must 4 be over secure connection. approve links We plan on launching the new drupalized site in the next six months. Looking forward to your quote. Sincerely, John Website Manager
  • 44.
  • 45. 14 Featured link on the front page A view displaying a single node of type “Featured”
  • 46. 1 Nodetype: Link 2 Users add links which are unpublished before approved 3 Administrators are notified when links are added 4 Administrators can view and approve links
  • 47. # Description Proposed solution Create a node type called link and use the Link module for the 1 Nodetype: Link link field. Users add links which are Use Flag and Rules modules to create a workflow. The workflow 2 unpublished before approved sets a newly created Link node as unpublished. Administrators are notified Workflow created with Rules, it sends an email to the webmaster 3 when links are added once a link node is created. Administrators can view and A list of unpublished nodes of type “link”, created using the Views 4 approve links module.
  • 48. -30%
  • 49. -30%
  • 50. Do this Code less Use the UI instead
  • 51. By: http://www.sxc.hu/profile/agentoseis Get this Future-proof your website Enjoy a safe upgrade path http://www.flickr.com/photos/jns001/2958140977/
  • 52. Estimation sheet with sample requirements http://bit.ly/estimationsheet3
  • 54. Number Description Estimate Degree of Experience Proposed Solution Use Flag and Rules modules to create a Users add links which are unpublished 2 2 5 workflow. The workflow sets a newly before approved created Link node as unpublished.
  • 55. Number Description Estimate Degree of Experience Proposed Solution Use Flag and Rules modules to create a Users add links which are unpublished 2 2 5 workflow. The workflow sets a newly before approved created Link node as unpublished.
  • 57. • Development • Writing automated tests • Configuration • Testing • Fixing bugs • Deploying to staging server
  • 58. Estimating using a scale • Scale of fixed number of hours • Only use numbers from the scale. • Always round up 1 2 4 8 16
  • 59. Popular scale 1 2 4 8 16
  • 60. Popular scale 1 2 4 8 16 Scale I use 1 2 5
  • 61. Use Flag and Rules modules to create a Administrators are notified when links 3 workflow. The workflow sets a newly are added created Link node as unpublished.
  • 62. Use Flag and Rules modules to create a Administrators are notified when links 3 workflow. The workflow sets a newly are added created Link node as unpublished. ~ 3 hours (ideally)
  • 63. Use Flag and Rules modules to create a Administrators are notified when links 3 workflow. The workflow sets a newly are added created Link node as unpublished. ~ 3 hours (ideally) 2 5
  • 64. Use Flag and Rules modules to create a Administrators are notified when links 3 are added 5 workflow. The workflow sets a newly created Link node as unpublished. ~ 3 hours (ideally) 2 5
  • 65. Factor 0.1 Scale I use Factor 1 1 2 5 Factor 10 10 20
  • 66. Factor 0.1 Factor 1 1 2 5 Factor 10 10 20
  • 67. Changing settings or setting Factor 0.1 configuration Factor 1 1 2 5 Factor 10 10 20 Add a user reference field to Article Co-authors for articles 0.2 node type
  • 68. Changing settings or setting Factor 0.1 configuration Building functionality using Drupal’s Factor 1 1 2 5 user interface Factor 10 10 20 List of most popular user profiles based Add a user reference field to and sorts it A view listing Profile nodes Article Co-authors for articles 0.2 1 on number of guestbook entries node type the number of comments each based on has
  • 69. Changing settings or setting Factor 0.1 configuration Building functionality using Drupal’s Factor 1 1 2 5 user interface Developing new modules or themes Factor 10 10 20 AWrite listing Profile field to and sorts it view a reference nodes Article Add a usermodule that POSTs the user’s List of most popular user profiles based Co-authors userarticles with mailing list 0.2 Integrate for accounts 110 node type the number of comments each based on email address to the provider’s REST API on number of guestbook entries service provider has when the user registers.
  • 70. 50+
  • 71. goo Estimating http://www.sxc.hu/photo/716594
  • 73. The cone of uncertainty 4x 2x 1.5x Estimate 1.25x 1.0x error 0.8x 0.67x 0.5x 0.25x Resolution of decisions in the course of a project
  • 74. The cone of uncertainty 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x
  • 75. The cone of uncertainty 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x Rough idea 0.25x - 4x
  • 76. The cone of uncertainty 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x Rough idea User Interface Design Complete 0.25x - 4x 0.8x - 1.25x
  • 77. The cone of uncertainty 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x
  • 78. The cone of uncertainty 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x
  • 79. The cone of uncertainty 4x 2x 1.5x 1.25x 1.0x 0.8x 0.67x 0.5x 0.25x
  • 80. Annonsera | Kontakta oss | In English Sök Maria Jakobsson | Min profil Nyheter Bli medlem Engagera dig Aktiviteter Career Service Partners Reversen Om oss Logg ut Fritid, utbildning & framtid Vi stoltserar idag med drygt 2 200 medlemmar och är därmed en av Uppsalas största studentföreningar. Vi intresserar oss för allt som rör fritid, Bli medlem framtid och studier för studenter med ekonomianknytning i Uppsala och jobbar ständigt för att på ett professionellt sätt utveckla både utbildningen och studiernas förankring till arbetslivet. Läs mer om oss "Detta är varför jag tycket du skall engagera dig!" NAMN NAMNSSON, ORDF Meningsfull och rolig tillvaro vid Täta kontakter och nära Bevakar och förbättrar sidan av studierna genom relationer med näringslivet utbildningen genom fester och events, sport, spel- genom föreläsningar, besök, utvärdering och påverkan i KOMMANDE AKTIVITETER och filmkvällar med mera casetävlingar, jobbannonser och nära samarbete med informella möten studenterna och universitet Alla Fritid Framtid Studier 12/12 Luciabalen med grodornas afton SENASTE NYTT Fritid Framtid Studier Restaurang Lantis, 17.45 - 01.00 12/12 Luciabalen med grodornas afton Restaurang Lantis, 17.45 - 01.00 12/12 Luciabalen med grodornas afton Restaurang Lantis, 17.45 - 01.00 12/12 Luciabalen med grodornas afton Restaurang Lantis, 17.45 - 01.00 12/12 Luciabalen med grodornas afton Restaurang Lantis, 17.45 - 01.00 Fler aktiviteter... På ekonomikum just nu: Kontaktdagarna Den 2:a och 3:e februari är det äntligen dags för årets mest efterlängtade Detta är en puff mässa med 60 företag och organisationer som kommer till Uppsala för att Sveriges bästa nollning är i full träffa dig! Kontaktdagarna är ett ypperligt tillfälle att knyta nya kontakter gång i Uppsala och du hittar den med intressanta företag och hämta inspiration på föreläsningar som hålls här. > Läs mer av inflytelserika personer. Mässan öppnar klockan 10 på onsdag den 2 februari. Var med redan från start! Detta är en puff Sveriges bästa nollning är i full gång i Uppsala och du hittar den här. > Läs mer
  • 81.
  • 83. Chaotic development Requirements that weren’t investigate d very well
  • 84. Chaotic development Poor coding practices cause extensive bug fix ing Requirements that weren’t investigate d very well
  • 85. Chaotic development Inexperi enced pe Poor coding practices cause extensive bug fix r sonnel ing Requirements that weren’t investigate d very well
  • 86. Chaotic development Inexperi enced pe Poor coding practices cause extensive bug fix r sonnel ing Incomplete or unskilled project planning Requirements that weren’t investigate d very well
  • 87. Chaotic development g under pressure Abandoning plannin Inexperi enced pe Poor coding practices cause extensive bug fix r sonnel ing Incomplete or unskilled project planning Requirements that weren’t investigate d very well
  • 88. Chaotic development g under pressure Abandoning plannin Inexperi enced pe Poor coding practices cause extensive bug fix r sonnel ing Incomplete or unskilled project planning Requirements that weren’t investigate d very well Developer gold-plating
  • 89. Chaotic development g under pressure Abandoning plannin Inexperi enced pe Poor coding practices cause extensive bug fix r sonnel ing Lack of automated source code control Incomplete or unskilled project planning Requirements that weren’t investigate d very well Developer gold-plating
  • 91. Overlooked activities Migration of data Producing help or documentation Deployment Integrating third party systems Working with a third party
  • 97. Unfounded optimism “You never have to fear that estimates created by developers will be too pessimistic, because developers will always generate a too- optimistic schedule.” – Chris Peters, Microsoft Vice President
  • 100. Assume for clarity Make an assumption and communicate it: “I’m not sure what you mean by ‘integrated user bookmark blogging’ so I assume you mean this, and that’s what I’ve estimated.”
  • 102. Avoid uncertain solutions Base solutions on wireframes and mockups or comps if available.
  • 103. Avoid uncertain solutions Base solutions on wireframes and mockups or comps if available. Proposing well-tested solutions you have used before.
  • 104. Avoid uncertain solutions Base solutions on wireframes and mockups or comps if available. Proposing well-tested solutions you have used before. Researching solutions by googling, reading articles and blog posts.
  • 105. Avoid uncertain solutions Base solutions on wireframes and mockups or comps if available. Proposing well-tested solutions you have used before. Researching solutions by googling, reading articles and blog posts. Prototyping solutions in Drupal.
  • 106. Avoid uncertain solutions Base solutions on wireframes and mockups or comps if available. Proposing well-tested solutions you have used before. Researching solutions by googling, reading articles and blog posts. Prototyping solutions in Drupal. Avoiding solutions that require integration with unknown third-party solutions.
  • 107. Factoring in solution uncertainty
  • 108. Degrees of experience You have done the exact same thing in other projects. Someone else at your company has done it in other projects. You have read about it a way to solve it. You can think of a solution that seems reasonable/possible. You have no idea how to implement a solution.
  • 109. Degrees of experience 5 You have done the exact same thing in other projects. Someone else at your company has done it in other 4 projects. 3 You have read about it a way to solve it. You can think of a solution that seems reasonable/ 2 possible. 1 You have no idea how to implement a solution.
  • 110. # Description Est Degree of Exp. Proposed solution Create a node type called link and 1 Nodetype: Link 1 5 use the Link module for the link field. Use Flag and Rules modules to 2 Users add links which are unpublished before approved 2 4 create a workflow. The workflow sets a newly created Link node as unpublished. Workflow created with Rules, it 3 Administrators are notified when links are added 5 3 sends an email to the webmaster once a link node is created. A list of unpublished nodes of type 4 Administrators can view and approve links 2 5 “link”, created using the Views module.
  • 111. Degrees of experience Deg. Description 5 You have done the exact same thing in other projects. 4 Someone else at your company has done it in other projects. 3 You have read about it a way to solve it. 2 You can think of a solution that seems reasonable/possible. 1 You have no idea how to implement a solution.
  • 112. Degree of experience Deg. Description U You have done the exact same thing 5 in other projects. Someone else at your company has 4 done it in other projects. You have read about it a way to solve 3 it. You can think of a solution that 2 seems reasonable/possible. You have no idea how to implement 1 a solution.
  • 113. Degree of experience Deg. Description U You have done the exact same thing 5 in other projects. Someone else at your company has 4 done it in other projects. You have read about it a way to solve 3 it. You can think of a solution that 2 seems reasonable/possible. You have no idea how to implement 1 a solution.
  • 114. Degree of experience Deg. Description U You have done the exact same thing 5 in other projects. Someone else at your company has 4 done it in other projects. You have read about it a way to solve 3 it. You can think of a solution that 2 seems reasonable/possible. You have no idea how to implement 1 a solution.
  • 115. Degree of experience Deg. Description U You have done the exact same thing 5 in other projects. Someone else at your company has 4 done it in other projects. You have read about it a way to solve 3 it. You can think of a solution that 2 seems reasonable/possible. You have no idea how to implement 1 a solution.
  • 116. Degree of experience Deg. Description U You have done the exact same thing 5 in other projects. Someone else at your company has 4 done it in other projects. You have read about it a way to solve 3 it. You can think of a solution that 2 seems reasonable/possible. You have no idea how to implement 1 a solution.
  • 117. Degree of experience Deg. Description U You have done the exact same thing 5 in other projects. Someone else at your company has 4 done it in other projects. RESEARCH IT! 3 You have read about it a way to solve it. You can think of a solution that 2 seems reasonable/possible. You have no idea how to implement 1 a solution.
  • 118. Degree of experience Deg. Description U You have done the exact same thing 5 4x in other projects. Someone else at your company has 2x 4 done it in other projects. 1.5x 1.25x You have read about it a way to solve 1.0x 3 0.8x it. 0.67x You can think of a solution that 0.5x 2 seems reasonable/possible. 0.25x You have no idea how to implement 1 a solution.
  • 119. Degree of experience Deg. Description Uncertainty factor You have done the exact same thing 5 0.8x - 1.25x in other projects. Someone else at your company has 4 0.67x - 1.5x done it in other projects. You have read about it a way to solve 3 0.5x - 2x it. You can think of a solution that 2 0.25x - 4x seems reasonable/possible. You have no idea how to implement 1 - a solution.
  • 120. # Description Est Degree of Exp. Range Low High Pro 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new unp Wo Administrators are notified 5 × 0.5 = 2.5 an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod A li Administrators can view and 2 × 0.8 = 1.6 “lin 4 approve links 2 5 2 × 1.25 = 2.5 1.6 2.5 mo
  • 121. # Description Est Degree of Exp. Range Low High Pro 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new unp Wo Administrators are notified 5 × 0.5 = 2.5 an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod A li Administrators can view and 2 × 0.8 = 1.6 “lin 4 approve links 2 5 2 × 1.25 = 2.5 1.6 2.5 mo
  • 122. # Description Est Degree of Exp. Range Low High Pro 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new unp Wo Administrators are notified 5 × 0.5 = 2.5 an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod A li Administrators can view and 2 × 0.8 = 1.6 “lin 4 approve links 2 5 2 × 1.25 = 2.5 1.6 2.5 mo
  • 123. # Description Est Degree of Exp. Range Low High Pro 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new unp Wo Administrators are notified 5 × 0.5 = 2.5 an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod A li Administrators can view and 2 × 0.8 = 1.6 “lin 4 approve links 2 5 2 × 1.25 = 2.5 1.6 2.5 mo
  • 124. ee of 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Summing up estimates Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new unp Wo Administrators are notified 5 × 0.5 = 2.5 an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod 191 147 271
  • 125. ee of 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Summing up estimates Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new Summary of unp ideal estimates Wo Administrators are notified 5 × 0.5 = 2.5 an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod 191 147 271
  • 126. ee of 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Summing up estimates Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new Summary of unp ideal estimates Wo Administrators are notified 5 × 0.5 = 2.5 Sum range high an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod 191 147 271
  • 127. ee of 1 × 0.8 = 0.8 Cre 1 Nodetype: Link 1 5 1 × 1.25 = 1.25 0.8 1.25 the Summing up estimates Use Users add links which are 2 × 0.67 = 1.34 aw 2 unpublished before approved 2 4 2 × 1.5 = 3 1.34 3 new Summary of unp ideal estimates Wo Administrators are notified 5 × 0.5 = 2.5 Sum range high an e 3 when links are added 5 3 5 × 2 = 10 2.5 10 nod 191 147 271 Sum range low
  • 128. Symmetrical uncertainty Low uncertainty Low High 0.8x 1.25x Ideal estimate
  • 129. Symmetrical uncertainty High uncertainty Low High 0.25x 4x Ideal estimate
  • 130. Asymmetrical uncertainty Or: it can only get worse! Low High 1x 4x Ideal estimate
  • 131. Pessimistic Optimistic Symmetrical Asymmetrical Symmetrical Asymmetrical 1 0.17 6 1 6 0.67 1.5 1 1.5 2 0.25 4 1 4 0.71 1.4 1 1.4 3 0.5 2 1 2 0.77 1.3 1 1.3 4 0.67 1.5 1 1.5 0.83 1.2 1 1.2 5 0.8 1.25 1 1.25 0.91 1.1 1 1.1
  • 132. Pessimistic Optimistic Symmetrical Asymmetrical Symmetrical Asymmetrical 1 0.17 6 1 6 0.67 1.5 1 1.5 2 0.25 4 1 4 0.71 1.4 1 1.4 3 0.5 2 1 2 0.77 1.3 1 1.3 4 0.67 1.5 1 1.5 0.83 1.2 1 1.2 5 0.8 1.25 1 1.25 0.91 1.1 1 1.1
  • 133. Pessimistic Optimistic Symmetrical Asymmetrical Symmetrical Asymmetrical 1 0.17 6 1 6 0.67 1.5 1 1.5 2 0.25 4 1 4 0.71 1.4 1 1.4 3 0.5 2 1 2 0.77 1.3 1 1.3 4 0.67 1.5 1 1.5 0.83 1.2 1 1.2 5 0.8 1.25 1 1.25 0.91 1.1 1 1.1
  • 134. Symmetrical uncertainty Pessimistic Optimistic Symmetrical Asymmetrical Symmetrical Asymmetrical 1 0.17 6 1 6 0.67 1.5 1 1.5 2 0.25 4 1 4 0.71 1.4 1 1.4 3 0.5 2 1 2 0.77 1.3 1 1.3 4 0.67 1.5 1 1.5 0.83 1.2 1 1.2
  • 135. Asymmetrical uncertainty Pessimistic Optimistic Symmetrical Asymmetrical Symmetrical Asymmetrical 1 0.17 6 1 6 0.67 1.5 1 1.5 2 0.25 4 1 4 0.71 1.4 1 1.4 3 0.5 2 1 2 0.77 1.3 1 1.3 4 0.67 1.5 1 1.5 0.83 1.2 1 1.2
  • 136. Use the UncertaintyFactors tab in your sheet to set factors and symmetry Copy the above values into the APPLIED columns to work with asymmetrical uncertainty
  • 137. In the end It's easy to estimate what you know. It's hard to estimate what you know you don't know. It's very hard to estimate things that you don't know you don't know.
  • 138. Overhead time Administration and project management 1.25x Testing 1.15x
  • 139. COMPARE WITH GUESSTIMATE ??? ho ur s
  • 143. If unsure, ask an expert
  • 144.
  • 146. What did you think? Locate this session on the DCC website: http://go.nodeone.se/estimates Click the “Take the Survey” link. Contact me jakob@nodeone.se http://www.twitter.com/realsolipsist http://drupal.org/user/37564