7 Things You Need to Know About Development Project Estimations

Whether you are a project manager planning for a smooth implementation of a plan or a project sponsor on whose decisions a project depends, you cannot escape from the fact that project estimation is essential to its success. In the first place, there are three basic requirements that a project must satisfy: schedule, budget, and quality. The need to work within these essential project boundaries poses a huge challenge to everyone in the central management team.

There are various aspects that affect project estimates, such as team skills and experience levels, available technology, use of full-time or part-time resources, project quality management, risks, iteration, development environment, requirements, and most of all, the level of commitment of all project members.

Moreover, project estimations do not need to be too complicated. There are tools, methodologies, and best practices that can help project management teams, from sponsors to project managers, agree on estimates and push development efforts forward. Some of these include the following:

  1. Project estimates must be based on the application’s architecture. Making estimates based on an application’s architecture should give you a clear idea of the length of the entire development project phase. Moreover, an architecture-based estimation provides you a macro-level view of the resources needed to complete the project.
  2. Project estimations should also come from the ground up. All estimates must add up, and estimating the collective efforts of the production teams that work on the application’s modules helps identify the number of in-house and outsourced consultants that you need to hire for the entire project, as well as have a clear idea of the collective man-hours required to code modules or finish all features of the application. Ground-up estimates are provided by project team members and do not necessarily match top-level estimates exactly. In this case, it is best to add a percentage of architecture-based estimates to give room to possible reworks, risks, and other events that may or may not be within the control of the project staff.
  3. Do not forget modular estimates. Once you have a clear idea of the architecture, it becomes easier to identify the modules that make up the entirety of the application. Knowing the nature of these modules should help you identify which can be done in-house or onshore, or by an offshore development team. Moreover, given the location and team composition of each development team that works on a module, it becomes easier to identify the technical and financial resources needed to work on the codes.
  4. Development language matters. Whether the development language is Java, .Net, C++ or any other popular language used by software engineers, team that will be hired for the project must be knowledgeable in it. Some development efforts require higher skills in these languages, while some only need basic functional knowledge, and the levels of specialization in any of these languages have corresponding rates. Most of the time, the chosen development language depends on the chosen platform, and certain platforms run on specialized hardware.
  5. You cannot promise upper management dramatic costs from offshoring. While there are greater savings from having development work done by offshore teams composed of workers whose rates are significantly lower from onshore staff, you must consider communication, knowledge transfer, technical set-up, and software installation costs in your financial estimates. Estimating costs is often more about managing expectations, but as the project matures, it should be clearer whether the money spent on it was money that was spent well.
  6. Project estimation software and tools help identify “what-if” scenarios. Over the years, project managers have devised ways to automate project schedule, framework, cost, and staffing estimates. Some estimation applications also have sample historical data or models based on real-world examples. If your business has a lot in common with the samples in the estimation tool, it can help you identify what-if scenarios and in turn include risks, buffers, and iteration estimates.
  7. Price break-down helps in prioritization. Breaking down the total cost of the project helps management decide which parts of a system should be prioritized, delayed, or even cancel. Estimating costs for a new project may not be easy, but project sponsors and managers must be able to know and agree on the breakdown of costs of development, technical requirements, and overhead.

By ExecutiveBrief -online resource on process management, project management, and process improvement.

Success Factors in Knowledge Management

Knowledge management professionals must keep in mind that KM’s explicit end-goal is profitability while its implicit purpose is to empower participants through intellectual platforms and processes that promote learning and practical knowledge.

Knowledge, without a doubt, plays an important role in the success of any organization. In fact, in order to maintain a competitive advantage, modern organizations incorporate knowledge creation, knowledge sharing, and knowledge management into their business processes. The mere survival of many organizations hinges on the strength of their capabilities; moreover, companies form decisions based on their relevant knowledge of their business landscapes.

Thanks to developments in information and communication technologies, it is now easier to develop, store, and transfer knowledge. This capability is particularly true among organizations with global workforces. After all, international competition and globalization are the driving forces behind most technological innovations, and companies quickly take advantage of these developments when it comes to managing the creation and flow of information.

“Ultimately, leveraging relevant knowledge assets to improve organizational performance is what knowledge management is all about,” says Murray E. Jennex in his book, Knowledge Management in Modern Organizations (2007). However, in spite of the lightning-speed creation of new knowledge and the improvements in communication technologies, many organizations still find that their knowledge management practices are lacking. Specifically, within client-consultant relationships, knowledge transfer does not always translate into better performance by all project team members, nor does it always translate into the successful delivery of projects.

To be successful, knowledge management programs require more than simply conducting training sessions or transferring knowledge. Practitioners must always remember that KM’s explicit end-goal is profitability – while KM’s implicit purpose is to empower participants by providing them with the intellectual platforms and processes that promote learning and practical knowledge.

Here are a few factors that contribute to successful knowledge management initiatives:

  • Linkage between knowledge and economic performance – Knowledge management exists because it enables the organization to reach its business goals. Otherwise, there is no point in putting together all the best practices, tacit knowledge, and skill sets in a cohesive system that is accessible by all parties – when and where they need it. As business increasingly becomes more global, the competition for greater market share depends on the capabilities of its players to a certain degree. KM practitioners must be able to identify the business value of knowledge management in their organizations – whether it is to manage projects, provide back-office operations services or to give ideas on how processes can be better optimized – among others. In most consulting relationships, knowledge is the currency by which all transactions are made.
  • Setting and communicating clear objectives for specific organizational or project levels – Heather Kreech, the Director of Knowledge Communications of the International Institute for Sustainable Development has some specific ideas on this very subject. In her paper, Success Factors in Knowledge Management (2005), she states that knowledge-sharing works best when knowledge managers “gather and communicate knowledge at the project/activity/field level before [they] begin to aggregate up to corporate systems and general knowledge marketing strategies”. Having a specific organizational level or project group in mind, results in better designed knowledge management systems, training programs, and tools that can meet the specific needs of workers.
  • Having the appropriate systems and infrastructure – Ideally, knowledge is created, processed, stored, and archived. Managing the process of creating knowledge, communicating this knowledge to participants, and making knowledge available to anyone in the organization, means that an organization must have the right communication systems and data storage facilities. However, it is not enough to simply store knowledge as this knowledge must be found whenever it is needed. Thus, the availability of internal search facilities and computer-based training programs is critical.
  • Having the right champions – KM initiatives need project and process champions who can rally the support of everyone – from top management down to individual staff members. Having management support can result in the freeing up of resources – such as financial, expertise, and infrastructure – all of which are critical to the successful implementation of KM projects. Financial backing means that KM managers can implement training programs, hire both internal and external specialists – as well as acquire the required infrastructure to manage training programs. On the other hand, access to experts from either within or outside the organization, means better identification of knowledge gaps and training requirements, and more importantly, engineering training and communication programs that meet the said needs.

By ExecutiveBrief
Technology Management Resource for Business Leaders
http://www.executivebrief.com
¼/p>

The Key Success Factors in IT Business Alignment

As business needs help set IT’s priorities, how IT departments align their solutions with business objectives hinge on a number of success factors.

The most pressing issue among CIOs, according to a 2008 survey by Society for Information Management (SIM) is the alignment—or misalignment—of IT with business. As IT departments need to consolidate their resources, there is a growing concern among CIOs that doing so may not be so easy. One cause of this issue is that tech workforces are seen as merely solutions provider instead of as strategic resources to achieve business success. Meeting business expectations effectively should be the goal of IT, but more importantly, of business

There are several approaches that can be taken to align IT with business. Some approaches focus on the roles of individual IT contributors, while others focus on the needs of the business side and their position in the market. It is up to CIOs to identify key business needs and turn these needs into objectives that their IT organizations must achieve. CIOs also have the responsibility to build organizations that can deliver the right support to various project portfolios.

IT departments are there not just to provide computing solutions. Businesses will get more value from IT by considering their operational and strategic business needs. As business requirements help set IT’s priorities in terms of identifying resources, form insourcing and outsourcing strategies, and set up infrastructures, how IT departments implement their chosen approaches hinge on the following success factors:

  • Open communication lines. IT departments and their business counterparts should set up a communication system that actively involves all stakeholders. This allows IT to get a feedback from the business side to formulate the best solutions possible; on the other hand, an open communication line with their technical counterparts familiarize business decision-makers to identify and take advantage of the available technical knowledgebase for better organizational and market performance.
  • Business requirements analysis. IT’s exposure to business allows them to identify business needs that should be the key drivers behind most aspects of their operations. CIOs are best positioned to frame projects, infrastructures, and systems according to the needs of their primary clients. The success of IT as a business strategy is judged on how it helped in meeting business objectives.
  • Expectation management. Both sides should be realistic about their expectations of each other. This can be achieved through the two mentioned success factors: communication and requirements. Business managers should know the limitations of IT, and that solutions do not come in cheap, such that in-house resources for application development and maintenance may require engaging third-parties to fulfill business needs. On the other hand, IT should be aware of the technical—and sometimes, financial—limitations of business operations. For example, introducing new systems to the IT enterprise landscape means training batches of end-users which then result in additional work to include end-user documentation and training designs.
  • Organizational protocols and sponsorship. Internal protocols do affect the success of IT-business alignment. Sadly, protocols do not necessarily mean processes; protocols in most traditional institutions mean “just how things are done.” To navigate through layers of bureaucracy where it exists is to identify key personnel and project sponsors who understand and can articulate the justifications for IT projects as business strategies. Where all decision-makers must stamp their signatures in all IT ventures, CIOs should find the right people to champion their causes through coherent analyses of business needs and presentations of business solutions and the hoped-for success criteria.

At the end of the day, most of the work rest on the shoulders of CIOs, being the key figures that understand the business side of things and have the ability to translate business needs into technology solutions.

By ExecutiveBrief
Technology Management Resource for Business Leaders
www.executivebrief.com

Building a Project’s Business Case

Forward-looking project managers realize that to avoid failure, they should build the business case for their projects by getting intimately knowledgeable about the reasons why sponsors approved their projects.

Too many projects get the axe because of the lack of business cases that justify their existence. When project sponsors begin to see projects only in terms of costs instead of potential rewards, there are higher chances that the projects would be canceled.

It is not the job of the project manager to build the business case. Ideally, project stakeholders and sponsors evaluate the business value and possible ROI from a project. If the project is seen in terms of generating income or reducing cost, the project will have the green light. This is the situation in the ideal world, but this scenario happens a lot less than one would like to believe.

Forward-looking project managers realize that to avoid failure, they should build the business case for their projects by getting intimately knowledgeable about the reasons why sponsors approved their projects. A project manager should work closely with clients, sponsors and other stakeholders, and ask the following questions:

What problems should the project address?

By interviewing project sponsors, the project manager can determine their goals and discuss the issues that the project would solve. In addition to project sponsors, the ones who are dealing with the issues at the workplace, perhaps on a daily basis, are a good source of ideas about the extent and many facets of the problem. Looking at day-to-day challenges from end-users’ point of view enables the project manager to get a better handle of the requirements of the project in terms of design and technical upgrades, as well as in terms of how it will solve end-user problems.

What are the strategic goals of the project?

Is it an easier system? Increased productivity? Better networking? Conversion to a marketable product? No matter what it the goals are, they must also come from and supported by the end-users.  At the end of the day, it will all boil down to the business value of the project. And by business value, it means cost reduction, better productivity, and the possibility of selling the product or service to the wider public.  Make sure that the goals are clear and the project’s objectives must reflect these goals.

What are the project’s basic requirements and what can end-users live without?

Aside from building the requirements based on the needs of its users, the project manager should also build the projects’ technical and design requirements and ask what bells and whistles it should have. The project may have a lot of feature that do not have business justifications, resulting in features that took too long to build.  Separating needs from fluff allows the project manager to formulate requirements, identify scope, and allocate resources that are important in creating a working version of the project. The quicker the iteration, the better the chances are of project survival.

What is the project’s ROI?

Even at the early stage of the project, it is possible to envision ballpark ROI figures. Because all projects incur costs, a project manager should have a fair idea of when investments will be recovered and generate positive cash flow.

By ExecutiveBrief
Technology Management Resource for Business Leaders
www.executivebrief.com

Recession-Proof Your Business by Recession-Proofing IT

Whatever the economic realities may be, technology is an integral part of majority of business operations the world over. How do you maintain your tech-reliant operations in the midst of a challenging business climate?

Most global businesses depend on technology and business partners to run their operations smoothly while improving margins. In all economic climates, businesses that engage the specialization of the best technology and service providers are also best positioned to establish their brands and build customer loyalty. In the first place, what they can save on support operations and product development can be re-invested in improving market reach and further innovation.

So how can business leaders maintain their tech-reliant operations going and remain profitable? By recession-proofing their IT operations. Here are some of the steps:

1. Adopt business intelligence smarts. Any enterprise that has a significant IT workforce or is engaged in technology services knows the importance that data consolidation—or metrics—plays in the success of a product, a service, or of the enterprise. These numbers are the most reliable way to look for trends, medians or any deviations from the norm, and upon which big decisions are made. Consolidate your data.  Get a business intelligence system that allows for easier data collection and consolidation, and reports management.

2. Consolidate technologies. Technologies should help the enterprise conduct its business, not get in the way of productivity, and more so, of profitability. Due to the sheer size of their operations, many large enterprises employ multiple applications and systems to conduct almost the same services.  Are you using multiple content management systems when one will be enough to handle firm-wide communications? Do you record your project hours separately from your timekeeping application? Is your ERP system composed of too many modules run by too many vendors? Maybe it’s time to let go of some of your clunky systems that take too much time and effort to maintain, update, and consolidate. Opt for the best solutions that can serve the enterprise’s most important and only necessary computing and communication needs.

3. Go virtual. SaaS, cloud computing, and virtualization are some of the most popular buzzwords this year, thanks to businesses finding new ways to trim IT budgets without necessarily trimming operations and lowering the quality of their services. Barring security breaches, software-as-a-service is the option for small and medium size enterprises because of its speed of implementation and flexibility for small- to medium-scale operations. Cloud computing, on the other hand, is a by-product of Web 2.0 practices and excess computing and storage capacity. Lastly, thanks to the global scope of many enterprises, virtualization is not just a buzzword but an operational reality among many project teams, service providers, and even top-level executives.

4. Standardize processes; adopt agile methodologies. Time, money, and your clients’ patience are finite resources.  Work with a service provider that can help you at every stage of product development–from requirements gathering, to product or technical design, to development, to implementation, and to product release. Choose a service provider that specializes on agile development that allows for incorporation of improvements at every release of the product whether it is meant for the outside market or the organization’s internal operations.

5. Outsource, and outsource intelligently. Don’t just engage a service provider, whether offshore or nearshore, based on cost-savings alone. Look for long-term benefits from a combination of cost-savings, technology savvy, methodologies, consulting skills, and management culture of the vendor.

By ExecutiveBrief
More at: www.executivebrief.com

Beginning of the End: Defining Project Closure

When undertaking a software development project, an effectively designed closure plan serves as an outline of required tasks that must be carried out appropriately in order to result in successful project delivery, and adequate preparation is one significant element when it comes to ensuring a smooth transition to implementation. The closure plan must be considered at the outset of the project, as the client outlines their specific software requirements. With a detailed description of the desired end result communicated and understood, the expected capabilities and deliverables of the software are established. But as you enter the final stages of a software development project, what can be done in order to ensure that the program is completely suitable and fully primed for implementation?

Key Components
According to Joe Coley, independent software developer and member of Northeast Dataflex Consortium, “Projects that I’ve been involved with…have been very much subject to additional needs and desires of the user community.” In effect, this means that the end deliverable becomes the focus of the closure plan — that is, to ensure a high level of end user satisfaction with the software requested and therefore created. Coley has 20 years of experience in the information technology industry and offers much insight on the subject. When it comes to key components for successful closure plans, he highlights three main aspects to consider:

Assess the project requirements. In order to determine the best course of action throughout the cycle of a project, it is necessary to first consider the scope of the project. Establishing a clear outlook and complete understanding as to the required deliverables will greatly improve the ability to adequately determine exactly what tasks must be carried out in order to meet these deliverables in an efficient and timely manner.

Communication. While communication is always essential throughout the cycle of any project or initiative, it is imperative to establish a specific plan for obtaining end-user input, as needed and where feasible. Therefore, a key component to a successful close is establishing and maintaining open lines of communication with the appropriate groups. The end users comprise the group of those who will be utilizing the software in real-time business applications; they have the critical business knowledge as to ways in which the software can be created or functionality that can be incorporated so that the result will be a valuable tool with the capability to enhance their business functions.

Offer continuing support. When it comes to considering a focus on the continuing support needs of the end-user community, Coley cites a specific reason to do so, “There is always an expectation of continuing support in the form of application tweaks, bug fixes, and enhancements.” By extending continuing support to the end users, they have more confidence in the software program as well as in their chosen developer.

Any components, however, are unique to each project and must be considered on a individual basis; while there may be similarities among projects, what may have worked well during a project in the past might not be best suited for a current project. Establishing and maintaining a plan with the end user in mind makes for a smoother transition and successful close of a software development project.

 

Full text of the interview with Joe Coley is available here: http://www.executivebrief.com/article/the-beginning-of-the-end-defining-project-closure/.

9 Steps to a Hassle Free and Effective Software Development Project

Has your company developed entirely new software or added to software already in use throughout the organization and found the process cumbersome, frustrating, and sometimes not living up to expectations or meeting organizational goals?  If so, the solution to a smooth and effective development program may be as easy as staffing a well-qualified project manager and adopting a proven development process.

For any software development or other project initiative your company may be considering, it is critical to have in place and practice a set of effective and proven guidelines to ensure project success and delivery of the expected results: taking into consideration the role and responsibilities of a well-qualified project manager, knowledge of important business and financial aspects, and a step-by-step process that all contribute to the solid foundation and implementation of an effective project plan.
 

 

Developing a Practical Approach: The Role of the Project Manager

When undertaking a software development project, the first element to consider is the establishment of a comprehensive yet practical approach to the initiative that ultimately will lead to a successful end result.

The in-house project manager has a key role in ensuring each phase of the project is carried out as planned. The project manager is responsible for considering the potential risks involved with the project and how to avoid and resolve them, establishing and maintaining momentum throughout the project, ensuring individual project team member tasks are assigned appropriately and carried out according to specifications, and successfully addressing and resolving any conflicts that may arise during the length of the development project.

A well-qualified project manager is able to address what may seem to be an overwhelmingly complex process by developing an organized approach where the process is broken down into manageable individual tasks and understanding how to keep those involved in the project dedicated to the ultimate goal of meeting and even exceeding the expected end result.

Embarking on the Initiative: Key Steps to Consider

With a comprehensive approach and a competent project manager in place to guide the new software development initiative, there is another important element your organization may find helpful as you embark on the project: establishing specific steps that can be followed to project completion that are based on proven industry experience in such a project environment.

Two renowned experts, Dr. Gordon Scott Gehrs and Dr. Dorota Huizinga, single out nine key steps to consider as you embark on a software development project:

Step #1: Conduct Feasibility Analysis


Step #2: Analyze and Determine Requirements
Step #3: Consider Industry Best Practices
Step #4: Design
Step #5: Measuring and Tracking Progress
Step #6: Development
Step #7: Addressing Automation
Step #8: Testing
Step #9:  Gradual Implementation Practices
 

 

Full article, presenting in detail these key practical guidelines to approach a software development project, is available at: http://www.executivebrief.com/article/9-steps-to-a-hassle-free-and-effective-software-development-project/

 

By ExecutiveBrief: http://www.executivebrief.com

 

The Key Elements to Managing Projects the Virtual Way

It is not enough to manage projects virtually, but to properly apply e-project management processes that result in less development time but with improved quality. This is about value and not just cutting costs, after all.

Advancements in telecommunication are among the key movers of offshore outsourcing. Without it, back-office operations and application development outsourcing will not be as successful as they are today.  Better infrastructure has allowed for richer applications and cheaper communication that enable businesses and their outsourcing partners to manage people and projects efficiently from different time zones.

Adopting virtualization in managing project offers great competitive advantage to companies and offshore project teams. However, with the increasingly virtualized tech industry, it is not enough to manage projects virtually, but to properly apply e-project management processes that result in less development time but with improved quality. Remember that this is about value and not just cutting costs, after all.

To make a successful adoption of virtualization, a few key elements are involved.

Infrastructure – Both client and vendor must set up the infrastructure that can support virtualization efforts, particularly when the project at hand involves sensitive information.  Both parties need the hardware and software to host VoIP calls, and in many cases, virtual private networks (VPN).  At the start of the project, prioritize the acquisition of hardware, software, and bandwidth to support collaborative and communication efforts.

Communication Plans – Much of the success of adopting virtualization in depends heavily on communication.  On-shore project members do not have the advantages of following up colleagues whenever they want or in person. Delivery teams, on the other hand, do not have the luxury of clarifying project details immediately. In this regard, it is best to set up communication plans that define identify proper channels and approaches. Are there available people on the other end of the communication line? When should the team use virtual meetings? Is e-mail enough to update one another about the project status? Who will project members ask about issues—specific persons or entire teams? Experts agree that it is better to err on the side of over-communication.

Control and Evaluation – On top of delivering results at a time when they are expected to, offshore project teams should report plans for manpower allocations and utilization, risks and issues, and milestones.  By having these details, project teams—no matter where they are in the world—can evaluate project status and control risks. This also involves a single control system that allows for an easy generation and consolidation of data.  At the end of every period—typically weekly or monthly—such data can be measured to evaluate the success of the project in terms of quality of work, manpower and financial investment, and the lessons learned from the venture.

Collaboration Tools – A repository accessible to every member of the delivery team should be put in place. Do not rely merely on multiple copies of outputs stored in individual folders. Versioning and project management software, such as SharePoint or Perforce, allow project team members to work on single source copies of outputs, as well as archiving, checking out and backtracking of works.

By ExecutiveBrief: http://www.executivebrief.com

How To: Resource Allocation in Standard Time

Resource allocation in Standard Time®is very straightforward, mostly because ST does not have the complex scheduling capabilities of Microsoft Project.  The image below shows a (compressed) screenshot of the resource allocation window.  We’ll discuss how to display and manage task allocations.


Standard Time Resource Allocation Window

 First, you should realize that the bars represent hours worked in a time period.  The resource allocation window collects all tasks assigned to each employee, and assembles them into time periods based on their starting dates.  If you have ten tasks that all add up to 80 hours, you might see two bars, one for each week.

The red bar in the image above represents a over-allocated week.  That means you have too many tasks to be performed in a single week.  Yellow bars indicate to little work (or under-allocation).  Blue bars are just about right.

Simply create new project tasks and give each one a starting (and optional due date).  When these tasks are assigned to employees, the resource allocation window shows them split up into time periods.  That’s about all you need to do!  It’s pretty simple.

–ray

How To: Create a Milestone in Microsoft Project

Milestones are a necessary element of project planning.  They let you stop and evaluate.  Have the objectives been met so far?  Is everything ready to proceed to the next step?  If so, we have achieved a milestone event, and the next phase can begin.  Here’s how to create a milestone in Microsoft Project.

Start by creating three tasks.  Notice that the third task is a zero-duration task.  That is considered a milestone in MS Project.  We’ll be linking into this task so that it gets pushed out if any other tasks go longer than anticipated.


Milestone Task in MS Project

 

Select tasks to link them.  CLick in the selection column to select an entire row, then Ctrl+Click in another row.  Click the Link button to link them.


Selected Tasks

 

Link and move some to illustrate the milestone.  Here we see both tasks linked into the milestone.  If either task is delayed, the milestone will be pushed out.  When the milestone date arrives, you should evaluate your project to make sure it is on track.  Then you can proceed to the next phase.


Linked Tasks