Managing the development of large software systems


















Elements of iterative application-development practices inspired by agile, lean, 3 3. Lean is an integrated system of principles, operating practices, and methods focused on getting the right things to the right place at the right time and in the right quantity while minimizing waste and being flexible and open to change.

Test-driven development is an application-development practice where a developer writes unit tests for a piece of functionality before writing the code for the functionality.

However, in our experience, these approaches need to be combined with a new organizing construct featuring cross-functional teams. The three disciplines involved in application-development projects—business analysis, development, and testing—often work in silos, with inefficient information flow between them Exhibit 1.

This is a minor issue in small application-development projects, but the communication problems grow larger in big, complex programs. The risk increases further when, as is often the case, project managers and business analysts, who gather user requirements for the applications, are located onshore while developers and testers are offshore. For example, the code defects identified by testers are assigned to a senior application developer, who then assigns the coding rework to the rest of the team.

These multiple handoffs can result in miscommunication and bottlenecks. Lack of effective methodologies to measure productivity and quality adds to the challenge, resulting in expensive mismatches between demand and capacity, and in finger pointing among the disciplines. Development teams expect user requirements to be agreed upon and finalized when they receive them, which is not always the case. Rework and frustration within teams may result, as not all parties involved will be aligned on the latest requirements or clarification of requirements.

As a result of operating in silos, work moves in lumps through the software-development life cycle. For example, all use cases are examined together in the user-acceptance testing phase, rather than in batches as they are completed. Use cases are a method for gathering the functional requirements of applications.

We have found that for many large, complex application-development projects, functionally organized team structures are counter-productive. A conducive work environment promotes team work, better collaboration and higher trust. Newer tools even have video capability for better collaboration. Expanded Regression testing Focus more on Regression than the functional testing of newly created functionality. Stakeholders Onboarding The bigger the project, the more stakeholders it will have.

Here are four key steps PMO team can take for stakeholder buy-in: Engage and get at least one person on your side who is an influencer for stakeholders, who knows internal working of the organization, change management, communication and large-scale program management. Interact with stakeholders with open mind. Understand their concerns and expectations. Identify and engage the leaders at all levels of the organization.

Stay open to fine tune team processes based on project performance. Change Management Depending upon the project, some or all of the below changes will be done in the project. Software Application Environmental Hardware Network Documentation Processes In case of Transformation project, almost all of the above areas will be impacted and it will be essential to have an early agreement on organizational change management process, impacted teams, and one or two change champions from each team.

Governance Structure Setting up formal governance structure and escalation path is needed for faster problem resolution. Enablers, Practices, and Consequences by Ralf Muller 2 Scope management, team skills and superior leadership are obvious other focus areas as in any other IT project.

Governance and Governmentality for Projects. Enablers, Practices, and Consequences. Zoho Projects. Top 3 Software Alternatives to Sciforma 17 Dec, Top 3 Software Alternatives to Teamwork 17 Dec, Top Help Desk Software 10 Dec, They need to be involved up front in reviewing requirements, HMI documents and functional specifications. It is essential that everyone understand that low defect rates and short delivery time go together.

The project manager must also ensure that all defects are triaged and prioritized. The risks associated with the software process are that it may be too cumbersome, may require too much paperwork and put a burden on the development team. The project manager has to make sure that everyone understand that a process is just a means to an end. Everyone should be encouraged to question the process. However the project manager must emphasize that too many shortcuts in the process will result in rework.

A common strategy is staged delivery, where the project is broken down into several iterations. Each iteration is planed as a mini-project and some iterations may be delivered to the customer. There are a few advantages to this form of delivery: critical functionality could be delivered first, requirements and technical risks are reduced, the customer can start training and using the software early.

Iterative development also makes it easier to track and report progress, but it does introduce some additional overhead such as retesting, version control, and installation. Very often when the product roll out and logistical issues are ignored at the start of development, it may lead to major delays during installation at the customer site. The project manager needs to ensure that these issues are addressed at the beginning of the product development. In some cases, this may require a separate resource.

For example, the Microsoft Solutions Framework has the role of a logistics manager who takes care of these issues. Some of the questions that need to be answered are:.

What upgrade tools are required and does the customer need to upgrade third-party software or even hardware? Project management for SP development, in comparison to IS development, has more dimensions in terms of customer management, unclear requirements, rollout and time-to-market pressures. There are also similarities; in order for the product or project to be a success, the key issues must be identified up front.

Good rational Project Management and Software Engineering practices are the cornerstone for successful software product. The project manager has to be flexible, has to understand the risks, has to deal with various methodologies, and has to quickly recognize the differences and similarities when dealing with projects involving software. Charette, Robert N. Software Engineering Environments—Concepts and Technology.

Intertext Publications Inc. McConnell, Steve. Microsoft Press. Toth, Kal. Project Management Institute. Wideman, Max R. By Howlett, Sarah Protzman Few places in Australia draw more visitors than the country's second largest city, Melbourne.

But leaders of the greater Melbourne region weren't about to take that popularity for granted. By Lukas, Joseph A. Earned value analysis EVA appears to be a compelling technique to use on projects to better understand and manage performance. Companies embracing earned value prepare procedures and may provide…. By Heinlein, J. Craig, Christopher Perotti, John Pearson, Megan Wooten, Teressa Balderson, Lucas Growing pressure on federal budgets creates the strategic imperative to increase the transparency of the performance of agencies' mission-critical investments, as well as heighten their realized….

By Richardson, Tracey M Watkins, Daryl Field, Shannon Colleges and universities are under pressure from a variety of stakeholders to demonstrate evidence-based, authentic assessment results. The purpose of this case study was to describe one private….

By Whitten, Neal Training programs provide a wide variety of needed abilities. However, typically a month after training, things go back to how they were before training. This article discusses why lessons learned…. Learning Library. Successful project management for software product and information system development. One of the themes of this paper is to build your organizational capability and project management discipline by providing leadership through the quality assurance process.

The initial evaluation is an excellent place to start. Building capability during evaluations is a valuable technique that is often overlooked.

In fact, QA professionals are often in the best position to provide coaching and mentoring for the project team, as well as share their experiences. The key is to establish the proper working relationship up front. Frame offers an excellent perspective from his own experience Frame, , p. The initial evaluation is the right time to create a positive environment for future QA activities.

Once the project has started, ongoing evaluations provide an independent assessment of the project status. Ongoing evaluations should be performed at regularly scheduled intervals and major milestones. The purpose is to verify that the project is tracking against the plan, being managed in accordance with the contract, and satisfying the customer's expectations. Techniques to use during the ongoing evaluations include:. Conducting a monthly delivery review with the project team is a basic technique to review how things are going and to measure the pulse of a project.

Many organizations use a checklist to confirm the team follows the project management processes. Regular delivery reviews also give an early warning when the project is not going well, and allows sufficient time to recover before the project becomes troubled. Here is where an experienced QA professional who has built a relationship with the team can provide tremendous value by advising how to deal with issues and how to fix problems. Software development projects have unique characteristics and risks.

The delivery review should include a discussion with the project team when any of these apply to your project:. Warning signs to watch for include: diverse stakeholder groups, unrealistic customer expectations, or inadequate participation by business areas.

Recognize and avoid the pitfalls. This is especially true when the project requires business process reengineering or organizational change. Make delivery reviews and the associated checklists an integral part of the quality management plan for your program. Project managers who use earned value analysis generally have better financial control over their projects. Earned value integrates a project's scope, schedule, and financial baselines and gives an objective assessment of the project performance.

Earned value allows the PM to accurately track the work completed, identify variances from the plan, and take corrective action as necessary. Tracking the earned value critical indicators is a useful technique to spot trouble early and respond quickly. CPI is a critical index. Exhibit 2 shows the earned value data for an application development project.

The earned value analysis in April reveals the project is overspent and behind schedule. Fortunately, the earned value analysis revealed this variance early. It is unlikely the problem would have been detected in time to recover had the project not been using earned value.

Put in place earned value analysis starting on day one, track progress through critical indicators such as CPI, and quickly move to correct any variances. Software development projects tend to be high risk, yet some project managers do not view risk management as a critical activity. The converse is actually true: risk management can be an extremely valuable technique when performed in a proactive, disciplined manner.

Risk management can uncover opportunities to improve a project's schedule, financial results, and even scope. Some risks may become issues—when this happens remember to raise and track the issue using the issue management process.

Troubled projects deserve special consideration. You will usually find new risk events and greater risk impacts, leading to an overall increase in risk for the project. In cases where the risk becomes extreme e. Software development can follow many different life-cycle models, for example, the traditional waterfall model, prototyping, or incremental development Vliet,



0コメント

  • 1000 / 1000