18 August 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.
31 July 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.
20 July 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.
...
19 July 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.
...
17 July 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.
14 July 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.
...
12 July 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.
...
22 March 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.
...
8 March 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.
...
1 October 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.