Member-only story
Software development is a creative process; an original masterpiece not a paint by numbers
With creation comes potential failure
There is no innovation and creativity without failure. Period. Brene Brown
Software development is a creative process, understanding this helps everyone involved in project plans is likely to change. You cannot have a fixed plan for changing requirements and a software which needs to be accepted by the users.
Without knowing exactly what to build, you can’t say exactly how long it will take to build. There are no guarantees when creating software, it’s like a boat sailing to an unknown destination
Software is an art not a science, a process to create software based on requirements. Writers aim to create so many words a day, they can’t guarantee quality but they have a target of words to be created. The creation is the first part of the process and then there is an editing and refining process.
Creating software follows the steps below
- Understand the business, create requirements for software
- Group the requirement into epics/features
- Break the features into detailed user stories and detailed requirements
- Build the software
- Test — Testers test functionality compared to requirements
- Users use the software to do their job give feedback
- Refine the solution, change requirements. Iterate the build and test phases.
- The software goes live
No one knows the details requirements of the software, how it should it work, how long it will take or the problems that will occur during the process. Priorities can change, technology can change, people can leave and there is the potential for many things to go wrong. Lots of people, lots of time and a creative process will create problems, mistakes and emergencies, which can cause delays.
Everyone forgets the struggle it takes to create software and almost no one ever gets it right first time. Creating software can be tough which is why Stockdale Paradox — Why optimists don’t…