Three Things That Cause Scrum Backlash (And How to Fix Them)

October 6, 2010 · Filed Under Web Site · Comment 

Most people hear the word “Scrum” and think of something thats stuck to the bottom of their shoe. Au contraire. Scrum is an agile software development methodology designed to foster iterative and incremental development. Scrum projects are broken down into 24-hour development cycles contained within 30 day sprints. Team members agree upon which work items for the product (the product backlog) they will tackle in the next 30 days; this becomes the sprint backlog. The goal at the end of 30 days is to have a working application with a certain number of features completed.

I am a huge Scrum acolyte. On many teams, this makes me a minority of one. I have been on several teams that have used the Scrum project management methodology for both software development and technical documentation production. In each case, the backlash against Scrum was so great that these teams eventually abandoned it in favor of that tried-and-true methodology called “Whatever We Were Doing Before Scrum.”

What is it that makes teams resistant to Scrum? In my experience, there are three major blocking points. The good news is, none of these need be fatal. Teams can, and should, adjust Scrum to meet both the needs and temperaments of their members.

(1) No one likes adapting a “new process.”

People are creatures of habit. Most of us do not like change. We are especially averse to change when it means more work! And no doubt about it: particularly in its early stages, Scrum is work. The team must create a product backlog, a long list of items broken down into tasks less than 16 hours long. Team members must assign projected costs to their work quanta for the first time, usually for the first time ever. Daily meetings, while short, interrupt the flow of the work day. (More on the daily meeting below.) All of this sudden change breeds anxiety, resentment, and fatigue.

Scrum is structured as an iterative and incremental process. Ironically, most teams do not take an iterative and incremental approach to Scrum! Teams aiming to tackle projects using Scrum should consider adapting a few features at a time, rather than the whole kit and caboodle. For example, a team can spend a month or two using the concept of a sprint backlog, but not concern themselves much with hourly estimation or the daily meeting. Or the team can decide to go The Full Scrum, but use the process for a point release as opposed to a major ship date.

(2) Everyone hates the daily scrum.

In Scrum, the entire extended team, which includes development staff, management, and project stakeholders, meets every day for no more than 15 minutes (ideally). This is called the daily scrum. Each team member is supposed to discuss three things: what they worked on yesterday, what they plan to work on today, and whether they have encountered any blocking issues that will prevent them from completing their work items this sprint. It is the duty of the designated ScrumMaster for this sprint to facilitate the resolution of blocking issues.

In theory, the daily meeting is a wonderful idea, a regular check, in that brings all stakeholders together in a collaborative atmosphere. In practice, everyone hates it. In a corporate world chock full of meetings, the daily scrum is just one more meeting. And, for most team members, it is a boring and useless meeting. Unless you are significantly behind or have encountered blocking issues, the daily scrum feels like a waste of time.

In one of my teams, we have tried every which way but loose to restructure the daily scrum. Since our team was spread throughout the United States, we took to meeting through instant messaging, where everyone could paste their daily status into the chat window rather than read it out. Eventually, we abandoned the daily meeting altogether, and returned to our regular weekly team meeting. We continued to send out a regular burndown chart, however, that showed how quickly we were resolving work items, and whether we were on track to finish this sprint on time.

(3) Estimating task duration can be a nightmare for some projects.

Want to know how long a software development or technical documentation task will take: Easy: take your best guess, and double it! Schedule estimation is a black art that very few of us master. Hell, most of us would be happy to be mediocre at it. It does not help that, in the words of Rockwell, it always feels like somebody is watching us: if our estimates are incorrect, we are afraid that the Managerial Wrath of God will descend upon us.

Scrums stated goal is to empower developers to control their development schedule. Managers and the product owner can (and do!) still set drop-dead dates. But team members themselves assign time estimates to each task, and then work together with management and the product owner to determine which features can be completed in the allotted time. Planning is usually done as a team effort with a game called planning poker, in which team members repeatedly assign their best estimates to project tasks until the team reaches consensus.

This approach to planning does not work well for all types of projects, however. Maintenance projects and technical documentation projects in particular are usually composed of many small, discreet tasks that take far less than half a day to complete. For such projects, estimating at a finer level of granularity (less than four hours) is a nightmare.

Now, there is no getting around the need for estimation for planning projects and controlling costs. But for many teams, there is also no need to plan everything down to the man-hour. One of my documentation teams routinely dealt with a large number of bugs that were infinitesimally small; these bugs usually took less than 15 minutes to fix. After several frustrating months of assigning time quanta to these work items, we eventually settled on the concept of “t-shirt sizes,” rating bugs on a scale between XS (extra small) and XL (extra large), with each rating assigned an approximate time range (XS = under 15 minutes, S = 15 to 30 min. and so on). Over time, we developed a better sense of how much time each category of bugs consumed, and how many of each bug type we could resolve within a single publication milestone.

Remember that there is no ultimate authority dictating that your team must implement Scrum “by the book.” Like other agile methodologies, Scrum is nothing more than a collection of good ideas. Take what you think your team can use, and take it an idea at a time.

Learn more by visiting our Programming community site, and check out some of the best IT Research available.

All You Need to Know About Data Recovery

September 10, 2010 · Filed Under Databases · Comment 

Data recovery professionals are people hired by recovery corporations to assess and fix problems within a data center. Data recovery methods vary, and the technique used usually depends on the kind of damage that the data systems has sustained. It may be just software or it may be hardware or even both. For specific problems or combination of problems, there are different steps for fixing and even different steps of telling what kind of damage has been done. Thus, hiring an experienced expert in data recovery is truly important.

Most damage to data is caused by physical hard drive problems. That is why one needs data recovery experts who know how to deal with malfunctioning parts. These guys will have to listen well to the hard drive’s ailments and tell you how to fix it or which parts need to be replaced and which to keep. This is unlike data systems problems or software problems that can easily be fixed without opening the central processing unit.

All data recovery experts are well acquainted with techniques to get back any lost data files and fixing the hard drive with as little replacement of parts or damage as possible. They are experts in checking the servers, computer memory, databases, hard drives, storage media, and networks. You can hire one by contacting data recovery companies that specialize in these kind of tasks.

There are a lot of these companies competing with each other so the prices are also competitive. One is able to get an initial analysis of the hard drive usually without charge. Also, one should choose among a wide range of choices since some companies might have exorbitant charges while offering to recover only a small percentage of the lost data. It helps to try to ask and understand just what the problem is so that one will not have to be subject to overcharging.

Investigation and canvassing is necessary. One should get assessments and free quotes then compare them. When choosing among the experts, one can base the decision by examining their clean room. The best companies have the best well rated clean room certifications.

To survey different companies, you can simply look for them through the internet. If there aren’t many in your area then just use a search engine and search for the term “data recovery experts”. You are sure to find a lot of them that way.

Get free white papers at IT Knowledge Hub, and learn more about programming with application development help from Coding This. Also, check out an additional library of free white papers at White Paper World.

NFL Picks – Can You Trust These Predictions?

September 10, 2010 · Filed Under Gambling · Comment 

NFL picks are great, and even better, free NFL picks offer the same benefits at no charge. Predicting NFL games can be easy or difficult depending on your knowledge, skillfulness, and experience level. But does using someone else’s picks always make sense? We will take a look at just that question in this article.

If you’re a fan of the NFL and like sports in general, it is also likely that you know a lot about many of the other sporting events that take place during the NFL season. While these events are often entertaining and fun to watch, they do not offer the same handicapping value that an NFL football game does.

What are some other things you should know about the predictions of this kind in the NFL? First, you should know that there are different predictions about the games that take place every game in the NFL. Not a single person who has become an objective statements about the likely winners at the end of the game offers. It is understood, however, important that you always rely on simple estimates, for there are times when the odds against what is expected.

Although such predictions NFL can indeed be very useful in gaining useful is concerned, must always be prepared before deciding to participate actively in sports-paris-games of the NFL jerseys. It is could be a great help if you first locate several sites online, help predict the real winner at the end of the game can. Usually there are professional athletes and experts appointed to make predictions for each game of chance.

Note, however, that this does not mean that sport and professional football experts provide estimates of the NFL, his predictions are correct, and already 100% success. expect to lose, in fact, there are times when one candidate from the other team competition as the only winners seem to balance in the market for gambling by the people would. Because let’s face it, there are times to win, when most players and players of all votes to the team that you know, and so, of course, not as people put their team-paris losers.

Regardless of what you start to believe, your instincts are always correct – a sports handicapper can never be right 100% of the time! It is therefore crucial that each team is thoroughly examined before betting NFL football games. The research you will obtain can be very useful, and will help you not only for the current betting week, but, the entire 2010 NFL season.

Get more information and Free NFL Picks as well as other NFL predictions and advice from the Paul Knows Football Blog.

Small Business IT & Network Attached Storage

September 9, 2010 · Filed Under Information Technology · Comment 

Many small businesses today are working harder than ever to find new ways to reduce costs and streamline their operations. At the same time, these businesses are also generating more data throughout their organization than ever before. Data that must be protected while being more widely available. In the past businesses had only a few megabytes of storage on servers and desktop PCs to worry about. If they were diligent, they backed everything up daily onto tape drives.

Today, businesses are under growing pressure to insure that the data they produce is protected and available on demand. Large corporations use large scale data storage networks and clustered storage farms to manage and keep their data safe. But those solutions are far too costly and complicated for the average small business.

What can a small organization do that is looking for a reliable, flexible, cost-effective, storage solution? This article will look at the benefits to small business of integrating Network Attached Storage (NAS) solutions into their network infrastructure.

Network Attached Storage (NAS) was introduced by Novell as a file-sharing system in 1983. Sun Microsystems created the UNIX based Network File System (NFS) protocol in 1984 which allowed network servers to share storage with networked client systems. The first dedicated NAS system was built by 3Com in 1985.

Today, a Network Attached Storage (NAS) system is basically a stripped down server that is designed from the inside out for high performance file-based data storage on your network. NAS systems come with all the major components of a server: a CPU, a motherboard, RAM, etc. And just like a server, a NAS unit is only as reliable as its components, software, and configuration. NAS units come in a variety of types and sizes from simple standalone units for the networked home PC and entertainment center, up to high capacity rack mounted units suitable for larger corporate data centers.

NAS systems can be connected to networks in a variety of ways: Ethernet, Fiber, iSCSI, Wi-Fi, and even using USB2. Generally though, NAS would be attached to your businesses network using Ethernet. Because the performance of NAS is tied to your network, it is essential that your infrastructure is working as efficiently as possible.

NAS functionality is targeted for heavy duty file-level, file-sharing. The most common NAS protocols and file systems in use include, though are not limited to Network File System (NFS), Common Internet File System / Server Message Block (CIFS / SMB), Multi Protocol File System (MPFS), VMware’s Virtual Machine File System (VMFS).

NAS can be setup to handle just about any client accessible files using whatever file-sharing system there is. Microsoft, UNIX, and Linux file systems for example are thoroughly supported. On the application side Oracle, Apache, MySQL, and more are covered.

The performance of a NAS device depends on a number of factors including the configuration of the hardware, the operating systems efficiency, the speed of the network connection, the amount of traffic on the network, and the number of clients accessing files on unit. Make no mistake, NAS performance is not going to be on par with Direct Attached Storage (DAS). However, when properly sized, and configured, NAS is a solid performer providing very good overall value.

Deciding which NAS solution is right for you depends on where, and how, you plan to use it. When you count data safety as your most critical issue, your NAS system choice at a minimum should have the following: redundant power supplies, redundant disk controllers, and have good RAID 5 support. Additionally, you should look for a NAS system where the operating system used is well supported and specifically tuned for the type of data storage and file serving you intend to use it for. Look for mixed file system support, multiple data paths, secure shared access to files, and simplified management of all these functions.

Because your NAS is going to be a popular resource on your network is would be a good idea to keep it on a Gigabit Ethernet connection. There are NAS units available that support wireless 802.11a/b connections but they are very limited due to the available bandwidth on these types of networks so use them with very small, low demand, groups.

Storage on a mid-range NAS unit, targeted towards small & medium sized businesses, will typically use multiple disks arranged into logical, redundant storage containers or Redundant Arrays of Inexpensive Disk (RAID) arrays. There are a number of different types of RAID systems available and some are geared towards performance of over safety. For example, while RAID 0 yields superior performance it offers no redundancy. If one of the disks fails, the entire array may be corrupt beyond recovery.

If data safety is important to you, a better choice would be to use the popular and well supported RAID 5. The drives in this type of configuration use a standardized redundancy system that allows a certain number of failed drives to be safely replaced. Once the replacement drive is in place RAID should rebuilt the data onto the new drive without losing any of your data. And while this is a slow process, especially if the system stays in production, it is a relatively safe process.

When sizing the capacity of a NAS unit, start with a rough measure by estimating the maximum amount of storage you think you’ll need and then double that figure.

Your servers can benefit from using NAS units in a number ways. First, NAS can increase your data serving performance. Servers gain performance from using NAS to remove the heavy I/O responsibility of file serving. This frees up the servers processor to do more for your applications.

NAS is also a solid solution for further increasing performance of virtual servers as NAS units can be configured to work with virtually any file system and can provide file serving resources across virtual platforms.

NAS can also provide for load balancing of high activity file server access like database, email, and web servers. Your web server or email content is stored on one or more NAS systems. The server load balancing system uses an algorithm to distribute file requests evenly across the system. The NAS will efficiently process all server and user requests from one central repository.

One of the issues I still run into from time to time is data stored for whatever reason on local hard drives. The main issue with this is that it rarely, if ever, gets backed up. When the PC hardware eventually fails or an application fault corrupts some data, it often takes all of this work with it. And data recovery services are still painfully expensive.

NAS and workgroups are made for each other. Configuring your various client systems to use NAS is a simple and fast way to consolidate valuable data and add a layer of protection for your data. Using NAS to consolidate data encourages and simplifies file sharing and collaboration. Another key benefit is that the data can be stored in a secure central location in your organization where it is easier to manage. NAS is also immune to many common client and server hardware failures. If a client system isn’t working the user moves to one that is and accesses their work from there. The same principle applies to servers.

And because NAS is flexible enough to work with many popular file systems like those used by Apple, Microsoft, Sun, and Linux, NAS is very cost-effective.

NAS is ideally suited as a backup solution. In comparison, NAS is superior in many ways to legacy tape systems. Performance of disk-to-disk backup and restoration is far greater with NAS than tape. And remember, when a tape or the tape drive goes bad it’s never good news. Replacing a tape in a series can be a daunting task and finding out a tape is bad several months down the road can catastrophic. NAS is a faster and more secure solution to your data backup needs.

Use NAS for temporary parking or staging of data that is out of the current production cycle. Once the data is ready for archiving it can be sent, via encrypted network transfer, to an online, off-site, data storage service. You can also backup servers to NAS using disk-to-disk or as a Virtual Tape Library (VLT). Or you can backup to a mirrored NAS unit (RAID1) with an attached tape drive for long-term archiving later.

As I mentioned a moment ago, using NAS with parked / staged data, ready to send to an encrypted online data storage service, preferably one that is outside of your geographic area, is a far better solution to local backup. In terms of disaster recovery and business continuity, it is a solution that can have your business back up and running again quickly.

One side note, if you decide to continue using tapes, be sure you have a way to get the tapes far enough away from the effects of any potential local disaster. (Can you tell I live earthquake country?) Either FedEx them to an out of state branch office or data storage facility. Because if your building gets damaged in a quake, or flood, or whatever, and your tapes are in your building, well, you get the idea.

Get free white papers at IT Knowledge Hub, and learn more about server architecture with application development help from CodingThis.com, and information on virtualization at the Application Virtualization Blog.

Software Engineering for Your Oracle Database

September 8, 2010 · Filed Under Uncategorized · Comment 

The constantly developing information technologies that all enterprises and companies are using today allow them to seize each new opportunity that arises as far as high performance and productivity are concerned. By enhancing the efficiency of their applied tools, enterprises can increase and maintain their high performance.

The implementation of the newest and most advanced solutions as well as the optimal use of the IT investments within a company leads to both ability to seize new business opportunities and development of competitive advantages. However, these efforts must be doubled by an endeavor to find the most appropriate and comprehensive solution for other tasks inside the enterprise, such as designing, testing, constructing and maintaining software. This is what software engineering is all about.

When it comes to performance tuning, software engineering represents a very valuable tool. With computers and IT applications becoming more and more pervasive every day, the role of software engineering is constantly gaining ground. And with companies and enterprises relying more and more on information technology, software engineering is already an indispensable tool in the good functioning of such institutions.

Time is money, and that matters more than anything else within companies and enterprises. Most enterprises make the most appropriate choice of database, yet they fail to reap all the benefits that derive from such a choice, as they do not acknowledge the need to couple the investment in information technologies with software engineering. Performance tuning does not necessarily require that enterprises keep up to date with the latest IT developments. This would be very ineffective in terms of costs, if we were to consider the speed at which the IT world is advancing. Instead, companies and enterprises can choose to upgrade their existing applications and protect their IT investments, and this is where software engineering comes into place. Software engineering focuses on everything from developing database structures to writing consumer-level applications or working on embedded software.

Databases are widely used in enterprises, companies and corporations for the storage of all their necessary information. One of the most widely used and appreciated relational database management systems is the Oracle database. Its popularity mostly derives from the fact that it does not target any specific type of business, and companies of all sizes can benefit from using it. Other strong points of the Oracle database are its flexibility, which derives from its diversity of options as well as the variety of features that each option comes with. However, each company or enterprise has its specific needs and requirements, some more demanding than others, which makes it virtually impossible even for the Oracle database system to meet the needs of all customers.

This is how software engineering has come to play a major part in supporting companies to meet the required standards. The entire development and maintenance of software is best handled by an experienced and talented software engineering team. Resorting to software engineering for support with the protection and optimal use of your IT investments is the best and most effective way to enhance your overall performance and maintain a high productivity level.

Get free white papers at IT Knowledge Hub, and learn more about database development with computer programming help from Coding This. Also, check out an additional library of free white papers at the Database Connect blog.

Next Page »