Common Sense Software Engineering – Part III; Risk Analysis

SoftwareEngineering

The following piece describes a process for performing “Risk Analysis”, also known as “Risk Management”. What the reader will find is that contrary to popular development paradigms, true software engineering practices require quite a bit of upfront analysis for new project development as the prior piece on “Requirements Analysis” demonstrated.

In the frenzy of the so called “new development environments”, many technical managers as well as professional developers have attempted and still are attempting to find techniques that will allow them to avoid such in-depth processes and yet still create quality software deliverables. No matter how much marketing, PR, and other technical propaganda is thrown over the issue of quality analysis, without it, quality will never be part of the end result.

On another note, the reader will note that Steve McConnell and other software engineering analysts of years ago are relied upon for this work as has been the same with the other articles. Steve McConnell’s 1996 classic, “Rapid Development”, to this day has never been refuted and is still in fact being corroborated by subsequent studies in this arena. As a result, for many quality business technical personnel, it is still considered the “Bible” of software engineering.

>>>

One of the most important aspects of the management of any software project, large or small, is the management of risk. “Risk” in terms of project management, is any situation that either prevents a project from reaching a successful and timely conclusion or interferes to delay a well-run project towards that same conclusion.

Overwhelmingly, IT project management ignores this very crucial aspect of software development. As a result, project development schedules are affected negatively with the same managers putting pressure on their staff to make up for lost time, when it should have been properly planned for.

Every software project is faced with risks of all types and severities. In fact, any endeavor is faced with similar potential obstacles to completion. If you attempt to climb a mountain you risk the possibility of breaking a limb and in the more treacherous climbs, your life.

Read more of this post

Best Licensing Software for .NET Professionals

SoftwareLicensing

Licensing Overview

If you are a software developer creating products for sale, one of the things you have to consider is how you intend to license your software.

Given that there are many licensing options available, this can be a rather difficult decision to make. First and foremost in considering a licensing tool for your product is an understanding that no such tool exists that will make your product completely safe from those who will want to use your software illegally. There is always someone out there that if your product is good enough will want to bypass any licensing so that they can use it freely.

The idea of licensing is to ensure that you provide yourself with some measure of protection so that “software pirates” aren’t able to easily use your product without proper registration and purchase beyond a trial period. Licensing your product will then keep out most such people with the exception of the most determined “license crackers”.

Read more of this post

Common Sense Software Engineering – Part II; Requirements Analysis

SoftwareEngineering

Common Sense Software Engineering – Part II; Requirements Analysis

Due to the nature of this critical component to software development, this essay intends to present this subject in broad strokes to incite interest among developers in pursuing their own development agendas properly.

The Need for Good Requirements Analysis

Requirements Analysis is a very large area of software project development, which is most often ignored in its importance whereby it is subordinated to popular paradigms that are either forced to ignore their vital development tenets due to political pressures or merely abused by those with the intention of attempting to ignore its necessities in order to provide deliverables as fast as possible. It is in fact, the most critical aspect for any software project whether it is for a new application or for an existing one. This is because if you get the requirements wrong or are provided with a set of incomplete requirements (or both) and you attempt to implement a project with them, it will simply fail to some degree. This initial phase of software development cannot be ignored or modified to suit some organizational protocol as it is as immutable as a law of physics.

Read more of this post

Best Text Editor Component for .NET WPF Developers

AvalonEdit

Overview of The Solutions Available…

For those software professionals creating desktop applications for distribution and\or sale there situations where there is a requirement to present edited text to the user or allow the user of an application to enter text as they would source-code in one of the many current IDEs available.

Most often such applications would be directed at other technical professionals thus proving a need for a quality text-editor control that can be configured to the application’s requirements without having to develop one from scratch.

There are several options in this regard that are available to .NET WPF developers who need to incorporate such a component into their applications. One of the popular open-source components is “ScintillaNET”, which can be found in its most current form at https://github.com/jacobslusser/ScintillaNET

Read more of this post

%d bloggers like this: