January 30, 2015

Agile Software Development

I've been working with Agile since 2005, and I must say that I find it to be the most fun! If you love working with people as a team, really prize collaboration, and "having good team gel" is a requirement for you at any job, the Agile Software Development methodology is for you.

How Agile Started

How we create software has changed a lot in the past decade, and it started with a manifesto written back in February 2001.

The Agile Manifesto:

  • "Individuals and interactions over processes and tools
  • "Working software over comprehensive documentation
  • "Customer collaboration over contract negotiation
  • "Responding to change over following a plan

"That is, while there is value in the items on the right, we value the items on the left more".

Written back in February 2001, a group of seventeen software developers outlined Twelve Principles of Agile Software. One of the developers, Kent Beck, had written a book two years before called "Extreme Programming Explained" detailing his work leading the Chrysler Comprehensive Compensation System (C3) payroll project. Methods from that such as Release planning, developers writing unit tests, and daily standup meetings would get pulled into the Agile method.

Waterfall Woes and Agile Solutions: 

With the Waterfall software development method that we examined before, there were a few drawbacks Software Quality Assurance would fine:

  • With DEV and QA operating in their own segment, an an "Us vs Them" mentality could happen. 
  • With the QA phase being the last part of the software development process, there was always a risk that the planning and development time could eat into the time allocated set aside for testing. 
  • What if the specs for the functionality to be added to the product were found by the QA Engineer to be in error? 

With Agile, many of these problems a QA Engineer would have encountered would be alleviated. New processes were put in place such as:

Sprint Planning Meetings: Business Analysts, Software Developers, Designers, and Quality Assurance Engineers all could analyze the requirements for each new piece of functionality being built, and estimated as a team how much work they could take on in the next two weeks. QA was no longer trapped in the last phase of software development.

Daily Scrum Meetings: With a fifteen minute meeting starting the workday, the entire team could state simply: what they worked on yesterday, what they were going to working on today, and what roadblocks they were having. This helps QA get a better understanding of who was working on what, and helps build better working relationships between developers and designers.

Sprint Review Meetings:  What worked? What didn't? What astounded you in the last two week sprint? Instead of doing a post-mortem at the end of an eight month Waterfall type project, you get to do mini course corrections.

I love Agile! You get a lot of team collaboration across all the different disciplines. A better quality team equals a better quality product.

Related Links:

-T.J. Maher
 Sr. QA Engineer
 Quincy, MA


John said...

Teamwork really affects the performance of the whole company. If the whole team performs collaboratively then the company will surely prosper and vice versa. I take essay writing services from https://www.usessaywriter.com/essay-writing-service-in-chicago/
and I must say that each one of the writers working there is completely honest to their work.

Unknown said...

My father teeth was damage so I taking apportionment from the dentist in karachi to add the new teeth.

JacobHarman said...

One more center assistance given by Blockchain is their bitcoin wallet. This help empowers clients a basic and secure stage through which they can deal with their bitcoins, as well as make bitcoin installments to and from different clients. Notwithstanding bitcoins, the Blockchain additionally upholds ether, which is the cash utilized for the Ethereum stage, another arising digital money that is picking up speed and is the second most well known digital money after the bitcoin. Blockchain right now has more than 18 million digital money wallets and has handled north of 100 million exchanges between clients from north of 140 nations all over the planet>> blockchain application development services