42 fundamental rules of software engineering:

1) If you don’t do a system architectural design with well-defined interfaces, integration will be a big mess.

2) Design before coding.

🧵
3) If a project is late and you add more people, the project will be even later.
4) Team members that are new to a project are less productive (1/3 to 2/3 less) than the adequately trained people.
5) The average newly hired employee is about as productive as an experienced employee.

6) Two factors that affect productivity are work force experience level and level of project familiarity due to learning-curve effects.
7) Developers productivity varies greatly depending on their individual skills (experience concerning a development activity, knowledge of the tools, methods, and notations used, etc.).

8) Using better and fewer people is more productive than using more less qualified people.
9) The greater the number of developers working on a task simultaneously, the faster that task is finished, but more overall effort is required due to the growing need for communication among developers. Thus, the productivity of the individual developer decreases.
10) The earlier problems are discovered, the less the overall cost will be.

11) The error detection effectiveness of reviews depends greatly on the qualifications and preparations of the reviewers and the completeness and correctness of the documents used as a reference.
12) Reviews of non-technical documents (e.g., requirements specification, user manual) are more effective if the customer is involved.

13) Develop tests before doing the coding.
14) Extreme time pressure leads to decreased productivity.

15) Extreme time pressure leads to a faster rate at which errors are made, which leads to a further delay in the completion date.
16) Error correction is most efficiently done by the document’s author(s).

17) The more errors a document from a previous phase contains, the more errors will be passed on to the next document.

18) Always test everything.
19) Talk to users, not to customers to verify the prototype.

20) Inspection is the most cost-effective measure of finding problems in software.

21) Software inspections find a high percentage of errors early in the development life cycle.
22) The use of inspections can lead to defect prevention, because developers get early feedback with respect to the types of mistakes they are making.

23) Every group has one programmer that is 10 times more productive than everyone else.
24) If you disable Internet surfing, productivity will go down.

25) The number of meetings is determined by the kinds of processes used.
26) Changing requirements are inevitable. Anticipating change with open architectures, adaptable designs, and flexible planning can help to mediate some of the ill effects of these changes.

27) Design for change/variability.

28) Use defensive programming.
29) Configuration management is good.

30) Successful software is designed by people who understand the application of the software (e.g., a well-designed missile control program was designed by someone who understood missiles).
31) Software development requires a substantial time commitment to learning the application domain.

32) Broad application knowledge is acquired more through relevant experience than through training.
33) The more bugs you find, the more buggy the rest of your program will likely be.

34) Tests reveal errors in the code. The better a test is prepared for, the higher amount of detected errors.
35) Sticking with a too-tight schedule increases cost due to a large work force.

36) Motivation is increased through monetary incentives. Increased motivation leads to increased productivity which reduces cycle time.
37) Improving the work environment leads to increased productivity, which reduces cycle time.

38) Matching the tasks to the skills and motivation of the people available increases productivity.
39) Above a certain threshold, work conditions are not a powerful motivator, but below that threshold, they are a powerful de-motivator.

40) The average assimilation delay, the period of time it takes for a new employee to become fully productive, is 80 days.
41) As schedule pressure increases, quality assurance activities (especially walk-throughs and inspections) are often relaxed or suspended altogether.
42) In the absence of schedule pressure, a full-time employee allocates, on average, 60% of his working hours to the project (the rest is slack time: reading mail, personal activities, non-project related company business, etc.).

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with World of Engineering

World of Engineering Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @engineers_feed

Dec 16
5 Rules you need to follow for successful project management:
1. Clear objectives and project scope. Make it clear to yourself, the team and every individual who would partake throughout the project why you are doing this project. It would be amiss to initiate a project and still have to attend to questions about clarity midway.
2. Project planning. Project planning is a part of successful project management that uses schedules such as Gantt charts to plan and subsequently report progress within the project environment.
Read 6 tweets
Dec 9
12 tips for becoming a successful engineer:

🧵

1. Define Your Goals. Define where you would like to be as an engineer in the medium and long-term.
2. Identify Role Models and Mentors. You can seek inspiration from role models in the comapny you work for or outside your company, including industry leaders. When doing this, don’t just look at the great engineering work they do, but also how they became successful.
3. Commit Yourself to Continuous Professional Development. You should acquire new skills with enthusiasm while being on a constant lookout for new professional development opportunities.
Read 11 tweets
Nov 18
Different types of screw. 🧵

1. Wood screws are perhaps the most commonly recognised type of screw. They have a smooth shank and tapered point that make them ideal for penetrating wood. What they’re used for: all types of wood.
2. Machine screws. Blunt ended screws with threads, typically made from brass or steel.
What they’re used for: fastening metal parts together
3. Thread Cutting Machine Screws. They look similar to standard machine screws, but thread cutting machine screws are self-tapping screws that produce threads in existing holes in metal. What they’re used for: most often used with wood and metal.
Read 19 tweets
Nov 10
Thermodynamics is the study of how energy works in a system. It can be reduced to several basic laws, which British physicist and novelist C.P. Snow cleverly summed up as follows:

1. You can't win.
2. You can't break even.
3. You can't quit the game.
🧵
1. By saying you can't win, Snow meant that since matter and energy are conserved, you can't get one without giving up some of the other (i.e., E=mc²).
2. You can't break even — means that due to ever-increasing entropy, you can't return to the same energy state. Energy concentrated in one place will always flow to places of lower concentration.
Read 4 tweets
Oct 6
How a small nuclear war would transform the entire planet:

1/6

Smoke from the incinerated cities rises high into the atmosphere, wrapping the planet in a blanket of soot that blocks the Sun’s rays.

🧵
2/6

Lower global temperatures 2.25°F (1.26°C) for 2-3 years following war. In more tropical areas temperatures could fall from 5.4 to 7.2°F (3 to 4°C)
3/6

Rainfall decreasing between 10% and 30% globally. That’s worldwide famine for a decade.

4/6

Harm to the ozone layer, allowing more ultraviolet rays to reach Earth.
Read 4 tweets
Sep 26
10 things every driver should have in their vehicle:

🧵
1/10 First-aid Kit

The obvious reason to carry one is to help after the event of an accident for anyone involved. Many countries around the world require drivers to have a first aid kit in their vehicles at all times.
2/10 Fire Extinguisher 🧯

Cars are susceptible to catching on fire in the event of a violent collision. Using a fire extinguisher might save a vehicle from becoming a total loss and can help drivers feel more secure in their vehicle.
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(