Because large computer programs today involve millions of instructions, they require careful planning and the coordinated work of hundreds of systems analysts and programmers. Typically, organizations use structured programming techniques to create these large programs in a hierarchical fashion—that is, from the top down. This means that the developers design the main routines first and then design subroutines for subsidiary processing as major processing tasks become clear.