What Agile Methods Mean to Your Process, People, and Products

Studies show that most successful projects were those that followed agile principles, proving that model-driven methods are not always the best when it came to managing changes, fast-paced project implementation, or even meeting market demands.

The concept of agile development is not new. However, many technologists still stick to the age-old notion that software development can be easily designed and the outputs predicted without giving much thought to the more dynamic factors of projects, such as communication lines, people, and change.

Project managers eventually realized that a lot of projects failed because of rigid requirements, faulty design, and the inability of project teams to adapt to change. For the most part, clients or end-users’ requirements changed through the course of development lifecycles, that by the time applications were ready for deployment, the end products were a good degree different from what was initially planned. This would have been alright, except that towards the end of the development lifecycle, time and financial resources have overshot initial estimates by a good measure.

Instead of pointing their fingers at development teams or clients, project managers learned to allow adjustments in their methodologies. In fact, many studies have shown that the most successful projects were those that followed agile principles, proving that model-driven methods are not always the best when it came to managing changes, fast-paced project implementation, or even meeting market demands.

But before adopting agile practices, project sponsors and managers should ask how agile methods could impact their products, internal operations, and people.

Impact on people and their roles

A key agile principle, “individuals and interactions over processes and tools,” emphasizes communication and collaboration of project team members. Instead of defining the roles of team members, more importance is given to how well they can perform tasks as a team and create a working version of software. Teamwork cannot be overstated in agile processes, as each member can play the part of the end-user, leader, and engineer. To be truly successful, project managers should allow team members to wear cross-functional hats, communicate freely, and focus on team goals instead of individual—or role-based—functions.

While it has been initially believed that agile method worked best with co-located teams, experiences of outsourcing service providers proved that this also worked—and perhaps better—with the offshore outsourcing development models. In the first place, collaboration and free-flowing communication is the norm, and not the physical set-up of the workplace.

Impact on process

Processes take secondary priority in agile methods. Instead of going through particular stages of the development lifecycle, rapid and short iterations move the project forward, allowing for flexibility in changing the course of the project. Moreover, instead of drowning in documentation as dictated by requirements and design, most documentation is in the form of information exchange among project members. Design and actual product are often inconsistent until the deployment stage.

Impact on product and quality

Instead of delivering software that has all the knots and bolts in place according to its original design, the highest priority is satisfying the need of the customer with a simple but working version. The adage, “in perpetual beta” also applies to agile method; software improves with every iteration until all the “nice to have” features are in place. Simplicity allows for more flexibility in change requests, especially because end-users and sponsors or clients eventually discover new requirements along the way.

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

Project Managers: People Don’t Like To Be Led

Project management advice: People don’t like to be led, especially professionals with clear responsibilities.  Nobody likes “a person who knows” to tell them what to do next.  All the time.  It’s demeaning and annoying.  So what’s a project manager to do?

Clearly, project managers and leads need to stay a few steps ahead of team members.  If they don’t, projects go astray.  Why?  Because it takes time to formulate a clear vision, one that won’t break down in the face of life’s challenges.  Only by staying ahead of the team can the leadership maintain that strategic edge.  But it’s when that strategic direction turns into tactical dictatorship that things go badly.

Some managers have such a hard time articulating their vision that they resort to dictating exact tactical steps to achieve it, rather than relying on competent people to pull it off.  See the issue?  It’s a difficult balance.

 

–ray

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/.

Why is SaaS only popular in small business?

While SaaS has been gaining popularity recently, it is remarkably noticeable that its popularity is still limited mostly to small and medium-size businesses. Larger enterprises are still reluctant to embrace hosted application for their IT needs.

According to a recent Forrester Research paper, “The Truth about Software as a Service,” which is a result of a late 2007 survey of IT decision-makers from North America and Europe, only 16 percent of respondents are using SaaS applications. On the other hand, 80 percent are still reluctant to adopt SaaS. Of the 80 percent, only 47 percent expressed interest, while 37 percent were “not interested at all.”

If SaaS has been gaining popularity recently, the gap between big-business IT decision-makers who were interested in it and those who were either partially interested or totally uninterested is too wide.  As if to counter the SaaS advantages that were cited in the previous blog, researchers and tech workers in big enterprises cite various reasons why it is not being widely adopted outside the realm of SMBs. 

One of the top reasons why big businesses are reluctant to adopt SaaS is business continuity. Put simply, the market’s atmosphere is fraught with uncertainty that SaaS vendors could just shut their doors easily. When it happens, where do the hosted data go? What alternatives are immediately available to end-users?

Next to business continuity, data security, vendor lock-in, and accountability are some of the issues that clients — both large and small or medium-size businesses — raise most of the time. Because many large enterprises are sensitive about their company data, they are reluctant to hand company information to third parties. In terms of accountability, there have been complaints about vendors’ dishonesty about real downtime rates and the speed with which they address it. If a service is suddenly cut off, IT departments ask how long it takes for the service to be available again and what kind of assurances are provided to address such issues.

SaaS are typically fit-for-all, so customization is another nagging issue. Maybe small businesses’ IT needs are not complex, that is why they are more willing to sign up with SaaS vendors. On the other hand, enterprises that provide more than one type of service, sell more than one product, are present in different locations, and employ thousands of employees have IT needs that are as complex as their multinational presence and multiple businesses. That most vendors do not offer customizable services to match big businesses’ needs is one of the signs that it is still in its infancy.

Related to downtimes is the issue of scalability. Can a hosted service support thousands of users who access the application simultaneously? If it cannot, can a business enlist the help of another vendor? This is where the issue of interoperability and portability also come in. In most cases, transferring data from one SaaS provider to another takes time and considerable effort.

That SaaS became popular among SMBs means it is promising. However, this promise does not translate well in big business so far.

By ExecutiveBrief
www.executivebrief.com

The Pros and Cons of SaaS

Why SaaS may be the next wave in enterprise computing.

Much has been said lately about Software as a Service (SaaS), which is often interchangeably referred to as “cloud computing”. While pundits may disagree on whether SaaS is cloud computing, its primary feature is application provided as a service to customers via the internet.  Because applications are hosted, this eliminates the need for installation and running of applications on clients’ computers, or even servers, as well as maintenance and support. Moreover, SaaS reduces the need to purchase and maintain hardware.

But before getting into the much-praised or marketed trend, it is worth considering first why SaaS is such a hot commodity nowadays.  According to experts, security, maintenance, and cost are among the top reasons why SaaS is being embraced by enterprises.

Moreover, due to the challenges that face companies regarding outsourcing, such as communication gaps and security, SaaS either supplements the need of businesses to outsource parts of their IT requirements. This is especially helpful for small and medium-size businesses that do not have large IT departments, or those that can only afford to pay general IT workers instead of specialists. Because staffing has become problematic due to reduced budgets that affect tech spending, SaaS offers a way to meet their technology requirements without spending more on overhead.

Whereas the application service provider (ASP) business did not make as much mark as it should have in providing enterprise computing, SaaS is being touted as the trend that will replace and even overcome ASP.  Scaling was ASP’s main challenge, which required “separate execution environment” or different server environments for hosting different applications.  SaaS replaces multiple resources to run applications with shared computing resources, such as the same software version that runs on the same platform. This proves cheaper for end-clients.

SaaS providers offer flexible contracts that have targeted costs for specific services. Many tech projects run for only a few months, so services that provide exactly what businesses need in terms of scope and time, with corresponding costs, are advantages that SaaS vendors are only too happy to explore.

SaaS provide specialized software that increasingly meet clients’ needs. As vendors gain more knowledge about what businesses want, these insights are incorporated into version upgrades, which means better software and, just as important, more responsive service.

It is common knowledge in any industry that freeing up the need to manage back-office processes, including technology services, allows companies to concentrate on bigger, more important business areas. Perhaps at the IT level itself, this is also true. Freeing up the upkeep of some technology processes allows IT departments to focus on the services that they can provide in-house.  In effect, SaaS vendors upgrade the quality of both hosted applications and, indirectly, the quality of services of in-house IT departments.

By ExecutiveBrief
www.executivebrief.com

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

 

Project Overload: Too Many Requests

I once read a bizarre statement, written by an overloaded IT manager.  He was complaining about the heavy workload his executive management was throwing on him.  Here is what he said:

When a new project request comes down, I just ignore it.  I ignore it until management makes it clear my job depends upon it.

Wow!  That’s revealing!  Evidently, this poor soul is so swamped with exciting new projects that he is forced to ignore the bulk of them.  I can vividly see how these superfluous demands go down.

First, the executives get a great idea.  Yeah!  Let’s restructure the customer database to maximize the communication [read: spam] we send out.  We’ll get some great sales!

The project is handed off to Harold in IT.  “He’ll make it happen,” the suits say.

Harold comes in Monday morning, sorts through 400 spams, and finds the outlandish request.  He rolls his eyes and drops it into the “Oh Boy!” folder.  And then he checks the ESPN stats.

The execs never give the project another thought.  They just go off and reinvent the company ten more times, dumping an equal number of requests on poor Harold.  And he ignores them all.  He doesn’t have time for the fun.  He’s got real work to do.

Am I off?  Got it all wrong?  Honestly, I don’t think so.  I’ve seen numerous projects like this get swept under the rug.  Execs don’t run the show, the little guy 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

 

 

 

Down Economy: Billing Clients Imperative

I suppose it goes without saying, but with a down-economy, now’s the time to bill clients for every hour you’re entitled to.  And to watch your resource utilization more closely.  Below are some areas to watch for.  Consider a product like Standard Time® to make them happen.

Resource Utilization
Resource utilization is the percentage of billable hours your employees are working.  Let’s say there are 172 billable hours in a give month (every month is different).  And let’s say Fred only worked 45 of them, and Angie worked 100.  The utilization rates would be 26% and 58%.  Not great, but workable.  Can you make money at those rates?  Well, that depends upon employee salaries and overhead.  Increase your utilization rates, and you win.  The image below is a report of utilization rates.


Utilization Rates

Correct Billing Rates
For every hour you bill clients, you have a billable rate.  Those rates depend upon employee skillsets, and the tasks performed.  Research and Development will naturally bill out at higher rates than travel and meetings.  I recommend using Standard Time® to monitor those rates for each employee.  Make sure you’re billing at the correct rates, and for every hour your people are employed.

Communications and client Login
Clients like to see what you’ve been up to.  Without a client login into your time keeping software, they aren’t certain what’s being done on their projects.  They begin to wonder.  Give them a client password, and let them peek into their own projects.  It will aid in your communications efforts.  Communications is everything in client relations.

The folks at Standard Time can demonstrate all these areas:  Give them a ping!

–ray