Horizontal Nav

Wednesday, 15 November 2017

Building High Performance Teams

What is a high-performing team?

It's a team that exceeds the goals you set by working hard and smart as a group, not individuals. It's a team that enjoys working together. Most teams do not reach the high-performing stage. That is why they are so special when you finally achieve this feat. You can help a team reach a high-performing state with a number of basic steps.
1. Plan What the Team Will Look Like
Before you bring on your first person, you need to document what it is that your team has to achieve and by when. This can be done through a project charter or another document that details what the team will achieve together.
But don't stop there. Think about the team culture you want to build, the dynamics of your team and how they should work together.
2. Add the Right People
Building the right team is harder than it looks. It's easy to recruit the wrong person, and it's even easier to build a team that doesn't perform well. Often you cannot pick and choose each team member. When you can, choose candidates that fit the job description, align with your personal vision for how the team will work together and want to work in a culture that depicts your vision.
3. Create a Team Culture 
If you've hired like-minded people, get them working together on tasks. Constantly change the people you pair up, so that people get to know others in the team. Strengthen the relationship between the team and your customers. Find opportunities to get the team socializing together.
4. Motivate the Team - and Yourself
A happy motivated team will always out-perform an unhappy unmotivated one. And it starts with you. Are you happy and motivated? Your motivation will rub off on your team. If you are motivated, focus on motivating your team. Use team building and group rallying exercises to get them pumped up. Tell them how proud you are to work with them. Help them understand why the goals are important and how every team member contributes to them.
Step 5. Recognize Accomplishments
People respond positively to positive behavior. So you need to constantly recognize achievement when it's due. Tell the team about an individual's success. Make them feel proud. Spread the love—don't focus on one team or person too frequently.
If you plan for success, recruit a great team, build a positive culture, motivate the team and recognize achievement, you'll build a healthy project team and boost your chances of success!

Thursday, 11 August 2016

Ten Sure Signs Your Project is in Trouble



Many projects struggle. Sometimes the causes are subtle and complicated. Other times the causes are pretty straightforward. Here are ten reasons why projects struggle. If your project has one or more of these characteristics you can expect to struggle - maybe even fail.
1.      Insufficient resources. The project manager builds a schedule assuming a certain level of resources will be available. If you don't have the level of resources or budget you need, You are going to struggle. Be sure to tell your project sponsor quickly.
2.      Impossible deadlines. Sometimes a project is assigned with a fixed deadline that is impossible to achieve. Sometimes these projects are referred to as a "death march". The project manager should tell the sponsor at the start of the project and fight to have the deadline extended, the scope reduced or resources increased. You not only need to have sufficient time to deliver your project, but you also need contingency in case things take longer than expected.
3.      Not managing expectations. The project manager fails to communicate the true status of the project to the team and sponsor. So everyone thinks the project is going smoothly until the deadline is missed. You need to tell people early if it’s slipping. Don't hide it. By telling people you're running late, you give them the opportunity to help get it back on track.
4.      Lack of focus. The team doesn’t really know what is expected of them, so they lack focus. They are given a job to do but not told what is required and by when. Everyone in your team should have regular goals to meet, they should have deadlines and you should be monitoring their progress at every step in the journey.
5.      Low morale. The project team lacks motivation, so nothing is delivered on time. If you want someone to deliver within a set timeframe, then you need to motivate them to do it through reward and recognition. And you need to be highly motivated yourself. Only by being healthy, relaxed and truly motivated can you inspire others to be.
6.      Lack of sponsor support. The project manager gets very little support from their sponsor. There is no one available to help solve problems or provide further resource or money when it's needed. If you lack sponsor support, address it early. Be open and frank with them. Tell them what you need and by when.
7.      Scope creep. The scope of the project keeps changing, so you never really have a fixed set of deliverables. Every time it changes, you lose time and resource, so change control is critical. The scope needs to be clearly defined and then a process put in place to ensure that change requests are formally approved.
8.      The project is too long. The project timescale may simply be too long. Over time your customer's requirements will change, so you need to break your project into smaller chunks and deliver each as a project on its own.
9.      Lack of tools and processes. Not having the right tools to get the job done can also be a problem. Using good quality tools such as templates, processes and a project methodology will lead to project success.
Insufficient of customer involvement. Lack of customer involvement has proved fatal on many projects. You need to involve your customer throughout the project to ensure that what you are building will meet their requirements. Remember, only if your customer is truly satisfied will your project is a success.

Saturday, 14 May 2016

What is purpose of Execution Unit in a microprocessor?


Execution Unit (EU) : Execution unit receives program instruction codes and data from the BIU, executes them and stores the results in the general registers. It can also store the data in a memory location or send them to an I/O device by passing the data back to the BIU. This unit, EU, has no connection with the System Buses. It receives and outputs all its data through BIU.

What is purpose of BIU?



The bus interface unit is the part of the processor that interfaces with the rest of the PC. Its name comes from the fact that it deals with moving information over the processor data bus, the primary conduit for the transfer of information to and from the CPU. The bus interface unit is responsible for responding to all signals that go to the processor, and generating all signals that go from the processor to other parts of the system.

Saturday, 12 March 2016

Six Coding Techniques for Agile Projects



One of the philosophies of the Agile model is the importance of building workable code in short sprints on an ongoing basis. There are a number of techniques that are ingrained in the Agile model that result in more straightforward and elegant code. 
Code as simply as possible. Some programmers take pride in how sophisticated they can make the code. An Agile programmer instead takes pride in how simple the code can be to accomplish the expected result. This simplicity is the most effective over the long term. 

Build for today. Your code base should focus on fulfilling the user stories and requirements that are part of your current iteration. Do not add code to solve future user stories or potential functionality. These future features will be concentrated on when they are chosen in some future iteration. 

Code as flexibly as possible. At the same time that the code is simple, it also needs to be flexible. You want to be sure you don’t make decisions that are perfect for your first iterations, but then don’t allow you to easily add more and more features and functions in later iterations. Another Agile philosophy is to make decisions at the latest responsible time. This does not mean to procrastinate. It simply means to maintain options and flexibility as long as possible so that decisions can be made with as much information as possible. 

Document the code. If you are trying to track down problems in code, you are not going to be able to find the problem in a programmer’s manual. The only place you are going to track it down is the code. Even if the client asks you to investigate how a feature works, you typically cannot rely on an external programmer’s manual. The only way to know for sure is to check how the code works.
Since the code is the ultimate description of the code, it is important the code be understandable. This requires the code itself have plenty of comments. These comments don’t reflect the obvious, but are there to point out creative techniques or describe major sections of code that enable certain features and functions. The code also needs to be simple to review and to understand by others who will follow you. 

Share ownership of the code. In a traditional project, each programmer is responsible for certain programs and components. The programmer creates the code and unit tests it. Later, if there are bugs in the program, the initial programmer is responsible for fixing the errors. In an Agile project, the team takes collective ownership of the code. One programmer may create the code (or perhaps it was created by two people using pair programming), but anyone may be assigned later to update the code. The code may need to be updated because of new requirements in a later sprint or to fix a bug that was not uncovered earlier. Anyone – not just the original programmer – may be assigned. 

Refactor the code. When a programmer is assigned to an existing component, he has the flexibility (and the obligation) to look for opportunities to simplify or refactor the prior code base. The code will hopefully be more efficient and simplified by having multiple programmers work on it at various times during the project.
If you look at the total lifecycle of an application, only about small percentage of the cost and time is spent during the development project. The larger percentage is spent in the support and maintenance phase. If you build a good application, the code might run in production for ten years or more. Simple, straightforward and optimized code allows easier understanding, easier error fixes and easier enhancements over the entire lifecycle.

Tuesday, 1 March 2016

Deitel C How To Program 6th Edition-Paul Deitel and Harvey Deitel

Welcome to C and C++! C is a powerful computer programming language that is appropriate for technically oriented people with little or no programming experience and for experienced programmers to use in building substantial information systems. C How to Program, Sixth Edition, is an effective learning tool for each of these audiences.





Saturday, 20 February 2016

Oracle 9i - Introduction to SQL - Student Guide - Volume 2



PL/SQL is a combination of SQL along with the procedural features of programming languages. It was developed by Oracle Corporation in the early 90's to enhance the capabilities of SQL.



Quantum Mechanics Concepts and Applications 2nd Edition -Nouredine Zettili



Quantum Mechanics is a physical science dealing with the behaviour of matter and energy on the scale of atoms and subatomic particles / waves.

It also forms the basis for the contemporary understanding of how very large objects such as stars and galaxies, and cosmological events such as the Big Bang, can be analyzed and explained.



Saturday, 13 February 2016

Electronic Devices 9th Edition - Thomas Floyd

This ninth edition of Electronic Devices reflects changes recommended by users and reviewers. Applications and troubleshooting coverage have been expanded to include several new topics related to renewable energy and automated test programming. As in the previous edition, Chapters 1 through 11 are essentially devoted to discrete devices and circuits. Chapters 12 through 17 primarily cover linear integrated circuits. A completely new Chapter 18 covers an introduction to programming for device testing. It can be used as
a “floating” chapter and introduced in conjunction with any of the troubleshooting sections. Chapter 19, which was Chapter 18 in the last edition, is an online chapter that covers electronic communications. Multisim® files in versions 10 and 11 are now available at the companion website, www.pearsonhighered.com/electronics.


Saturday, 6 February 2016

Oracle 9i - Introduction to SQL - Student Guide - Volume 1

Oracle 9i - Introduction to SQL - Student Guide - Volume 1

Oracle9i technically can be called an object-relational database — that's something that's new to Oracle. This term means that Oracle9i contains all the features of a relational database combined with some of the features of an object-oriented database. The program is a hybrid, which means that you have some choices about how to set up your database design.



Friday, 29 January 2016

Digital Fundamentals Thomas L. Floyd 11th Edition

Digital Fundamentals Thomas L. Floyd 11th Edition

This eleventh edition of Digital Fundamentals continues a long tradition of presenting a  strong  foundation  in  the  core  fundamentals  of  digital  technology.  This  text provides  basic  concepts  reinforced  by  plentiful  illustrations,  examples,  exercises, and  applications.  Applied  Logic  features,  Implementation  features,  troubleshooting sections, programmable  logic and PLD programming,  integrated circuit  technologies, and the special topics of signal conversion and processing, data transmission, and data processing and control are  included  in addition  to  the core  fundamentals. New  topics and features have been added to this edition, and many other topics have been enhanced.
The approach used in Digital Fundamentals allows students to master the all-important fundamental  concepts  before  getting  into more  advanced  or  optional  topics. The  range of  topics  provides  the  flexibility  to  accommodate  a  variety  of  program  requirements.
For  example,  some  of  the  design-oriented  or  application-oriented  topics  may  not  be appropriate  in  some  courses.  Some  programs may  not  cover  programmable  logic  and PLD programming, while others may not have  time  to  include data  transmission or data processing. Also, some programs may not cover the details of “inside-the-chip” circuitry.
These and other areas can be omitted or lightly covered without affecting the coverage of the  fundamental  topics. A background  in  transistor circuits  is not a prerequisite  for  this textbook,  and  the  coverage  of  integrated  circuit  technology  (inside-the-chip  circuits)  is optionally presented.


Tuesday, 18 August 2015

Basic Data Types in C++



The variable type specifies the type of data that can be stored in it. Each variable is declared by its type.
C++ has five basic data types:

          i)          int                    Integer
            ii)         float                Floating Point
            iii)        double            Double Precision
            iv)        char                Characters
            v)         bool                Boolean



Floating Point Data Type

The float represents real or floating type data. The real type data is represented in decimal or exponential notation. The storage capacity for float type variable is four byte.

For Example:

            float var_name;

Integer Data Type

The int represents the integer data. It is used to declare integer type variable. An integer is a whole number i.e. a number without a fraction or a decimal point. The storage capacity for integer type variable is two bytes.

For Example:

            int var_name;

Character Data Type

The char stands for character. It is used to declare character type variable. In character type variable, alphabetic characters, numeric digits and special characters can be stored. The storage capacity for character type variable is one bytes.

For Example:

            char var_name;

Monday, 27 July 2015

Standard Input/Output in C++



The standard streams are pre-connected input or output channels between a computer program and its environment (typically a text terminal) when it begins execution.

Standard Input (stdin):
Standard input is data (often text) going into a program.

Standard Output (stdout):
Standard output is the stream where a program writes its output data.

Types of Code in C++



There are two types of codes that are as follows:

Source Code:

A program written in a high-level language is called source code. Source code is also called source program. Computer cannot understand the statements of high-level language. The source code cannot be executed by computer directly. It is converted into object code and then executed.

Object Code:

A program in machine language is called object code. It is also called object program or machine code. Computer understands object code directly.

Monday, 13 July 2015

Errors in C++

Debugging

An error in a computer program is known as bug. The programmer can make different errors while writing programs.
The process of finding and removing bugs is known as debugging.

Run Time Error

A type of error that occurs during the execution of program is known as run-time error. It is caused when a statement directs the computer to execute an illegal operation such as dividing a number by zero.
The run-time errors are detected and displayed by the computer during execution. Run-time errors are normally caused due to wrong input from the user. The computer stops executing the program and displays error message if a run-time error occurs.

Example: 
The user may ask the program to open a file that does not exist. Similarly, the user may enter wrong type of data etc.

Logical Errors

A type of error that occurs due to poor logic of programmer is known as logical error. A logical error occurs when the program follows a faulty algorithm. A statement with logical error may produce unexpected and wrong results. For example, the programmer may have written a wrong formula to computer an answer. The formula will be executed without any error but will produce wrong results.

Program Flowchart and Compilation

Program Flowchart

Flowchart is combination of two words flow and chart. A chart consists of different symbols to display information about any program. Flow indicates the direction of processing that takes place in the program.

Flowchart is a graphical representation of an algorithm. It is a way of visually presenting the flow of data, operations performed on data and sequence of these operations.

Program Compilation


The process of checking the program for errors in order to execute it properly is called program compilation.