Horizontal Nav

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.