Agile FAQs
  About   Past Conferences   Training   Home  

 
Managed Chaos
Naresh Jain’s Random Thoughts on Software Development and Adventure Sports
     
`
 
Microblog Feed
    Previous Feeds...
    Recent Thoughts
    Comments
    Tags
    Blogroll
    Categories
    Archives
    April 2005
    M T W T F S S
    « Mar   May »
     123
    45678910
    11121314151617
    18192021222324
    252627282930  
    RSS Feed
    Add to Technorati Favorites

    Archive for April, 2005

    Software development - A trekker’s way

    Sunday, April 3rd, 2005

    I have been trekking for almost the same time as developing software. I have, always been surprised with the similarity I find in these two diverse activities. I have successfully used examples from trekking to explain some process or approach in software development.

    The objective of this article is to bring out a few things I have learnt from trekking, which helped me in software development. Right now, I just plan to mention the points here. I would be providing supporting evidence a bit later.

    • Travel light
    • Full upfront planning/design does not work. Take it as it comes
    • Waterfall model does not suit rapid application development. You do more than one thing at a time
    • Highly motivated, self disciplined and self organized team works. Let team members take up roles and rotate them amongst themselves.
    • Communication is the key to success. Keep talking
    • Team composition – mix of experience levels and skill sets works best
    • Diversity is fun and a great learning opportunity 
    • No silver bullet – Every team has customized the process to their requirements rather than customizing the team to the process requirements
    • Most of the time you have shortage of good resources (people, machines, tools, time, etc). Make the best of what you have
    • Early glimpse of desired results helps keeping things on track. Short releases and demos help
    • Feedback is critical to improve. Listen to the code, client, peers, etc
    • As the team size grows the project gets exponentially complex and difficult to co-ordinate
    • Change is inevitable. Being prepared for change by keeping things flexible helps. Early change can save a lot of money and efforts
    • Be ready to throw away and start all over again
    • You cannot freeze on the requirements early, only once the client sees something working, that‘s when they can actually give you the complete requirements
    • The whole team takes decisions and not just the leader. In cases of discrepancies, the leader helps the team to resolve it, rather than taking her own decision
    • Clean up the path from harmful things as you trek. This helps to keep the nature clean, beautiful and maintainable for many years. Refactoring the plans, design, code and test-cases helps keeping things intact.
    • Trust the team. Encourage open and frank communication
    • Sustainable pace – Don‘t burn out. Take frequent breaks
    • Optimistic attitude helps
    • Keep the whole team on the same page
    • Team members should be ready to do different things. Ego has no place. We like specialists who can do other things and also help others learn what they know by pairing and sharing
    • Use quality stuff. Never compromise on quality. Both what you deliver and what you receive. Good chairs, desks, computers, food, etc
    • Start small – Big bang theory does not suit us
    • Practice simplicity. Do the simplest thing first. Also known as KISS - Keep It Simple and Stupid
    • It‘s not just the destination, it‘s the journey too.
    • Live and let live attitude helps. Healthy competition and wiliness to take others along by sharing and seeking helps
    • Retrospectives helps improve constantly
    • Constantly try and improve and optimize things. Try to automate as much as possible
    • Never loose sight of your objectives. Don‘t slip deliverables. Maintain client focus
    • Precaution is better than cure. Have proper safety nets. Be sure before you put your foot down and be extra sure before you lift the other foot.
    • There is always a first time. Don‘t be afraid of failures. It‘s a great learning opportunity
    • Fear and negative energy spread very fast in the team. Do everything possible to keep a check on it
    • We hate wastage. Try to optimize usage of resources
    • It‘s 99% common sense and 1% fluke.
    • If someone thinks very differently and cannot adjust to the team, it‘s better to ask the person to leave. Helps both the sides
    • United we stand and divided we fall. It‘s all or none. It‘s team and not individuals
    • Its people and not the process that makes things happen. Process can only act like the lubricating oil in the engine. Your chances of hitting the bull‘s eye is much higher with smart people than trying to get the best out of average people
    • Abstraction helps to keep it simple. Details can be added when needed.
    • Coaching philosophy does not really work, if the coach cannot play and demonstrate, you are rolling down the wrong path
    • Change is inevitable, be ready to adapt rather than fighting against change.
    • Work with people‘s instincts. When a team member feels that something isn‘t going to work or is inconsistent or it doesn‘t smell right, then there is a good chance that is the case. As you gain experience, your instincts become sharper
    • Software development is a craft and software cannot be engineered. Every disciple involves elements of art and science.
    • Try and be as explicit as possible. Implicit rules trend to be misinterpreted and sometimes misused. Collaboratively develop a list of DO‘s and DON‘T DO‘s. Constantly refactor it and make it part of the company‘s culture.
      

    View more Presentations from Naresh Jain.

    [Post to Twitter] Tweet This Post  [Post to Plurk] Plurk This Post  [Post to Yahoo Buzz] Buzz This Post  [Post to Delicious] Delicious This Post  [Post to Digg] Digg This Post  [Post to Ping.fm] Ping This Post  [Post to Reddit] Reddit This Post  [Post to StumbleUpon] Stumble This Post 

    • Share/Save/Bookmark

    My thoughts on Trekking and software development

    Friday, April 1st, 2005

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fopen(http://th8.us/api.php?url=http://blogs.agilefaqs.com/2005/04/01/my-thoughts-on-trekking-and-software-development/&client=Tweet+This+v1.3.9&format=simple) [function.fopen]: failed to open stream: Connection refused in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 29

    Warning: fread(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Warning: fclose(): supplied argument is not a valid stream resource in /home/nashjain/agilefaqs.com/blogs/wp-content/plugins/tweet-this/tweet-this.php on line 30

    Trekking and software development
    1. Planning: No clear roadmap. We just have a high level plan or map. Too upfront design or planning might not work.
    2. Travel light: Cannot carry the burden of unwanted or not so important things. We can always get them or create them when we need
    3. Adding more people to a late project will only delay the project future. Bigger the team, more complex the project gets. Co-ordination gets exponentially difficult.
    4. It‘s not just the destination, it‘s the journey too.
    5. Continuous feedback is critical. It‘s not holding the steering in one direction, it‘s about making a lot of small adjustments to stay on the path
    6. No two software projects are same, as in the case of treks. Infact, keeping the team and project the same, the second time is always different from the first one. Same holds good for trekking.
    7. Team work: It‘s about communication and coordination. One cannot miss a module and continue; similarly one cannot leave a member of the trekking group behind and continue the trek. Everyone on the trek needs to be on the same page.
    8. Each team customizes the processes keeping the values or principles as the guiding lighting
    9. There is no ultimate way of developing software or trekking. There is always scope for improvement and new ways of doing things. Also, there are many possible ways or paths to reach the destination. At the beginning one might not be able to clearly say which the best path is.
    10. It‘s all about making the best of what you have on hand. In software development you don‘t have a great control over the budget, time, people skills, etc. Similarly while trekking you have limited resources and one has to carefully utilize these resources
    11. It‘s all about finding your way through an unknown territory, while you just have an overall sense of direction.
    12. One cannot rely 100% on measurements and matrices. A lot of things cannot be measured and few other measurements don‘t seem to make any sense at times. It is difficult to gauge where in a software development process you stand. Similarly one cannot be sure where they stand in terms of reaching the destination
    13. One cannot carry the burden of ego. People should be ready to do anything that takes to make desired things happen
    14. Highly motivated and self disciplined people are the need of the hour
    15. Team composition is the key to success. One needs a good mix of people with varying skill sets and experience levels.
    16. There is some sense of satisfaction when one gets lost and gets back. There is a feeling of immense learning and exposure on getting lost.
    17. You don‘t need to know everything that takes to finish the project or the trek right before you stat. A lot of things can be found-out/learnt on the way and a lot of things become self-explanatory once you get there. There is always someone who would be able to help if required.
    18. You don‘t have a clear separation between planning, requirement gathering, designing, development, testing, etc stages. You are doing a mix of these all the time. Similarly, you don‘t have a clear separation between planning, climbing up, climbing down, eating, decision making, etc. You are doing a combination of them.
    19. A lot of satisfaction is derived out of exploring the unknown as a team, rather than having a guide or mentor dragging you along.
    20. Practice simplicity. In software development you try to get the simplest thing working first. Similarly, in trekking, you try to take the simplest route to begin with. Once you get a hang of the terrain and some confidence, you might choose to try more complicated and difficult route.

    Watch out for a white paper on “Software development – The trekker‘s way” soon…

    [Post to Twitter] Tweet This Post  [Post to Plurk] Plurk This Post  [Post to Yahoo Buzz] Buzz This Post  [Post to Delicious] Delicious This Post  [Post to Digg] Digg This Post  [Post to Ping.fm] Ping This Post  [Post to Reddit] Reddit This Post  [Post to StumbleUpon] Stumble This Post 

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