• Changing Beliefs... Don't worry, I'll protect you.

    I was searching for a specific quote that I saw one time. Someone said you can't change people's beliefs, you just have to let them die off and surround yourself with more and more people of the same belief.

    However, I could not find this quote anywhere. I did find this interesting article about beliefs and why data may not be enough to sway people's belief and the WHY.

    So, let's think about this from my favorite pet topic... Waterfall vs Agile thinking.

    If i'm a well established project manager in a corporation with numerous years of experience and responsibility over a project or a program of projects then i have a large flock to protect. I have a survival instinct to ensure success and to win the pats on the backs from executive management.

    The good survival mechanisms are to understand scope, risk, control change and head off any surprises before they can become nasty rashes in the face of executive management. My job is the spin game while balancing people's happiness and commitments to the project.

    Now in comes agility and says we're going to make everything hugely visible to everyone!

    Whoa, what? You're going to tell everyone exactly what's going on whether it's good or bad? This could be painful!

    Immediately i'm in survival mode and feeling that this is a bad idea. There's plenty of evidence that visibility into the project is healthy for the project and the organization, however let's ignore that because I am! This is survival mode. I want my executives happy!

    So what do you have to do to take my 'fear' away?

    How would you make me know that your agile team is going to protect me and the project? what is my safety net?

    Thanks to Jacob at commerce for pointing this out to me by saying "Find out what's causing them pain and help take that away, then they'll have no reason to not do it"

    Full story

    Comments (0)

  • Setting up SQL Membership Provider for Sharepoint

    I was working through Todd Bleeker's book and ran into this error with the asp.net web site administration security tab.

     

    The connection name 'LocalSqlServer' was not found in the applications configuration or the connection string is empty. (C:\Windows\Microsoft.NET\Framework\v2.0.50727\Config\machine.config line 141)

    Basically, i had to go add the corrected database name into the machine config so that i could add users to the asp.net sql database.

    Looked like this for me:

    <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=SharePoint_Config;Integrated Security=True" providerName="System.Data.SqlClient"/>

    Full story

    Comments (0)

  • State Line Nissan. Liars.

    For the record... i was pimpin' their sales and service and thought a lot of them. That was until they lied to me.

    Lied to my face and then denied it.
    The finance manager and sales associate i worked with (Tony Schuff and Mike leonard) both said they work off referrals and that any referral i bring in to look at a car (mind you, i even asked if they had to buy one and they said no) would result in me getting a car payment paid (up to a maximum of $500 they said).

    They even went into this elaborate story about a guy who brought in a person every month to get his truck paid for.


    So i've been asking my friends over and over all year long until i finally found a friend who wants a car (a nissan altima specifically and is looking for the right deal) and brought him in. They couldn't close the deal so they refuse to pay me the referral until they do close the deal.

    They say that's their policy, which it is and I know that "now", but when they lied to my face they broke my trust.

    I will never ever give them any more of my money nor any of my friends' business. I recommend everyone stay away from State Line Nissan, especially Mike Leonard.

    Full story

    Comments (0)

  • Jerry Durant Smacks me down on 'tech speak'

    I got smacked down in Jerry's class today because Jerry said

    "the scrum master and business owner collaborate through a common interface of business and technical knowledge..."

     i suggested

    "what about using what xp calls the system metaphor"

    He responded paraphrased, "Business owners won't get that tech stuff"

    ... like a metaphor is techie... I think anyone who's taken Comp I knows what a metaphor is.

    That aside, Jerry gave us a great presentation of agility that was very user story and collaboration centric so for that I give his custom adaptation of xp, scrum, and crystal clear a huge 2 thumbs up.

    What i really learned is how to collaborate unit and acceptance testing. I do not know if everyone else in the room came away with this same thought, but I look at it like this:

    If i'm writing on the back of a card ideas or objectives of 'things to test'. Or reminders. Then "Who does the testing" is irrelavent. It's more contextual than that.

    For some things, i may write some unit tests.

    Maybe I'll do some manual tests.

    Maybe i'll do a UI Script/automation.

    Let's take a look at it more closely... Let's say i have this 'user story"

    As a customer I want to purchase an order with a credit card.

    As a developer, i'm going to have to write the following functions and test them:

    "Purchase" - test card input, validation, and verification of the sale.

    "Add Product to Order" - test that i can add and remove products from the order

    "Get list of products" - test that i can retrieve products from my source of data.

    As far as acceptance testing... i may want to smoke test the UI to make sure i see the list of products and that the flow works properly... but i won't need to test cards because the developer has already done unit tests that do that.

    Fact is, when testing... everyone is responsible for testing... including the business owner. Everyone should realize what is being tested and what is NOT being tested and WHY and agree to it!

    That's what i came away with and am very excited to see it put into play.

    Full story

    Comments (0)

  • Relative estimating... and don't call it agile.

     

    I was having a discussion with a project manager and they were saying that relative point estimates cannot accurately depict how much effort can fit in an iteration. I was showing them the cone of uncertainty and explaining that at the start, before we have 'detailed requirements' we may be up to 1/4th or 4x off in estimates in hours, but if we estimate items relative to eachother we'll still be "right" because we're relating them to eachother, not to 'hours'.

    Let's put it another way...

    how many milimeters is between these pipes

    |                                                                        |

    Pretty hard to guess, also, what about screen size, what about screen resolution?

    Now what if i said, put a pipe in the middle of those 2 pipes. you'd probably get pretty close to the 'perfect' middle. like this:

    |                                    |                                   |

     

    So no matter how many milimeters it is from pipe 1 to pipe 2, i know that from pipe 2 to pipe 3 will be about the same! (on any screen).

    Plus, if you give a developer 3 days to do something, they're going to take all 3 days (or more). In fact they might not even start until the third day being overconfident they can do it faster than 'the team' estimated it in ideal hours.

    on a different note...

    Stop with the Do-hicky wizzbang snake oil magic bullet sauce throwing around of 'agile'. Believe me, i tried it... it was a mistake.

    Think of it more like "let's just work together, allow the customer to drive the bus, make visible to them how their changes impact the project, and deliver 'something' every couple weeks to a month".

    When you stop worrying about methodology, excessive documents, project management bs, task reporting, and focus on delivering working software as a team... everything else clicks and the problems that rear their heads are obvious.

     

    Full story

    Comments (0)

  • Is it Done yet?

    One of our business analysts caught me being too serious today about the definition of "Done" and sent me this:

    "The USDA highly recommends use of a meat thermometer to determine doneness…"

     thermometer.JPG

     

    Just like a thermometer, we have to have some way of know when we're done. Chicken is done at 160 degrees... software is done when it has met the organizational standards for quality and readiness.

    What are your organizational standards for "Done"?

     

     

    Full story

    Comments (0)

  • Chris Sterling recounts discussions around Technical Debt

    Chris Sterling goes over some of the things they discussed and shares his account of the workshop with us.

    Technical debt is an interesting topic because we do not necissarily have a succinct measurement of it. Generally speaking things like mechanical engineering and electrical engineering have been blessed (or cursed) with standards that give them a common terminology or view of what 'good' engineering practices are.

    In the world of software development we have a time-honored tradition to measure success on revenue and deadlines and sacrifice quality to get there.

    Talk with your team about what technical debt is to them and come to a consensus and stick to your guns as technical people because non-technical people really need you to tell them when quality is being sacrificed and technical debt is being accrued.

    Full story

    Comments (0)

  • Silverlight 2.0 goofin'

    I was dreaming about using silverlight in a banking app and threw this 'real time updating' account information app together.

    I used the data grid control by Component One

    If a company had the right event structure and you used push services like wcf net.tcp or biztalk.net you could do something like this pretty easily ...

     

    note: this is not ajax, this is real multi-threading.

     

    Here's the relavent sample code:

     

           List<Account> accounts = new List<Account>();

            public Page()

            {

                InitializeComponent();

                this.Loaded += new RoutedEventHandler(Page_Loaded);

            }

     

            void Page_Loaded(object sender, RoutedEventArgs e)

            {

               

                Account account = new Account();

                account.Name="checking";

                account.AvailableBalance=238.87M;

                account.CurrentBalance=242.28M;

                account.AccountNumber="******823";

                accounts.Add(account);

                account = new Account();

                account.Name = "savings";

                account.AvailableBalance = 2000.00M;

                account.CurrentBalance = 2000.00M;

                account.AccountNumber = "******544";

                accounts.Add(account);

                this.AccountsGrid.DataSource = accounts;

               

                System.Threading.Thread myThread = new System.Threading.Thread(DoStuff);

     

                myThread.Start();

     

     

            }

            private void DoStuff()

            {

                while (accounts[1].AvailableBalance > 1)

                {

                    System.Threading.Thread.Sleep(100);

                    accounts[0].AvailableBalance += 1;

                    accounts[1].AvailableBalance -= 1;

                    //now dispatch to the original thread to update the UI.

                    this.Dispatcher.BeginInvoke(new Action(this.AccountsGrid.EndUpdate));

                }

            }

    Full story

    Comments (0)

  • Scrumworks pro webinar

    As much as i believe that notecards and stickies are the best agile tool possible... the rest of the real world has to deal with things like non-collocated teams and audit captures (if we say we're maintaining a backlog of product features we have to keep it backed up and retrievable in case of an audit for example)

     

    Anyhow, scrumworks is presenting a webinar on the scrumworks pro product.

    I will be presenting scrumworks basic at AgileKC meeting on August 28th at the 95th street Pizza Shoppe

    Update: it appears danube has some other free webinars, even some around scrum itself

    Full story

    Comments (0)

  • "Clean code" reads like common sense!

    I picked up robert martins "Clean Code". It reads beautifully as if it was all common sense. Basically if you had to put into words everything you ever saw as 'clean code' it would look alot like the first chapter of this book, but then Bob goes on to show you exactly what those words mean with code samples and in depth reasoning why code craftsmanship will make your daily programming life easier and more enjoyable.

    Bob makes us remember some of the ordinary things like making sure to use short methods (and then make them shorter than that!) and take time to refactor bad code to some clean code instead of adding comments.

    He talks about the reasons to use procedural code with data objects and then OO code but why to stay away from "Hybrids" of the two.

    I read half the book in a single setting because it was just so amazing to read some of the practices I'd love to be able to replace our existing legacy code with.

    Fowler tells us in 'refactoring' to be sure to have automated unit tests before we do any refactoring, so make sure you pick up Michael Feathers' book on Legacy Code to know just how to get your legacy code under test before taking on any 'clean code' practices with existing code.

     

     

    Full story

    Comments (0)

  1. 1
  2. 2
  3. Next page