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

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