Friday, May 6, 2011

Introducing Agile

In the mid 1990’s, as a reaction to heavyweight waterfall based processes, some other methods emerged. Good examples of these methods are DSDM, RAD, Crystal, XP and Scrum. Not that the people behind them were against process. They just strived to free themselves of Dilbert-like manifestations of process in corporate life, of people hiding behind pointless regulations, managers disrupting the working environment and enforcing unfounded plans and teams producing hundreds of pages of documentation that were impossible to maintain and hardly ever used. They strived for cooperation instead of throwing the result of hard work over a cubicle wall without a proper transfer session and without a clue of what the person on the other side of that wall would be going to do with it.

These methods have in common that they
  • Are lightweight 
  • Involve the customer
  • Have short cycles (2 to 4 weeks, enabling rapid delivery and frequent inspection and adaptation)
  • Focus on eliminating waste from the process
  • Are keen on the human aspect of software development 
In 2001 a number of representatives from these lightweight methods convened in a ski resort in Utah to establish some common ground. Among them were Kent Beck, the creator of Extreme Programming and Ken Schwaber and Jeff Sutherland, the creators of Scrum. Most participants did not expect any tangible result to come from a gathering of such stubborn, know-it-all methodologists. Nevertheless two important outcomes are to be noted and still influence the world of software development today.
  • These lightweight methods were from then on to be known as Agile.
  • Agile methods are now guided by the Agile Manifesto , a statement of values that all participants of that gathering agreed on (see The Agile Spirit). 

An overview of events surrounding the introduction of the development methods used in this book, Scrum, XP and RUP is shown in Figure 2.

Figure 2: Timeline Agile and Iterative Software Development Methods

Introducing Scrum
Scrum originates from an article published in 1986 on holistic software development using one cross-functional team across all phases of development. In the article this approach was compared with playing rugby where the whole team takes the ball forward (as opposed to a relay race where a baton is passed on from player to player).

Figure 3: Relay Race versus Rugby

In a relay race a baton is passed along from one player to the next. This is similar to a waterfall approach in IT, where a group of experts carry out one phase in the development of an IT-solution (requirements, analysis and design,  implementation or testing). When they are done they pass the result on to a next group of experts for the next phase. If one player doesn’t make it or drops the baton (often while passing it on), the race is lost. In rugby, time after time the team take possession of the ball and as a team try to get it across the field to score a touchdown (or as a team try to prevent a touchdown when the opposing team has the ball). This is much more like the Agile way of working where a team as a whole delivers working, usable software every two to four weeks.

In the early nineties, Ken Schwaber and Jeff Sutherland each separately developed an Agile management approach. In 1995 they jointly  presented their ideas at the OOPSL ‘95 (an object-oriented programming conference) under the name of Scrum (a rugby term). In 2001 the first book on Scrum “Agile Software Development with Scrum” by Ken Schwaber and Mike Beedle was published. A lot more have followed since then.

Scrum is a framework for self-organization of Agile teams. With only 3 roles, 4 work products and 5 events it sets up an easy to learn process for incremental software delivery, guided by business needs that is further explained in the post about Section 3.2. It helps the team to deliver value to the customer early and gives complete openness to all stakeholders concerning tasks that are being done, work remaining toward the development goal, the teams development velocity and impediments that keep the team from performing at their best. Because of its clear focus on self-organization of teams it is easy to combine with other methods that focus more on the specialist or project management side of IT development. Scrum is often used in combination with XP (eXtreme Programming).

Introducing XP
Around 1996 Kent Beck, a prominent Smalltalk practitioner at Crysler, started refining a set of day to day software development practices that made sense to him. To work out some difficulties his team were having, he asked them to take these practices to their extremes and leave out all others -- and it worked. These practices were first published on the newly evolving internet and since 1999 bundled and further expanded in a series of books, starting with his own book “Extreme Programming Explained”.

XP focuses on improving software quality and responding to change. It’s practices encompass timeboxing, test-first development (writing automated tests before programming), pair programming (working in pairs behind one computer), refactoring (to achieve simplicity and clarity of code), continuous integration (building the code and running outomated tests preferably each time code is checked in), customer involvement and the planning game (for estimating, clarifying requirements and getting commitment from the team). Some of these practices will be discussed in the post about Maintaining Stability.

Other Relevant Posts: 
Introducing RUP
Comparing Methods
The Agile Spirit
Self-organization
Maintaining Stability

65 comments:

  1. Thanks for your informative article on software testing. Your post helped me to understand the future and career prospects in software testing. Keep on updating your blog with such awesome article. Software testing course in Chennai| Software testing training in Chennai

    ReplyDelete
    Replies
    1. IEEE Final Year projects Project Centers in Chennai are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes. IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble.Final Year Projects for CSE

      Spring Framework has already made serious inroads as an integrated technology stack for building user-facing applications. Spring Framework Corporate TRaining .

      Specifically, Spring Framework provides various tasks are geared around preparing data for further analysis and visualization. Spring Training in Chennai

      The Angular Training covers a wide range of topics including Angular Directives, Angular Services, and Angular programmability.Angular Training

      Delete
  2. I am happy to found such helpful and fascinating post that is written in well manner.
    Regards..
    QTP Training in Chennai | Software Testing Training in Chennai

    ReplyDelete
  3. it is really interesting and informative , it is really a useful idea to know to about those software , thanks for sharing those post.


    software testing training in chennai

    ReplyDelete

  4. Thanks for sharing with us that awesome article you have amazing blog....
    http://hadooptraininginhyderabad.co.in/salesforce-training-in-hyderabad/

    ReplyDelete
  5. Thanks for sharing with us that awesome article you have amazing blog....
    oracle dba training in chennai

    ReplyDelete
  6. Wow it is really wonderful and awesome thus it is very much useful for me to understand many concepts and helped me a lot. it is really explainable very well and i got more information from your blog.
    Software Testing Training

    ReplyDelete
  7. Thanks for sharing a valuable information, please keep sharing such more articles, it is very helpful.

    Best Selenium training in Chennai

    Thanks a lot.
    Selenium training in Chennai | Best Selenium training institute in Chennai

    ReplyDelete
  8. Good one, very informative.. thanks for sharing your views and ideas.. it is very useful to me.. thanks once again..

    Software Testing Training in chennai | Software Testing Training institute in chennai

    ReplyDelete
  9. your article is more useful and informative.. thanks to share this... keep rocking..


    Java Training in chennai |
    Android Training in chennai

    ReplyDelete
  10. Thanks for your informative article on software testing. Your post helped me to understand the future and career prospects in software testing. Keep on updating your blog with such awesome article.
    PHP Training Institute in Chennai

    ReplyDelete
  11. Hi, Great.. Tutorial is just awesome..It is really helpful for a newbie like me.. I am a regular follower of your blog. Really very informative post you shared here. Kindly keep blogging. If anyone wants to become a Front end developer learn from Javascript Training in Chennai . or learn thru JavaScript Online Training in India. Nowadays JavaScript has tons of job opportunities on various vertical industry. JavaScript Training in Chennai

    ReplyDelete
  12. Nice blog has been shared by you. it will be really helpful to many peoples who are all working under the technology.thank you for sharing this blog.

    selenium training in bangalore|

    ReplyDelete
  13. Great Blog, Thanks for sharing this much of valuable information.Keep sharing like this.

    Java Training in Chennai

    ReplyDelete
  14. I wanted to thank you for this excellent read!! I definitely loved every little bit of it. I have you bookmarked your site to check out the new stuff you post. Software Testing

    ReplyDelete
  15. nice work keep it up thanks for sharing the knowledge.Thanks for sharing this type of information, it is so useful. digital marketing company in delhi

    ReplyDelete
  16. Hi! I have more than 4 Years of experience and I am the Founder of a Website Development Company in Rohini, Delhi. I just want to say thank you for posting such a useful, impressive and a wicked article.

    ReplyDelete
  17. nice topic which you have choose.
    second is, the information which you have provided is better then other blog.
    so nice work keep it up. And thanks for sharing. Laminated Doors manufacturer in hubli

    ReplyDelete
  18. can you offer guest writers to write content for you? I wouldn’t mind producing a post or elaborating on some the subjects you write concerning here. Again, awesome weblog!
    iosh safety course in chennai

    ReplyDelete
  19. Thanks for giving great kind of information. So useful and practical for me. Thanks for your excellent blog, nice work keep it up thanks for sharing the knowledge.
    Best Interior Designer in Noida

    ReplyDelete
  20. nice work keep it up thanks for sharing the knowledge.Thanks for sharing this type of information, it is so useful.
    Epoxy Grout manufacturer

    ReplyDelete

  21. بسم الله الرحمن الرحيم تقدم لكم شركة الكمال جميع خدمات رش المبيد يجميع انحاء المملكة بافضل انواع

    المبيدات للقضاء على جميع الحشرات الطائرة والزاحفه كالصراصير والفائران والنمل الابيض والبق

    والذباب والناموس
    شركة رش مبيدات بالطائف
    شركة رش مبيدات بجازان
    شركة رش مبيدات بحائل
    والسلامه عليكم ورحمة الله وبركاته

    ReplyDelete
  22. I Regreat For Sharing The information The InFormation shared Is Very Valuable Please Keep Updating Us Time Just Went On Reading The Article Python Online Training AWS Online Training Hadoop Online Training Data Science Online Training

    ReplyDelete
  23. I feel happy about and learning more about this topic. keep sharing your information regularly for my future reference. This content creates a new hope and inspiration with in me. Thanks for sharing article like this. the information which you have provided is better then other blog.
    Best IELTS Coaching institute in Dwarka

    ReplyDelete
  24. Just seen your Article, it amazed me and surpised me with god thoughts that eveyone will benefit from it. It is really a very informative post for all those budding entreprenuers planning to take advantage of post for business expansions. You always share such a wonderful articlewhich helps us to gain knowledge .Thanks for sharing such a wonderful article, It will be deinitely helpful and fruitful article.
    Thanks
    DedicatedHosting4u.com

    ReplyDelete
  25. Thanks for posting this highly informative article. I feel glad about learning more about this concept. Maintain the number of posting and keep up the good work!
    Data Science Course in Chennai | Data Science Training in Chennai

    ReplyDelete
  26. Usually I never comment on blogs but your article is so convincing that I never stop myself to say something about it. You’re doing a great job Man,Keep it up.
    best canada education consultants in delhi

    ReplyDelete

  27. Your info is really amazing with impressive content..Excellent blog with informative concept. Really I feel happy to see this useful blog, Thanks for sharing such a nice blog..
    If you are looking for any Big data Hadoop Related information please visit our website Big Data Hadoop Training In Bangalore page!

    ReplyDelete
  28. Bharat CSP Agents are those individuals who acts as an agent of the bank at places where it is not possible to open branch of the bank.

    Apply CSP
    CSP registration
    CSP provider
    bank CSP
    CSP kisok
    kisok banking

    ReplyDelete
  29. Oxigen BC Private Limited Company is India's Largest CSP Provider, which works in all the states of India to open customer service point of all banks. Such as - sbi, boi, bob, pnb etc.

    CSP Apply
    CSP Online Application
    Online CSP Apply
    CSP Registration
    CSP Online Application
    CSP Provider

    ReplyDelete
  30. This comment has been removed by the author.

    ReplyDelete
  31. A large number of people, particularly the migrant laborers and factory workers do not have a saving account and even not able to open an account due to lack of valid address and ID proof. As a result they face difficulties to save their earnings in a safe place and look out for solution to send money to their families.

    CSP Apply
    CSP Online Application
    Apply for CSP
    Top CSP Provider in India
    Apply Online For Bank CSP

    ReplyDelete
  32. Thank you for excellent article.Great information for new guy like antimalware service executable

    ReplyDelete
  33. http://blog.scrumup.com/2011/05/introducing-agile.html

    ReplyDelete
  34. Such a wonderful article and I feel that it is best to write more on this topic. Thank you so much because i learn a lot of ideas about it. Keep posting...
    Digital Marketing Course In Kolkata
    Web Design Course In Kolkata
    SEO Course In Kolkata

    ReplyDelete
  35. I need to to thank you for this fantastic read!! I absolutely loved every bit of it. I have you book marked to look at new stuff you post…
    Click Here for more
    Jio Information Available
    Check 2019-20 List
    Find Helpline Resources

    ReplyDelete

  36. it’s really nice and meanful. it’s really cool blog. Linking is very useful thing.you have really helped lots of people who visit blog and provide them usefull information.
    Data Science Training in Hyderabad

    I am really happy to say it’s an interesting post to read . I learn new information from your article , you are doing a great job . Keep it up

    Devops Training in USA

    Hadoop Training in Hyderabad

    Python Training in Hyderabad

    ReplyDelete
  37. I am really happy to say it’s an interesting post to read . I learn new information from your article , you are doing a great job . Keep it up

    Devops Training in Hyderabad

    Hadoop Training in Hyderabad

    Python Training in Hyderabad

    Tableau Training in Hyderabad

    Selenium Training in Hyderabad

    ReplyDelete
  38. Hey There. I found your blog using msn. This is a very well written article. I’ll be sure to bookmark it and come back to read more of your useful info. Thanks for the post. I’ll definitely return 먹튀검증사이트

    ReplyDelete
  39. DA Italia is one of the fastest growing company in India. We make leather goods like Wallet, Bag, Belt and Other Accessories. We are leather goods manufacturer in india.
    leather wallets manufacturer

    ReplyDelete