Agile development is the preferred best practice
Agile Methodology is one of the most effective styles of project management used today. Scrum, specifically, sparked my interest as I watched the process and people working together to begin a lean start-up SaaS company.
Universities are old school and out of touch
Right now, I am pursuing a Bachelor of Science (BS) degree in Business Information Technology (BIT) at a leading technical university in the United States, yet all of my project management classes are extremely outdated and focused on companies with products to be produced and the waterfall pm flow of each step to be completed after the other to create the end product.
For example, to build a car you need to first build all of the parts and then put them all together in a specific order, then repeat the process exactly to have thousands of the same car. While that does work for those companies with a specific process order, It just won’t work in today’s world of big tech companies and the many others focused around lean startups and constant changes and improvements to be made.
Why I decided to get a CSM
At the rate that consumers’ needs are changing, project management requires a more dynamic process model that is always open to these new improvements. This is where iterative development comes in with scrum. So I set out to get my Scrum Master Certification and it only confirmed my doubts in traditional project management styles.
Three (3) take-aways from my CSM certification
The three biggest things I took away from earning this certification were:
- Scrum is cost-effective. How scrum can dramatically increase the efficiency of a project- There are some major differences between scrum and traditional project management. Scrum’s emphasis is on people (vs processes). Scrum’s documentation is minimal (vs Comprehensive). Scrum’s process style is iterative (vs linear). Scrum’s required upfront planning is low (vs high). Scrum’s QA is customer centric (vs process centric). Scrum’s organization is self-organized (vs managed). Scrum’s leadership is collaborative (vs command and control). Scrum’s customer involvement is high throughout the project (vs at the end). There are so many fundamental differences that can completely change the outcome of each project to better fit the requirements of the product owner because of the Scrum process being so collaborative and allowing for improvement based on the constant feedback from everyone involved.
- Scrum prioritizes our time. The principles of Scrum should be part of every project management methodology- Some of the main principles are Iterative development, time-boxing, value-based prioritization, collaboration, and self-organization. These all lead to creating the most value for the least amount of resources upfront, then continual improvement through collaborative work. Time is efficiently used for 15 minute daily standup meetings to have each Scrum Team members report their progress and any obstacles in their way. Also, there are time-boxed sprints, which are concentrated work cycles that have a list of user stories to get done in the alloted time the Scrum Team estimates it will take. This leads to the constant updating of the prioritized product backlog to keep track of every user stories and each task that goes into completing it. It is never closed until the end of a project. There is always a transparent and clear status on all activities to encourage suggestions to improve and better serve the customer throughout development by keeping everything on the prioritized product backlog so the product owners, stakeholders, and all other parties involved are always kept up to date with the team’s progress. This process of sprints and iterative development is always evolving the project to have the most efficient process and deliver the most value possible. The other big difference is the self-motivation seen among members of the Scrum Team. This changes the work environment between team members and encourages the collaboration of everybody to contribute to each problem and create solutions together to add improvements or bring up problems that may arise. This encouragement of thoughts and opinions being shared, leadings more natural creativity and excitement from everyone on the project.
- Agile embraces change. The process of scrum is the most adaptable and effective style- The concept of change scares most people and it can come at the most inconvenient times. The same goes for change during big projects that can cause confusion, disruption, added expenses, and delayed deadlines. With Agile methodology, change is actually planned for and encouraged to improve every project. Because development teams work in short sprints with defined goals to complete, there is room at the end of every sprint to review progress made and reflect on its usability and value delivered. The user stories or requirements may change, or the new features may not be what was expected but with Agile any changes needed to be made are immediately agreed upon then added to the next sprint to improve the overall product. These reviews are also great for debugging smaller issues or user interactiveness issues that may not be seen by developers so early in the project. The goal is to be able to deliver a product by the end of each sprint, therefore creating something of value each time. The biggest tasks and hardest features may be completed first so that all smaller items can be delivered towards the end with continuous feedback throughout the entire process. Change can even completely shift the direction of the project early on. Because the small things were saved until the end, there was no time wasted before the shift and all energy will be directed again towards sprints that will deliver the most valuable deliverables first.