Process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved