More and more software development projects are using the Agile Development Model as opposed to the Waterfall Development Model. Agile does help Designers and Developers deliver software projects on time with higher quality code, but where does that leave the Software Tester? I came across a whitepaper written by James Lyndsay entitled "Testing in an agile environment" from his website that would shed some light on the subject.

Of the many benefits that the Agile Model has, a cornerstone is its insistance on Test Driven Development (TDD). The Designer will have the scenario or user story that the software will address.  From that, test cases are written to validate each step in completing the user story, then code is written to satisfy the test. One of the points stressed throughout the paper was the use of unit tests in the code that both the Developer and Tester would have responsibility to maintain. This would increase the amount of communication and collaboration between Development and Test because Test would not have to wait for Development to finish first before looking at the code; such is the case in the Waterfall Model. By having Developers and Testers working so closely on a project, the Designer has an easier time of ensuring the customer's expectation are still being met, lest the project follows this path.

The Software Development Project

In addition, security design decisions can be implemented from the beginning and verified as the code is being written. As stated before, there is a reduction of documentation, but that fact may be a benefit as counter-intuitive as that may sound. The test documentation instead of living separately from the code, it lives with the code in the form of unit tests. Tests outside of the unit test do need to be documented and recorded, but they should live as close to the code as possible.

There are caveats to this approach, but one that stood out in my mind is the concept of "decision fatigue". That is, since the Tester is involved early on in the development process and the Tester does have the ability to voice and direct change in the product, the Tester may feel overwhelmed at the weight of the consequences of decisions being made. Before, all Testers had to do was follow a specification from the Designer to verify the Developer's work. Now, that same Tester can directly influence the Developer's work or make a change in the Designer's plan. A solution offered by Lyndsay is for the Tester to keep the big picture in mind and what the primary business case the customer wants to solve with the software to direct the decision making.


This strip made me smile; a lot! The story reminds me when I bought Magna Carta 2 for my wife as a wedding anniversary gift. Smile

VG Cats #278 : The Perfect Gift

 


Home Network Design

Published 1/12/2010 by Theo Hua in Computing

Has anyone really thought about what their home network must look like logically? After taking a network and telecommunications course as part of my degree, I began to think about how I have designed my network for my family’s use and how that compares to other setups.  To that end, I made a logical network diagram below.

After making the diagram, I was surprised how similar this design must be to a small business. I actually had fun making this diagram. Yes, I am a geek. Who else would have fun making logical network diagrams? Laughing


I hope everyone has had a Happy New Year and that the year has started off on a good note. I have a few new challenges this year as well as revisiting some old ones.

First, I would like to share more of what is on my mind, both technically and creatively via this blog.  I really have no idea how much traffic this blog receives, but my wife encourages me to write here since writing is not a strong point for me.  She hopes that by my writing in this blog, I can learn to express myself more clearly.

As for revisiting ongoing challenges, time management is one, organizing my home is another one; as well as furthering my career.  I finished my Bachelors of Science in Information Technology from the University of Phoenix at the end of last summer.  Now that I have a better understanding systems development, I hope I can grow my current Software Testing Engineer career into a Software Developer Engineer in Test. Ultimately, my goal is to lead a small team of testers in delivering a robust software product with comprehensive test coverage while meeting product deadlines. That is an ongoing challenge in the software industry that I would like to undertake.

Here’s to the next twelve months! Smile