Web/Tech: January 2004 Archives
I have never tried using web-based advertisting, but I signed up for Google ads yesterday to try to drive more volume to my site: Coherence Group. I discovered an excellent source of web parts from CorasWorks that extends the functionality of Microsoft Sharepoint. Sharepoint is a collabortion platform that I have used in the past for working in teams. I find it the best, easiest collaboration tool on the market and I have tried them all! The CorasWorks web parts easily allow business' to extend the collaboration environment to their customers. It is also easy to configure and use.
As I found out in my last assignment, document production can be eased by using the collaboration features of Office 2003 and Windows Sharepoint Services. The two work extremely well together and it is effortless to post a document on the web site and get user feedback.
This is a good post on the constellation of tools that can be used for communication and collaboration. My recent experience is that Windows Sharepoint Services provides a superb platform for interaction and problem solving. The site can be open or closed to just a few users and employs web parts to extend the functionality of the platform. I agree with this writer that Sharepoint needs to be extended with tools like Trackback, aggregators like NewsGator, which I use, and wiki style page creation, and blogrolls. For an enterprise, the robust functionality of Sharepoint Services make it a good choice as a collaboration platform.
SEPTEMBER 29, 2003 ( COMPUTERWORLD ) - Most software projects fail. In fact, The Standish Group International Inc. reports that more than 80% are unsuccessful -- either because they are over budget, late, missing functions or a combination of all three.
Moreover, 30% of software projects are so poorly executed that they are canceled before completion. In my experience, software projects using modern technologies such as Java, Java 2 Enterprise Edition (J2EE), XML and Web services are no exception to this rule.
However, there is help out there. To vastly improve the success of any software development project, it's helpful to follow these 10 simple guidelines:
Recruit skilled and experienced people. Today's environment is more complex that ever. Tools help, but in the end, inexperienced people produce mediocre results at best and, in most cases, fail because they don't understand good project management and the best ways to apply new technologies. An excellent project manager and architect or technical lead will provide joint leadership of the project. They set the tone and have a vast impact on its ultimate success.
Use "leading-edge," not "bleeding-edge," technology. Many Fortune 500 companies have successfully used mature technologies, such as J2EE, for software projects that have had huge effects on the way they do business. In some cases, it's necessary to apply a bleeding-edge technology that helps gain a distinct advantage over the competition. However, there are risks with such a strategy, and in this case, it's even more important to have excellent people on the project. Because there are few people with this kind of experience, it's important to get outside help.
Use the appropriate development process. The nature of modern software projects demands a spiral-based development process. A spiral process has multiple phases that successively decrease the project risk. At the end of each phase is a go or no-go decision. In the early phases, prototyping is used to explore new technologies for the team or a user interface.
Provide the right tools. A software project needs the appropriate tools that provide productivity aids for the team. Tools include the right hardware as well as design, programming and test productivity aids. The cost justification of these tools is relatively easy. Training in the new tools or techniques is also essential to ensure that they are used to their full advantage.
Use source-control management. Use a source-control management (SCM) system when the project begins. All documents, not just source code, should be under the version control of the SCM system. This allows the team to go back and view the history of the project and to retain copies of previous versions of all project-related documents such as use cases, architecture and design documents, and test scripts and plans.
Apply sound estimating techniques. Most projects overshoot their estimated schedules by anywhere from 25% to 100%, but some projects have achieved schedule prediction accuracies within 10%. Without an accurate schedule estimate, there is no foundation for effective planning. When estimating a schedule, be careful not to include too much schedule compression. There is a point when the team can't achieve the tight schedule, and in the end, it will miss it by a margin.
Break effort into mini-milestone tasks. Mini-milestones are smaller versions of milestones. Major milestones are the end of a phase or increment. Mini-milestones take less than one to two days' effort and are measured in hours. The advantages are improved status reporting, fine-grain control of knowing if a mini-milestone is missed, improved motivation (because every day or so a mini-milestone is achieved) and reduced schedule risk.
Track all project hours. It's important to track the time spent by everyone on the project, not just the hourly paid consultants and contractors. The advantages are that the hours for an individual are compared with the planned hours. Steps are taken if that individual has been diverted onto other tasks. Also, the actual hours are compared with the estimated hours, which, in turn, provides feedback into the estimating techniques for the next project phase or the next project.
Understand the only constant is change. These changes occur for many reasons, such as someone failed to ask the right questions at the right time, the problem being solved has changed, the users changed their minds or perceptions, the business environment has changed or the market has changed. "Feature creep" is the most common source of cost and schedule overruns. In the early stages of a project, there is a large amount of churn in the requirements. At some stage, the requirements need to be settled and essentially locked.
Provide project leadership. It's important that company executives support a software project with a single executive responsible and accountable for the outcome. The key executive not only provides the vision, but also helps support the team by getting and controlling the resources needed for the project. It's also important that this executive doesn't meddle or micromanage the team. The executive trusts the team will deliver.
Last February I gloated on this weblog that I had installed RedHat Linux on my machine and had configured it to dual boot to both XP and Linux. In December I unistalled Linux because I never use it and I am convinced that Microsoft products are pretty good. The new Office System works well on my machine (knock on wood) with minimum problems, the OS is relatively stable, and I would rather do my own work than fiddle with several operating systems. In addition, the tools available on Linux are poor. I like Outlook in particular and I am not ready to switch.
I had high hopes, but I dumped Linux!
I wrote this biography about myself and added it to the website that contains my resume. I wanted to post it here because it neatly describes my IT experience.
Ralph Poole: Description of IT Expertise
Mr. Poole has extensive executive experience managing Information Technology projects, hardware and software investments, and computer operations. His management and consulting experience has primarily involved enabling business process with information technologies. These processes include sales, service delivery, new product or service development, humarn resources, mutual fund valuation, supply chain, purchasing, business research and valuation, professional development, and telecom provisioning. Because of his long tenure with Bain & Company and The Boston Consulting Group, he takes a fact- based, analytical approach to making business decisions involving technology. This requires that there is a strong business case for the IT project, strong executive sponsorship, and a clear understanding of the cost, process and cultural impact of the IT solution. His expertise falls into five categories:
Expertise
• IT Strategy and Cost Management
Companies must align their business strategies and IT strategies. Many IT investments and projects fail to create lasting value and fail to apply rigorous cost management. Ralph approaches IT strategy by focusing on creating business capability, not just IT systems; demanding that the business use information to make money or enhance its competitive position.
• Project Management
IT development and implementation projects require disciplined project management to achieve the desired results. This kind of IT project management is different than managing strategic cases where the objective is to crack the case analytically. Ralph has excellent project management skills with an outstanding record of consistently delivering excellent results.
• Software Selection
Software selection involves analysis of client requirements and a detailed review of software vendor offerings. It is often done in conjunction with the company's purchasing department. Ralph has experience leading a client through the entire software selection process
• Architecting, Building and Implementing an IT Solution
In large companies, IT solutions must fit into the overall applications and data architecture of the company. Ralph is an expert at working with teams to build an adaptive architecture, and then to implement the technical solution cost effectively. He is also an expert in user adoption and rolling out solutions within companies so that they achieve their desired value.
• Enterprise or Department Portal
Portals provide the logical framework for accessing information within a company. With Ralph's background in information science, he has extensive experience designing logical information architectures that are easy to use and easy to implement within organizations.
• Intranets or Extranets
Companies have enthusiastically embraced web-based intranets and extranets to ensure internal communications and coordination of work. These systems are essential for accelerating and maintaining the flow of information. Yet without careful governance and management they can atrophy and become wasteful and frustrating for users. Ralph's expertise ensures the value of this type of application by carefully understanding business requirements and architecting the system to improve productivity and efficiency.
• Knowledge Management Systems
Knowledge Management systems capture and provide a mechanism to share problem solving and operations experience in a business. Businesses can harness this approach to improve productivity and reuse of solutions. Ralph has extensive experience implementing this type of solution in professional service firms, manufacturing, energy, construction, finance, and telecommunications companies.
• Content Management Systems
Content management solutions facilitate the efficient creation and dissemination of structured and unstructured content throughout a company. Ralph has experience implementing and managing this type of solution to take cost out of the processes of maintaining and distributing content.
• Collaboration Systems
Task oriented electronic collaboration can dramatically improve the productivity of teams. I have experience implementing and ensuring that collaborative systems deliver business value by accelerating business processes and allowing people to work together seamlessly.
• e-Learning applications
Curriculum can be effectively distributed to learners electronically. E-Learning systems, like knowledge management systems can make this process efficient and can keep track of individual skill development. Ralph has extensive experience integrating knowledge management, content mangement and e-Learning systems.
5. Taxonomy Creation and Implementation
Categorization of content is essential for precise retrieval of information. Ralph has extensive experience creating and implementing taxonomies that can be applied in many IT solutions

