The lattice Boltzmann equation (LBE) is directly derived from the Boltzmann equation by discretization in both time and phase space. A procedure to systematically derive discrete velocity models is presented. A LBE algorithm with arbitrary mesh grids is proposed and a numerical simulation of the backward-facing step is conducted. The numerical result agrees well with experimental and previous numerical results. Various improvements on the LBE models are discussed, and an explanation of the instability of the existing LBE thermal models is also provided.