Management

Completeness of the Requirements Set

August 18, 2010

A set of requirements is complete if and only if it describes all significant requirements of concern to the user, including requirements associated with functionality, performance, design constraints, attributes, or external interfaces.

Requirements Gathering

July 31, 2010

Just as there is no one right programming language for every application, there is no one right way to develop the more detailed specifications. Different environments call for different techniques, and the requirements managers and requirements writers will probably need to develop a mix of skills suited to various circumstances.

Software Development Process

July 20, 2010

The team’s development process defines who is doing what, when, and how. In the waterfall model, software activities proceed through a sequence of steps, with each step based on the activities of the previous step. The spiral model begins with a series of risk-driven prototypes, followed by a structured waterfall-like process. The iterative approach, a hybrid of the waterfall and spiral models, decouples the lifecycle phases from the software activities that take place in each phase. ...

Why can we not allow for a process that creates detailed requirements and design information for each feature so that we can create more meaningful estimates?

July 19, 2010

Some people may think that the best way to estimate a project is to have detailed requirements and design information for each feature. They may argue that this is the most professional and accurate way to approach the problem. However, I disagree with this view. I think that it is more important to be able to make quick decisions about the scope of the project without spending too much time and resources on detailed estimates. ...

Project Scope and Success

July 17, 2010

In many projects, in order to provide a reasonable probability of success, it will be necessary to reduce the scope by as much as a factor of two.

The "Yes, But" Syndrome

July 14, 2010

One of the most frustrating, pervasive, and seemingly downright sinister problems in all of application development is the “Yes, But” syndrome, being the observation of the users’ reaction to every piece of software I have ever developed. For whatever reason, I always observe two immediate, distinct, and separate reactions when the users see the system implementation for the first time: • “Wow, this is so cool; we can really use this, what a neat job, atta boy,” and so on. ...

Productivity of all Individuals vs. Team Productivity

July 12, 2010

Software development is a complex and collaborative process that requires effective teamwork and communication. However, many software teams struggle with productivity issues and fail to deliver high-quality products on time and within budget. In this post, I will discuss why team productivity is more important than individual productivity, and how you can improve your software team’s performance by applying some proven strategies and best practices. The Importance of Team Productivity # According to Boehm, the COCOMO cost estimation model shows that the capability of the team has the greatest impact on software production. ...

How to Implement Scrum Development Model in 8 Steps

March 22, 2010

Scrum is an agile development model that allows teams to deliver software products faster and with higher quality. Scrum involves breaking down the product into small and manageable pieces called backlog items, and working on them in short iterations called sprints. Here are the 8 steps you need to follow to implement Scrum successfully: Step 1: Prepare your product backlog. The product backlog is a list of features and requirements that you want to include in your product. ...

Restarting a Project from Scratch !

March 8, 2010

Why Programmers Want to Start Over Have you ever felt the urge to scrap your code and rewrite it from scratch? If so, you’re not alone. Many programmers have this temptation, and there’s a hidden reason behind it. The reason is not that the old code is bad, but that it’s hard to understand. There’s a fundamental principle of programming that explains this: Reading code is harder than writing it. This is why reusing code is so challenging. ...

Basic Software Development Process – Points

October 1, 2009

Basic Software Development Process: Defining the requirements. Approval. Template designs. Template approval. Coding. Internal release. Testing. Alpha release. Beta release. Project goes live. This is the process I follow.