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

 

My Dead Project. What Went Wrong?

Last night I attended a party at an old friend’s house.  After small-talking my way around the deck, I hooked up with some old acquaintances, with whom I had participated in a software project.  The gig we shared had taken place back in 1999, in Atlanta.  It was one of those 90’s love-fest dot-com jobs.

While sipping cokes and gobbling slices of homemade pie, we discussed the project’s failings.  “What went wrong?” I asked my colleagues.

“I think it was the fault of the CEO,” one said.  “He just had no experience, and wasted all the money.”

“No, the development organization was all messed up,” the second said.  “The lead engineer kept jumping in and changing everything I did.”

“Well, I think they spent all their money on marketing before they even had a product to sell,” I put in.  “You have to make some sales and get customer feedback before you can spend millions on marketing.  Don’t you think?”

The discussion heated up for the better part of an hour, and I realized that none of us, even ten years later, knew exactly where the faults were.  Who had messed up?  What had gone wrong?  Why hadn’t we succeeded in shipping a product and engaged the sales channel.  None of us knew for certain, yet we all saw some pretty gross mistakes.

That really got me thinking…  Sometimes project failures are not as easy to diagnose as one might think.  Even by salty old dogs like us.  And everybody has their own opinions.  Think about that the next time your project bites the dust.  Or before it does.

 

–ray

A Few Reasons Why Project Changes Occur

Some of the most common reasons why change requests are made.

Change requests alter the course of a project and working within the constraints of time, budget and quality more challenging. If change requests are not handled properly, the project will overshoot its schedule and accumulate costs that are beyond the original plan.

Realize that change requests are not made because people in your team, the project sponsors, or clients cannot make up their minds. Instead, most requests for changes are made in order to improve the project and, in some cases, the process of implementing the project.

Changes are inevitable during the course of the development lifecycle, and there are various reasons why changes occur. Some of these reasons are technical, some are procedural, some are financial, and still some are political or people-related.  Whether a project manager supports the adjustments or not, it is important to think over why changes are requested and their possible impact on the integrity of the project, as well a the delivery process. Let us look at the most common reasons why changes occur.

Incomplete requirements

Scope changes –or creeping functionality–are the results of ineffective management of requirements.  These are also the results of a project manger’s inability to get approval from project sponsors. When requirements kept going through changes during the course of a development lifecycle, new features and functionalities are often added, resulting in a product that overshoots the allocated time and resources, but fails to meet an acceptable level of quality.

Organizational restructuring

If the client’s organizational structure changes midway through the project lifecycle, it is inevitable for the delivery team to expect either a closer scrutiny of the project or change requests to be submitted. Financial considerations, corporate policies, and new sets of end users are some of the factors to consider as change agents when organization restructurings happen. Some requirements are too rigid, while some requirements need more room for discrepancy in specifications.  When alpha releases prove to be too limited to one set of target users alone, then expect change requests from auxiliary end-users.

External factors, such as new vendors, technologies, or methodologies

External factors, such as the involvement of another vendor or a representative end-user, can cause diversion from the original project execution plan. This issue is often as technical as it is financial (or political). Ideas that are tied to the new vendor’s methodologies and technologies can affect the execution of the project plan halfway through the lifecycle.  Sometimes, clients can be finicky about what they want out of the project that agreed-upon requirements kept getting changed. The more a finicky client gets in contact with vendors who want to take on the project, the more ideas they get about “improving” the product and cutting the cost of development. In such a scenario, be prepared.

By ExecutiveBrief: 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

Summertime Slow Down

Call me crazy, but it seems that when summer rolls around work and projects slow down.  So, I say, do nothing. Well, that does not go well with the boss so what is the alternative? There are key people on vacation every other week. Then others are taking off early on Friday to make a three day weekend. Before you know it key decision makers are consistantly out of the loop and major milestones are delayed. So, you dump more work on the “active” members of the project and it slows their work down, or seriously inhibits their quality of work. Either way, it is not pretty. Most managers will tell you to build in a cushion for these types of issues and delays. I say take the summer off.  How about you, any suggestions?

 

-Warren

PM aide during the day – the power nap :)

Hello,

I’m a project manager for Hewlett-Packard and enjoy my profession.  A power nap doesn’t apply to all, as there’s some people who can’t get to sleep for awhile … maybe to tense or tight … then there are some of us … who work from home … didn’t sleep so well the night prior and sometime during the day are tapped … so I recommend – “The Power Nap” … which for me these days is about 10 – 15 minutes and then I’m good for another 2 hours at least … one can set the alarm on your cell phone {make sure it’s on the standard setting, not vibrate} and enjoy … I find I’m totally refreshed and can really be productive on the next challenge, as opposed to trying to push my way through and aren’t as effective as a moment will provide … and for those working in an office … I guess there’s always the jaunt out to the car for that quiet moment …

I used to drink coffee to muscle through those moments but 15 – 20 cups a day makes me jittery by the end of the day.  🙂

Hope this helps and … may your journey as a PM be an enjoyable one.

God bless.

Cheers,

Bill

Define: Effort Driven Scheduling

 Effort driven scheduling: Calculating project task duration based on assigned resources.

 

When you assign resources to a project task in Microsoft Project, it recomputes the ‘Duration’ field.  The screenshots below illustrate this.  We’ll begin with plain tasks with no resource assignments.  After creating the tasks, we’ll assign the first resource, and then all the rest.  We’ll show that the ‘Duration’ column is changed when more resources are assigned.


Tasks with no resources assigned

 

Why does Microsoft Project recalculate the ‘Duration’ field when new resources are assigned?  The ‘Duration’ column indicates the calendar time that will elapse as the task is being completed.  That may be different than the ‘Work’.  If more resources are added, the calendar duration will go down.  That is effort-driven scheduling – based on employee effort.

 


One resource assigned

 

A magical thing happens when we assign multiple resources to tasks.  Notice that the ‘Duration’ column is reduced to reflect the extra effort applied to the tasks.  Since the tasks are effort-driven, they require less calendar time to complete.

 


Effort-driven task scheduling

–ray

Overdraft Protection For Project Management

Many banks offer overdraft protection for their customer’s checking accounts. It could be for an attached savings account, a small line of credit, or another mechanism designed to cover any over-runs on your checking account. After all, mistakes happen. This is a little insurance policy you may never use, but it is better than paying large overdraft fees.

So, why on earth are we talking about this in a project management blog?

Well, it is simple. Do you have any protection against project budget over-runs?  Any last line of defense?

A main part of a Project Managers’ job is to successfully finish a project on time and under budget. With all of the variables involved, that is a tough proposition! For help with cost over-runs you may consider a tool like Standard Time®. Standard Time contains an automated feature that sends warning e-mails when a task or project is nearing the intended limit. In addition to the warnings, a Project Manager can set a “no pass” limit that will prevent an overrun or an allowance, but only if the Project Manager/Administrator allows it.

Task Warnings in Standard Time®

Nothing is fail safe. However, Standard Time is one tool that identifies impending problems and may be the extra nuance that keeps your projects on track.

–Warren

Define: Resource Allocation

 Resource Allocation: The assignment of project tasks to employees over a specified time frame.

The chart below (taken from Standard Time®) shows an example of tasks allocated to one employee over three months.  The blue bars are correctly allocated time.  Yellow means there are not enough tasks, and red means there are too many.

So what does ‘correctly allocated time’ mean?  It means that a project manager has lined up project tasks for an employee to work on, but has not given too many or too few.  There are ‘just enough’ for the employee to complete in a given time.  The 63 hour week below is as unworkable as the 10 hour week.  Anything within 10% of a 40-hour week works.

 


Resource Allocation Chart

 

–ray