Good software is hard to build. Beyond the actual technical skills necessary, you must have a definitive goal and at the very least a clear vision of the next step towards that goal. This is common sense and execution may be pretty straightforward in a small setting. But it is an entirely different ball game when you are working across multiple teams and are managing many stakeholders, the execution becomes part of the challenge.
Aaron broke down two different project management approaches and the benefits of each. In short, the style to use is driven by project goals and delivery of a quality product that organizes the software development process.
The first project management method is known as “Waterfall” and represents the more linear approach for software development. It involves detailed planning on the front end. This traditional approach is optimal for projects requiring a specific sequence such as events which involve gathering document requirements, designing, testing, troubleshooting issues and delivering a final quality product. Milestones and delivery dates are clearly understood which allow for efficient time management. Software is developed in a detailed and sequential manner and future similar projects are more efficient because defined tasks and phases have been already implemented.
The second project management method is known as Agile and this is usually best served for short sprints or a continually changing project. Since this method best embraces change it is most effective for potentially shorter-term projects and is a team-based approach to development. Agile utilizes sprints that are time-boxed into deliverables of prioritized value. This approach allows end-users to view progress after each short sprint rather than waiting until the end of the project and allows more ironing out of any issues along the way. If the planning for the work is not finished, work is reprioritized and the planning information is maintained for future time-boxed planning. Development is more user-focused as there is frequent direction and collaboration.
Here are key points that Aaron touched upon to work effectively when working though a particular project:
- Be proactive. Assist team members if you are done on your end. Offering help to a fellow teammate will never hurt you and the main goal is to help the company.
- Be the expert. Become an expert in a specific role for added value to the team.
- Take the lead. Real leaders gather information and take action while always moving forward.
- Get involved and network. Reach out, go to events, exchange business cards and build LinkedIn connections. The goal of networking is not add as many contacts as possible, it is to develop genuine relationships. The best way to meet business contacts is to be sincere.
Aaron’s takeaway message was a reminder that ultimately the goal of software development is to focus on the common goal of delivering a top-quality product. By collaborating and learning from one another, team members can work most efficiently to provide optimal solutions for their clients.