Saturday, May 31, 2008

Data security and software testing

There is an interesting article here about what it calls the unseen privacy crisis. Software testing has a key part to play in this arena and it concludes:

What can organisations do about this pending crisis? The first step is to recognise that this is in fact a problem. All of the media attention that has resulted from the inappropriate and unlawful use of private consumer data has begun to increase awareness.

Second, IT needs to understand that they are also at risk and that they must research and adopt best practices and processes to ensure the data they use to test their applications remains confidential. For existing applications, this involves masking and disguising potentially sensitive data before releasing it for use in testing. In all situations, the processes need to be documented so that an organization can demonstrate compliance.

Third, companies need to mandate their development partners and outsourcers rigorously adhere to a set of policies that eliminate the use of live sensitive data during the testing process. More and more software testing is outsourced with many of the outsourcers located offshore. This serious risk is best managed by implementing documented processes and compliance auditing.

Finally, companies at risk need to consider technological answers to meet this challenge. Technology tools designed to transform or mask sensitive or confidential data for testing purposes can eliminate the organisation’s risk without inhibiting a thorough and accurate testing process.

Testing is a mandatory step for ensuring that today’s applications work as intended.

Software testing service provider

Saturday, May 24, 2008

Earned Value Management in Agile

Interesting article on Dr Dobbs about Agile development and Earned Value Management

The first claim is that EVM enables you to objectively measure the value being produced by project teams. Their inherent assumption is that these project teams are actually earning value for your organization, yet in practice we know that this couldn't possibly be true. To see what the problem is, let's work through an example. Let's say that your team is part way through a project, claiming that they've achieved 65 percent earned value (EV). Your team has followed a traditional approach to development, creating a detailed requirements document, then an architecture model, then a prototype, then a design model, and now they've started working on the actual software and are about three quarters of the way through.

You claimed 14 percent EV once the requirements document was accepted, 20 percent EV at the point the architecture was accepted, 33 percent when the detailed design was signed off, and will eventually claim 85 percent EV once the programming effort ends. You've had several major code reviews and by passing them you've been allowed to make the claim that you've achieved 65 percent EV. Then, disaster strikes and you lose funding as the result of an economic downturn. Senior management asks your team to ship whatever you can, but several critical components haven't been coded yet and still need several months of development. And you would still need to perform system and user acceptance testing - another few months worth of effort. It's clear to senior management that none of their investment can be realized quickly, so the project artifacts are "put on the shelf" in the hope that some day they'll be useful to a future project team. Of course, by then the business requirements and technology platforms will have changed. In short, even though your team had claimed 65 percent EV, no actual practical value had in fact been "earned".

Sunday, May 18, 2008

Data warehousing

There is an interesting three part article on data warehousing on a tight budget (part two is located here). It even looks at outsourcing in these circumstances:

Going outside of the organisation is a different yet excellent way to access DW professionals. Although per-hour rates can seem steep at times, the savings from hiring a dedicated team can be substantial. Outsourcing can be a terrific way for an organization to begin a data warehousing initiative as it later takes a strong first step toward building an in-house team to manage the solution.

Another scenario where outsourcing is beneficial is when an organizational project requires extra help to fill a particular role or requires overflow capacity. If you have a business analyst, DBA, ETL developer, and BI developer available, but your organization still needs a data modeler who is capable of mapping complex source systems, outsourcing makes sense. Similarly, if the ETL development will be more substantial than your existing resources can accomplish, bringing in additional experts to supplement your team members can allow your organization to meet demands within the project plan without being concerned about having excess/idle team members at other times in the project.

Checkpoint consulting (consulting provided by an expert on a part-time basis over the life of the project) has proven to be an excellent way of benefiting from the vast experience of an enterprise DW team while paying for only a fraction of a consultant. An experienced consultant with broad and deep knowledge and experience can evaluate your existing data warehouse and business intelligence solutions, make recommendations, and, ultimately, help you leverage your existing assets.

Each of these roles is critical to the proper implementation of a data warehouse, but each is also a key aspect of the human costs associated with each DW project. Clearly, these roles are important and as much as an organization attempts to maximize its budget through cost-effective decision-making, one area where an organization must be willing to make an investment is in its DW implementation team. This is an investment, although seemingly too significant at first, which makes all of the difference when considering a project's success. When operating on a limited budget, it is the organization's responsibility to find a way to maximize its people for the benefit of a project as opposed to the detriment of it.

Testing system migration services