80% rules

Saturday, March 25, 2006

Why do software projects fail so often?

Why do software projects fail?
1.Lack of User Inputs
2.Incomplete Requirements & Specifications
3.Changing Requirements & Specifications
4.Lack of Executive Support
5.Technology Incompetence
6.Lack of Resources
7.Unrealistic Expectations
8.Unclear Objectives
9.Unrealistic Time Frames
10.New Technology
source:http://www.stylusinc.com/Common/Concerns/SoftwareProjectsFailure.php

What can we do to make them succeed?
A formula for project success:success = planning * execution
There are ten keys to make successful software projects:
1. Clear vision
2. Stable, complete, written requirements
3. Detailed user interface prototypes
4. Effective project management
5. Accurate estimates
6. Two-phase budgeting
7. A focus on quality
8. Technology expertise
9. Active risk management
10. Remember, software is created by humans
source: http://www.issre2001.org/10KeysToSuccess.pdf#search=

What is the importance of software project management?
Software Project Management is a sub-discipline of Project management in which software projects are planned, monitored and controlled.The purpose of Project Planning is to identify the scope of the project, estimate the work involved, and create a project schedule. Project planning begins with requirements that define the software to be developed. The project plan is then developed to describe the tasks that will lead to completion.The purpose of Project Monitoring and Control is to keep the team and management up to date on the project's progress. If the project deviates from the plan, then the project manager can take action to correct the problem. Project monitoring and control involves status meetings to gather status from the team. When changes need to be made, Change control is used to keep the products up to date.
source: http://en.wikipedia.org/wiki/Software_project_management

What is test-driven development?



What is the main idea of test-driven development?
Test-driven development (TDD), is an evolutionary approach to development which combines test-first development where you write a test before you write just enough production code to fulfill that test and refactoring.

What is the goal of test-driven development?
One view is the goal of TDD is specification and not validation. In other words, it' s one way to think through your design before your write your functional code. Another view is that TDD is a programming technique. So, the goal of TDD is to write clean code that works.

How does a test-driven development cycle look like?
Please refer to the diagram above.

Software Design Patterns: How much do you understand?

i understandard adapter and bridge design pattern

Bridge pattern:
The bridge design pattern is meant to "decouple an abstraction from its implementation so that the two can vary independently"

Adapter pattern:
An adapter allows classes to work together that normally could not because of incompatible interfaces by wrapping its own interface around that of an already existing class.

Tuesday, February 28, 2006

Stuff that lets agile software developers show off what they believe in

"JsUnit"

JsUnit is a Unit Testing framework for client-side (in-browser) JavaScript. It is essentially a port of JUnit to JavaScript. Also included is a platform for automating the execution of tests on multiple browsers and mutiple machines running different OSs. Its development began in January 2001.

source : www.edwardh.com/jsunit/introduction.html

"YAGNI "
Extreme programming speak for You Aren't Going to Need It. XP promotes the idea that you do the simplest thing that works. You don't add additional capability to handle things that you might need in the future until you know that you do need it, because we are lousy at predicting the future and if we never need it we have wasted resources.

source : http://mindprod.com/jgloss/yagni.html

Software quality: What makes a program code good?

1. Stable and reliable.

2.Use less resources.

3.Program code easy to read , then it is easy to implemantion and maintain.

4.Simplicity and fewer exceptional rules.

5.Type checking

Tuesday, February 21, 2006

Software Engineering Certification Programs:What Can You Learn from Them?

1.Software Maintenance
2.Software Quality
3.Code Design
4.Documentation

UML Tools: What is your favorite?

in the lesson i had tried Poseidon for UML Community Edition.i feel this is not very user friendly, it was not very easy to join the link between to classes or object.

Monday, October 10, 2005

Software Engineering Skills

sorry for so late to update my blog , because i have a part-time job, so not many time to leave message.

1.Analysis the project, managemnt the tasks time ,can complete the task on time

2.using the limited resoures and budget to develop software

3.We should break down the problem and solve the problem. if program have error
step by step to solve

4.Good Communication with client , we should know the clinet what's function they want.

Wednesday, September 21, 2005

PC-128

hihi
this is my first Blog, create in first lesson.