Sunteți pe pagina 1din 33

Development

you know what makes for trouble:


Unfinished plans Hazy objectives Trite planning Unrealistic timescales Insufficient funding Too long or too short development cycles Having the wrong people on the team No real support from higher up

Development is the point where software turns from a dream into reality Development is about the production and management of the software, but it doesnt work unless the timetable, the team, and the techniques gel. it requires you to keep your eye on four balls simultaneously: people, product, projects, and process.

The First P Is People


there are fundamentally only two roles: managing and developing. job descriptions that go with management and planning include the following:
Project managers Chief technical officers (CTOs) Technologists Architects CEO engineering

Counterparts on the programming side include the following:


Senior developers Developers Testers Documenters

There is nothing to stop people from having a role in both managing and programming, or indeed handling more than one task area. Be realistic about your own capabilities. Dont bite off more than you can chew.

Get the Right People


The last thing you can afford is to hire people who will waste time. The first thing you should be looking for is people who are familiar with the type of application and the critical programming issues If specialist expertise is critical for your program, you must employ an applicant who has previous experience.

If you are initially unable to recruit staff of the caliber and background the project deserves, persevere. Do not advance from Go until you find them.

The Project Manager


The project manager task is to supervise the encoding and assembly of the program so it matches up to its specification He or she will know how to manage and schedule your project the project manager enables everyone to focus on the same dream

The caliber of person you can attract for this role depends very much on the size of your organization and what you are able to offer. It also depends on the jobs implicit opportunities and rewards.

How Do You Recognize a Good Project Manager? Any project manager worth his salt should be able to research a project, schedule its development, add something creatively, and keep everyone focused and happy. A project manager should be part of the team and never above it.

They need to know and understand the development process and be good managers as well endless energy, telepathic insight, and the motivational skills that can move ants to conquer Everest other core qualities you should be looking for:
Organized Ability to solve problems Consistent communication Deft touch with people

Bad managers often interview well (otherwise you wouldnt take them on), but when they commence the job, their limitations quickly show Youll only become aware that the manager is out of his depth when a problem occurs They seek to blame instead of solve. A project manager who simply reacts is likely to fail

Programmers Check out prospective programmers recent projects look at a few excerpts of their code have them explain what theyve done

The following are signs that a programmer may be less competent than they purport: They hold a view that the answers usually pop out during coding. They get bogged down in seemingly trivial tasks. Their work is indifferently documented. They are slow learners. They prefer to deal with bugs afterwards. They demonstrate an inability to supply satisfactory explanations. They use eloquence to mask weaknesses in their work. They never admit mistakes. Their production rate is unexpectedly low. Their code regularly fails quality reviews.

Good programmers possess the following skills:


They have excellent abilities to plan structurally. They work fast. They document their progress systematically. They have thought out the answer before they begin. Their vision is based on knowledge. They debug on the fly. They rarely need to redo their work. They care about the quality of their code. They know from experience when to take a risk. They produce the goods.

Managerial Roles chief technical officer (CTO) primary function is to know what technologies and products are coming over the horizon and to map out the capabilities required. Good CTOs are rare because they have to understand the present and guess the future. On the other hand, you may not need one full time

CEO Engineering For large projects, this title is often given to a professional heavyweight who oversees the technical infrastructure of the components to ensure overall compatibility

Development Managers
mainly found in organizations that develop several programs simultaneously

Systems Engineers, Architects, or Technologists


technical engineers and architects usually concentrate on the framework of a solution while technologists specialize in the features that slot into the niches.

A Wise Precaution
it is not unreasonable to ask for an understanding before you invite anyone to join you that they not move jobs during the course of the project

Small Is Beautiful
Fundamentally, because so much effort is expended keeping everyone up to speed with what is going on, more time is spent on management than production. You are invariably better off with several small teams than one great monolith. break down the task into distinct teams of three to seven people whenever you can. Each project team should have its own manager who liaises with the other groups and keeps in touch upwards.

The Last P Is Process


The process is the mechanism of getting from the start to the end of the coding A lot of the components typically associated with process, such as project feasibility, risk assessment, team structure, and project schedules The golden rule about starting is not to rush in.

Negotiating Change
Approach change with extreme caution Treat late-in-the-day, good ideas with considerable caution Once you are seen to alter anything, everyone will want to add their two cents.

Keeping Problems at Arms Length


Risk Management Before you get caught up in programming, it is vital to be aware of the uncertainties and know how to keep your eye on them. The only way to address risk is to accept it, quantify it, and confront it.

The Time-Money Quantum Delays that are expressed in terms of time can be equally well expressed in terms of money The five most common reasons why projects go over budget follow:
The specification changes. There is a delayed realization of what the project really entails. People leave and have to be replaced. Additional software technologies are required. The estimates were inept.

The ramifications of going over budget can be scary: Marketing windows are missed, key functions have to be dropped, or the project has to be scrapped. And in the worse scenario, it takes the firm down with it

Rules to Block Disruptions


Once people appreciate that every time a programmer is interrupted he loses half an hour, they soon desist. Providing programmers with their own spaces to work in stops spontaneous chatter; however, going to this expense is a complete waste if people are going to bombard them indirectly.

Heres a starter set of rules:


Turn your cell phone off before you start work. Disable Internet chat systems. Only check e-mails during breaks. Anyone who has to contact you urgently during working hours should use the normal phone. Other members of the staff who wish to contact you should only do so via your project manager.

What to Do When Writers Stall Sometimes the programmer knows exactly what the problem is but not how to wriggle out of it. It often takes a while for a programmer to realize that he or she may not be able to resolve it on their own.

rule of thumb that if a writer has spent more than half an hour getting nowhere, he should start using Plan B The first thing he should do is talk the problem through with his project manager If the project manager cant solve the problem, the pair should work out who (inside the team or outside the organization) is most likely to know the answer. If that doesnt yield results, they should put out a newsgroup message

Leave Grazing to the Project Manager Nothing is worse than a stuck programmer delving into the Internet You have no idea of the implications of quality, source, support, updates, and copyright, to say nothing of the licences fees. Its far better that the developers tell the project manager what the problem is and for him to find, screen, and assess any potential solution

Handling Adverse News Perhaps the supreme challenge of selfdiscipline is how you react to bad news

S-ar putea să vă placă și