Archive of Foundation series Articles

Just Plain BadLameAverageGoodGreat (3 votes, average: 5 out of 5)
Loading ... Loading ...
March 27th, 2006

Foundation Series: Feature Driven Development (FDD) Explained

Feature driven development (FDD) is one of several agile methodologies for developing software iteratively. Iterative development is the opposite of waterfall development. FDD is a process that begins with high level planning to define the scope of the project, which then moves into incremental delivery. Each increment of delivery involves a design phase and an implementation phase. The scope of each increment is a single feature. Extreme programming (XP) is a much better known agile methodology. XP is often described as an emergent design process, in that no one knows what the finished product is going to be until the product is finished. FDD, by comparison, defines the overall scope of the project at the beginning, but does not define the details.

Just Plain BadLameAverageGoodGreat (Be The First to Rate This Article)
Loading ... Loading ...
March 18th, 2006

Software testing series: Pairwise testing

Very large and complex systems can be very difficult and expensive to test. Often, we inherit legacy systems with multiple man-years of development effort already in place, in the field and of unknown quality. With these systems, there are frequently huge gaps in the requirements documentation. Pairwise testing provides a way to test these large, existing systems. And on many projects, we’re called in because there is a quality problem.

Just Plain BadLameAverageGoodGreat (3 votes, average: 4.67 out of 5)
Loading ... Loading ...
March 10th, 2006

Foundation Series: CMMI Levels Explained

CMM is a numeric scale used to “rate” the maturity of a software development process or team. In this context, maturity can be thought of like enlightenment. An immature process is not much different from the old “infinite monkeys” yarn - maybe we get it right, but probably not. A fully matured or enlightened process not only does it right, but improves itself over time. The Software Engineering Institute (SEI) at Carnegie Mellon, my alma mater, created the CMM model in the late 80’s and early 90’s. In this post, we will understand what each level represents.

Just Plain BadLameAverageGoodGreat (1 votes, average: 4 out of 5)
Loading ... Loading ...
March 3rd, 2006

Foundation Series: User Experience Disciplines

UX, pronounced you-ex, is the shorthand for user-experience. It represents the science and art of tailoring the experience that users have with a product - in our case, software. UX is a relatively new term, rapidly overtaking HCI (human-computer interface) and CHI (computer-human interface) as the acronym du jour. There are several disciplines within this field, we’ll introduce each of them.

Just Plain BadLameAverageGoodGreat (1 votes, average: 1 out of 5)
Loading ... Loading ...
January 19th, 2006

Foundation Series: Unit Testing of Software

Testing software is more than just manually banging around (also called monkey testing) and trying to break different parts of the software application. Unit testing is testing a subset of the functionality of a piece of software. A unit test is different from a system test in that it provides information only about a particular subset of the software. In our previous Foundation series post on black box and white box testing, we used the inspections that come bundled with an oil change as examples of unit tests.

Just Plain BadLameAverageGoodGreat (3 votes, average: 2 out of 5)
Loading ... Loading ...
January 12th, 2006

Foundation Series: Black Box and White Box Software Testing

Blackbox tests and whitebox tests.
These terms get thrown about quite a bit. In a previous post, we referenced Marc Clifton’s advanced unit testing series. If you were already familiar with the domain, his article could immediately build on that background knowledge and extend it.

Software testing can be most simply described as “for a given set of inputs into a software application, evaluate a set of outputs.” Software testing is a cause-and-effect analysis.

Just Plain BadLameAverageGoodGreat (2 votes, average: 4.5 out of 5)
Loading ... Loading ...
January 4th, 2006

Foundation Series: Structured Requirements

Karl Wiegers wrote the book on structured requirements - Software Requirements, 2nd Edition, Karl E. Wiegers.
If you are involved in managing requirements, you should own this book. Even if you don’t follow his approach to managing requirements, or don’t like how he deals with use cases, you should still read this book - at [...]

Just Plain BadLameAverageGoodGreat (2 votes, average: 4 out of 5)
Loading ... Loading ...
January 3rd, 2006

Foundation Series: Software Process (Waterfall Process versus Incremental Process)

A software process is the set of activities required to create software. This process can be defined with very precise steps, roles and responsibilities. The process can also be defined with a more fluid set activities in pursuit of concrete, high level objectives. Or software can be created without explicitly defining or [...]

Just Plain BadLameAverageGoodGreat (Be The First to Rate This Article)
Loading ... Loading ...
January 1st, 2006

Foundation Series: Introduction

I want to thank one of my readers who offered a fantastic suggestion. He didn’t have the needed background knowledge to read some posts. He’s exactly right.
The Foundation series of posts will provide introductory posts on topics.
What topics would you like to see on Tyner Blain?
- - -
Check out the index of the [...]