Agile Development, Methodologies, Test Driven Development

Effective Unit Testing – Part 3: Entity Framework

Recently, the data access technology that we have relied on for most of our projects is Entity Framework. Entity Framework is an excellent tool that makes it easy to work with a database using the .NET code that we are most familiar with. However, out of the box, Entity Framework does little to help support automated unit testing. Specifically, the DbContext is not interface-based and does not provide a clean way to support mocks. This makes it difficult to write a unit test that doesn’t require database access, which would result in slow and error-prone tests.

Read More
By Ben Lucas on Jun 30, 2014 3:00:23 AM
Business Analysis, Methodologies

Effectively Managing Requirements

In my ten years of working within the IT industry, managing requirements has never been a clear-cut task, especially when the triple constraints – Scope, Cost and Time – always change due to business conditions. (For more information on the triple constraints, please refer to the latest version of the PMBOK guide.) But suffice it to say, managing requirements is challenging because of their ambiguity, which happens when they have not been communicated clearly to the appropriate stakeholders. To make matters even more challenging, ambiguity further propagates depending on how the various stakeholders interpret those requirements and document them. As this infamous comic cleverly illustrates:

Read More
By Abid Ali on Jun 9, 2014 10:34:22 AM
Business Analysis, Methodologies

The Importance of Well-Planned Analysis Handoffs

Business analysts have a potentially long list of responsibilities and deliverables. Finding the time within a project to include all of the best practices can often be a challenge, and some important techniques, deliverables, and responsibilities are often neglected or ignored simply because there isn’t enough time available. This includes such things as requirements traceability, stakeholder analysis, reports analysis, impact assessments, and handoffs to other project team members. These are often sacrificed for the sake of creating the perfect requirements document, use cases, or diagrams and models. I’d like to focus this article on one of these often neglected work items – handoffs to other project team members.

Read More
By Rick Strempler on Jun 2, 2014 5:35:39 PM
Change Management, Methodologies

Storytelling: Is it Just for Children? Or is it Also an Effective Change Management Tool?

We all grew up hearing stories. Whether it was a fairytale, a Disney version or a family treasure, stories have always been used to communicate, teach and share information. Throughout time, people have learned by remembering the moral of the story, the important lesson, a takeaway. Just think about the age old tale of the tortoise and the hare. The moral of the story has stood the test of time and is just as relevant today in 2014 as it was many years ago. In fact, all someone has to do is mention the tortoise and the hare, and you instantly can relate to the topic.

Read More
By Deb Buxton on May 5, 2014 11:59:52 AM
Methodologies, Project Management

Introducing Project Audits: Importance, Benefits and Preparation

Classic project management theory states that projects have three constraints: cost, time and scope. In some environments, there are additional constraints; for example, healthcare projects include an additional patient safety constraint which is considered paramount. In general, every project environment is unique as factors such as quality, risk, vendor relations, and so on are taken into account.

Read More
By Rolando Martin on Mar 24, 2014 9:10:30 AM
Agile Development, Methodologies, Test Driven Development

Effective Unit Testing – Part 2: Dependency Injection

In my last post, I mentioned that one problem with my earlier unit tests was their dependency on database access. Having my tests directly dependent on the database created slow-running tests and tests that were prone to failure as the database changed. Over the course of this post, I’m going to demonstrate some of the techniques I have learned that provide the ability to decouple a set of code from using direct database access. Note that the examples are in C#; however, the principles apply to any object-oriented language with a unit testing framework.

Read More
By Ben Lucas on Mar 3, 2014 2:00:02 AM
Application Lifecycle Management (ALM), Methodologies, Quality Assurance

Overview of Rayleigh’s Defect Prediction Model

In spite of diligent planning, documentation, and proper process adherence in software development, occurrences of defects are inevitable. In today’s cutting edge competition, it is important to make conscious efforts to control and minimize these defects by using techniques to allow in-process quality monitoring and control. Defect Prediction using Rayleigh’s distribution curve is one such method that helps us to understand the density of the defects and their distribution across project phases as a project progresses.

Read More
By Shwetha Rameshan on Dec 16, 2013 11:42:38 AM