Agile FAQs
  About   Slides   Home  

 
Managed Chaos
Naresh Jain’s Random Thoughts on Software Development and Adventure Sports
     
`
 
Discovering...
Industrial Logic

Microblog Feed
    Previous Feeds...
    Recent Thoughts

    Recent Comments
    Categories
    Archives
    March 2010
    M T W T F S S
    « Feb    
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
    RSS Feed
    Add to Technorati Favorites

    Archive for the ‘Crib’ Category

    Stop Sprinting, Start Minting

    Friday, October 23rd, 2009

    These days, its not uncommon to see teams, who are doing all their Product Backlog Management to Sprint Planning t0 Daily Scrums to Reviews to Retrospectives perfectly fine, as described in the book (or the 2 days Certified Scrum Master course). But somehow along the way, we seemed to have lost the point. We are doing all the process stuff correctly, except that we don’t seem to be”actually” making money (minting).

    The problem I see is, teams are doing as they are told, except that post demo, they don’t actually release the software (deploy it into production). Most teams are very happy showing the demos at the end of the sprints. They start thinking that this new process they are following is magical. Until 6 months later, their so-called “Product Owner” comes backs saying I didn’t quite expect “this” this-way and I thought “that” would be “this” and not really “that”. That is when it hits the team that what they were really doing was building inventory and basically doing a compress-waterfall.

    Until you actually release your software and see your end-users actually use it in real life, you don’t have the most important feedback. Hence you are not “done” until you really see you users use the feature you just released (and probably you are not even done after that. “Done-Done” was a cute concept, get over it). There is no better means of feedback nor is there a better risk-reduction strategy other than releasing software to production frequently (at least every week).

    Remember un-deployed code sitting in your repository is a liability. So is all your fancy product backlogs and grandiose plans.

    • Share/Bookmark

    Annoyed by the amount of Energy wasted in US

    Thursday, August 27th, 2009

    I’m in Chicago attending the Agile 2009 conference. I’m getting really annoyed by how much energy is being wasted here:

    • Everything (soda, water, lemonade) has a ton of ice in it. Just think of the amount of energy wasted having those coolers running 24/7.
    • Central Air-conditioning: Every conference room, hall way, lobby is set at 60F (15.5c). You see people wearing full sleeves, pullovers, etc.
    • Stair cases have been replaces with escalators everywhere.
    • I have hot water in the taps 24 hrs a day
    • People using treadmills instead of going out and jogging.
    • The list can go on…

    While the world is crying about Global Warming, Energy Crisis, and so on. Here I find energy being wasted wasting senselessly. I’m not sure if people don’t care or they are ignorant or they simply not aware of the implications.

    P.S: I’m also annoyed by the amount of waste (plastic and paper) generated. The funny thing is, everywhere you have these different color dust-bins with recycle logo on it. But you’ll find people use 5 different plastic glasses if they want to drink 5 glasses of water. I don’t think they get the whole point.

    • Share/Bookmark

    Interested in Agile Training/Consulting for your Organization?

    Monday, June 29th, 2009

    Recently I’ve been getting a lot of request for Agile Training and Consulting. Unfortunately the expectations from the training are not clear for me. Most people approach me saying, “we want a TDD training” or “we want a Project Management training“. Once I start talking to them & their team (or even worse sometime during the training), I realize the topic we’re discussing is not their biggest issue. I get a feeling that most organizations have not done their homework to figure out what they really need and how they should go about it. They might have heard somewhere that ‘blah’ will help them and they want to jump on it.

    Few months ago I started doing readiness assessments before my trainings. (I’ve also started doing assessments after my training so see if the training was effective.) But I have realized the assessment is not enough. So I’ve started asking the following questions even before the assessments:

    • What kind of issues your organization is facing currently and do you think Agile will help you? If yes, why so?
    • What is the current strength of your development team? How experienced is the team with software development? Does your team understand all aspects of software development?
    • What is the current process you follow? In other words, from the inception of an idea to the delivery of the same, what are the various steps and people involved?
    • What is a day in life of a team member (one per role please)?
    • How do your stakeholders (including customers) perceive your team/organization? Currently how do you gather feedback from them?
    • How would you rate the technical know-how of your team? Are they able to quickly resolve technical challenges and respond to changing priority of the business?
    • Is your team/organization open to trying out things that might seem non-intuitive/illogical? For Ex: Letting the requirements evolve during the project, not freezing them? Letting tests drive your design?
    • And so on …

    Luckily a lot of organizations don’t get back to me with answers for these questions. This is really good for me, because this acts as a filtering criteria. I feel I would have wasted my time training/coaching this team. There are others who are in much more need and are more receptive to what I’ve to contribute.

    • Share/Bookmark

    Most Common Agile Adoption Pattern

    Tuesday, May 5th, 2009

    Someone, really high up the hierarchy (one of the CxOs), after reading a bunch of case studies and reports, decides Agile is the way to go. She builds a business case and announces

    We’re going Agile. This will solve all our problems. Our software products will be delivered faster than light.

    Hand picked set of managers are sent to the near-by, favorite Scrum Certification course. And from that day onwards, the army of software slaves wear their Agile uniforms and start marching. Starting with those pre-pre-pre-pre-poker; sorry planning meetings to the re-re-re-review meetings to the daily (ouch my legs hurt) scrums. And of course the wet-row-spectives.

    After doing all this, your company don’t even see the light, forget delivering products at lightening speed. Then of course you hire a X-Stream black-belt consultant to explain you why you need another Engineering process to succeed. So you start doing TDD, no BDD, no TDD, no RDD with automagic retractoring and revolutionary markitecture. Knowledge of resign patterns is mandated. You also instill the promiscuous rare-programming with sustainable mace and so on.

    You continue down this path cursing yourself that you are not good enough. Only if you had the right set of people perfectly following the process, you could see fluffy bunnies jumping all over the place.

    • Share/Bookmark

    Software Development continues to be Episodic

    Saturday, May 2nd, 2009

    I guess you agree with me that software development is a continuous evolutionary process. While developing a software product one should be in a flow mode rather than an episodic mode. As Sandeep puts it, its activity v/s events. This goes back to the philosophy of eXtreme programming.

    If something is good, do it all the time OR as they say, push the nob to 10.

    • We realized that integrating early and often is good, hence we started doing Continuous Integration.
    • We realized that we cannot plan once and then just follow the plan, we need to continuous keep planning and prioritizing work.
    • We realized that code reviews are helpful, hence we started Pair Programming.
    • We realized that testing early and often is good, hence we started Test Driven Development.
    • We realized that one cannot think of all scenarios and design software upfront. Since software keeps evolving and software degrades (bit-rot) over time, we need to refactor code all the time (mercilessly).
    • And so on.

    This is what I mean by flow mode (activity) rather than an episodic mode (event).

    In Agile, we’ve tried to apply this principle in various places like

    • Product Visioning
    • Managing Product Backlogs (Requirements)
    • Release Planning
    • Iteration Planning
    • Retrospective
    • User feedback
    • Daily Stand-up meetings
    • And so on…

    But what I feel is a lot of it is still very episodic. For example,

    • If a developer hits a road block, they sit on it till the next day’s stand-up meeting. Because stand-up meeting is where we discuss roadblocks.
    • If we find something is hurting us, we wait till the retrospective to discuss about it.
    • If we discover some acceptance criteria cannot be met or is flawed during the iteration, we wait till the demo to communicate that with the customer/product owner.
    • If we discover a new killer feature during an iteration, we wait for the planning meeting to discuss that and prioritize it on the backlog.
    • We wait till the end of the release to do Performance testing, Hallway Usability testing and other important tests.
    • And so on….

    The Lean community is trying to address a lot of these issues. As long as we think of software development activities as episodes and not as continuous flow of activities it would be very difficult to really implement kaizen and evolve.

    • Share/Bookmark

    Yahoo Groups: Moderated Messages

    Friday, March 6th, 2009

    Yahoo Groups’ message moderation is behaving weirdly (I think its a bug). I moderate various groups on YG. For all the groups, I’ve setup posting to the group such that first post from any new member will be moderated and after that they can post messages without moderation.

    But for a large number of members, for some reason, all their messages are moderated. On checking their setting it shows:

    “Posting Messages: Override: This member’s posts are always moderated”

    I don’t understand why YG is behaving this way.

    Solution: Edit the user’s membership. Under the edit membership page, there is a small edit link next to the “Override: This member’s posts are always moderated”.

    Once you click on the edit link, it takes you to Edit Message Posting Privileges page where you’ll have to select the “Use current group message posting setting” option.

    Save the settings and you should be good to go.

    • Share/Bookmark

    Goodbye SourceForge

    Thursday, December 18th, 2008

    Today I’ve decied to leave an old friend behind. I really cannot keep up with SF’s speed any more. Its time to move on. I’m slowly going to move all my open source projects to Google Code or GITHub.

    • Share/Bookmark

    Stop using us as Guinea-Pigs

    Friday, December 12th, 2008

    I’m trying to transfer some money from my account to another account, I enter all the details with passwords and what not and finally I get this…

    Error Message

    Wonderful, Self-explanatory Error Message!

    Come on guys, test your bloody software. Don’t use us as guinea-pigs.

    • Share/Bookmark

    Monkey See Monkey Do

    Saturday, November 8th, 2008

    Most people know that if something has happened in the past, repeating the same steps again in a different environment, will not produce the same results.

    Then why do most companies try to imitate other successfully company? They expect that doing what other successful companies did, will also make them successful.

    If my company builds a search engine like Google, we’ll also be successful is bullshit. For 2 reasons. Google was not successful just because of its search engine, it was their business model around traffic monotization that made them a lot of money. Secondly there are enormous other factors that play in this context. Things like timing, market condition, skilled resources, vision, etc also play an important role.

    For a sec if we assume that we can reproduce all these things, can we then be as successful as Google? My take is No. The rationale behind my answer comes from understanding that we live in a complex adaptive system. Which means the system adapts over time. So if we give the same input the system will not necessarily produce the same results. By now the system has adapted itself.

    Sure there are important lessons and ideas to be learnt from others. IMHO, just following what they did will not take a company anywhere. In some cases it will do more harm than good.

    A good example of this phenomena is, software companies trying to imitate Toyota production system and its lean manufacturing process. Toyota production system is out in the public domain for at least over a decade now. Forget software companies, why don’t we have another car company as successful as Toyota?

    Simply because imitating some other company does not make you them.

    Another exmaple comes from the Agile community. A lot of companies are trying to imitate the standard Scrum process or are trying to do XP by book. Unfortunately in-spite of doing everything as defined by the book, they are not seeing the desirable results. The problem is companies fail to understand that its the company, its people, its policies, its attitude, its culture, its market, etc that has a huge influence on the desired results not the process alone.

    I’m just tried of companies who want to do a 1 or 2 day course on XP or Scrum and become successful.

    • Share/Bookmark

    Want to use it? First help us test it!

    Wednesday, October 29th, 2008

    Why do Web 2.0 companies over look the importance of a solid suite of automated tests?

    From an end user’s perspective it looks like they use their first thousand users as their manual testers.

    I’ll give you an example, today LinkedIn launched a new set of Applications like SlideShare, Amazon, WordPress, TripIt, etc. When I try to use any application by installing it, I keep getting random errors.

    There was a problem installing My Travel.
    Fix this by reinstalling the application.

    Sorry, unable to fetch your blog. Please try again later!

    The server did not respond. Please try again.

    Its the Web 2.0 companies or the Microsoft’s of the world who can get away with this attitude. If this was a high-end competitive market, such broken applications would result in significant loss of reputation and business.  The Web is certainly changing this. Not sure for the good or bad. On one hand, I like the fact that I can quickly release features and improve it over time. But on the other hand, I don’t like the fact that in the urgency to release new features, we compromise on quality and release dysfunctional stuff.

    All I can think is, companies still struggle trying to strike the right balance. They are caugh up in tyring to have the cake and eating it too.

    • Share/Bookmark
        Licensed under
    Creative Commons License
    Design by vikivix