I have about 15+ years of Software Development Experience (2018) and have been working on Agile Projects since about 2006. My First Formal Introduction to Agile was through a Training by Thoughtworkers (Thoughtworks is a Leading Agile Company). This was while I was a Senior Software Engineer at Huawei, Bangalore, India. I have worked on Agile/TDD/Pair Programming (Various Variants) in multiple companies including Huawei, Symantec, Yahoo, Finastra*, Oracle*, OpenText*. Recently and Once Again, I attended a Formal Classroom Training (Company Internal) on Agile. I jotted down the most important points and now am presenting them in this Blog. I hope it helps and becomes a Ready Reckoner for Understanding/Learning the Agile Basics (Needs, Motivations, Practice, and Evolution Story).
* [Original Product Firms were Acquired by these Current Companies]
* [Original Product Firms were Acquired by these Current Companies]
Scrum Basics
The term Scrum was first mentioned in 1986 Harvard Business Review Article by Hirotaka Takeuchi and Ikujiro Nonaka. They compared High Performing Cross-Functional Teams to Scrum Formation in Rugby. Scrum is a way to Implement Agile and teams working are called as Scrum Teams. The Five Values that should Drive Scrum Teams are Below:
Focus: Because we Focus on only a Few Things at a time, we work Well Together and produce Excellent Work. We deliver Valuable Items sooner.
Courage: Because we work as a Team, we feel supported and have more resources at our Disposal. This gives us the courage to Undertake Greater Challenges.
Openness: As we Work Together, We Express How We're Doing, What's in Our Way? and Our Concerns, so they can be addressed.
Commitment: Because we have Great Control over our Own Destiny, we are more Committed to Success.
Respect: As we Work Together, Sharing Successes and Failures, We come to Respect each other and to help each other become Worthy of Respect.
Three Pillars of Scrum that are Fundamental to Scrum Include the Following:
Transparency: Advocates that the Significant Parts of the Process to be Visible to All.
Inspection: Scrum Artefacts Constantly Inspected as also Progress towards Milestones.
Adaptation: Deviation of any Process Aspects Outside Acceptable Limits must be Adjusted.
[Reference: http://www.agilistix.com/scrum/three-pillars-of-scrum/ ]
Scrum Roles
The real world Implementation of Agile through Scrum has Three Important Roles.
Development Team/Member
Takes on Tasks and Delivers Chunks of Work, In Frequent Increments
Scrum Master
Protects the Scrum Process and Prevents any Distractions.
Product Owner
Determines what Needs to be Done and Sets Priorities to Deliver the Highest Value
Companies Adopting Agile
I myself have worked for Top Software Companies of the World including Yahoo (Altaba), Symantec, Huawei, Siebel (Oracle), GXS (OpenText), and Misys (Finastra). Also, I have worked for some well known IT Services/Consulting Companies like Infosys, Headstrong (Genpact) and also relatively smaller Product Brands like Persistent and Aptean. Since I started my career in 2003, I saw the move towards Agile Adoption (Variants, Loose Variants) in Various Companies throughout my Experience — It was really exciting for me as a Software Developer since the greatest crib that I ever had was Excessive Software Documentation and the Lack of Energy and Excitement. The idea of Regular Delivery of Working Software (Demos) was inherent and natural to me as a Software Developer. It is the one that brings the Greatest Joy (Apart from Everything, as Discussed in Earlier Sections) in Software Development. I am enlisting few of the Other Companies that have Adopted Agile (or are Agile Proponents), across Business Lines.
- Microsoft
- ThoughtWorks
- CA Technologies
- Barclays
- Ericsson
From my Own Experience, I can comfortably say that almost all companies in the world now use Agile/Scrum (and/or Variants) as one the Software Development Methodology of Choice. Also, Most Software Development Companies (Read Product Software) were always almost Agile, but now may be using the Formal Agile Principles as their Driving Factor to achieve Greater Efficiency. Many Companies use Variants of Agile or Mix of Agile with Other Processes for their Teams. Agile is also not restricted to Software Development — There are Industries and Functions that now use Formal Agile Methods for their Deliverables and Daily Tasks.
Popular Tools for Agile/Scrum
You will come across these Tools and Technologies that are used to Implement or Drive Agile/Scrum Methods and Practices in Organizations Worldwide. There may be many more Tools, Frameworks, Technologies — But I am only enumerating either the ones that I have come across or the Ones that are Popular. They may not be directly Agile Tools, but ones that either Accelerate Agile, Used for Agile Project Management, Agile Planning, Agile Task Management and Continuous Integration/Delivery.
- Rally Agile Platform
- Atlassian JIRA
- (Microsoft) GitHub
- Apache Jenkins
- Zoho Sprints
- Visual Paradigm
- Thoughtworks Slack
- Thoughtworks Mingle
- Microsoft Team Foundation Server
Agile Pitfalls (Reasons for Failure)
Since we are now familiar with the very basics of Agile and Scrum, It is time to move on and find out the Statistics in Real-Time. These statistics reveal that even though Agile is no silver bullet, but it does provide a very high project success rate. Usually, Companies mix Agile with Other Existing or Newer Development Processes to try and increase success rate, as per the Context.
from DZone.com Feed https://ift.tt/3aXR4XJ
No comments:
Post a Comment