ARTICLE | Useful Tips and Tools for Software Development and Project Management
This month, our Undergraduate blog focuses on their top tips and tools for software development and project management
Zoe’s Top Tips for Project Management
Project management is not easy. Following the publication of an APM article, titled ’30 Ideas for Better Projects’, and consultation with some of our project managers at Software Solved, here are five top tips to help you succeed in project management.
Develop a strong team culture
For a team to operate effectively and fulfil its potential, it is important that the project manager creates space for everyone to contribute, ensuring no voice is marginalised. When people know that their voice will be listened to, they will feel committed to the project and empowered to make suggestions and provide solutions.
It is essential project managers establish effective communication pathways throughout their team. This is necessary to not only identify issues and blockers, but also to understand what is going well and the opportunities present. Likewise, clear communication with the client is imperative to cultivate an atmosphere of trust and openness, allowing either side to bring forward concerns.
Projects frequently change in scope and throw up unexpected challenges and this is particularly true for the dynamic software market in which Software Solved operates. To succeed in this fast-paced environment, project managers have to be able to proactively anticipate changes and respond to them in a calm and resilient manner when they occur.
Whilst the fast-paced, changing environment makes a project manager’s role exciting, it can also lend itself to stress. Rather than becoming flustered when juggling multiple unique projects and teams, the project manager must remain the cool head in these situations, navigating any issues as they arise and helping each team as they require. Project managers need to remember to: keep calm and carry on.
Reaching the end of a project is not the time to rest upon laurels and chill out (or at least not immediately!). Instead, it is the time to review what happened. What went well and should be replicated? What was particularly challenging and could be approached more effectively with hindsight? As the project manager, it is your job to get the most out of your team, and encouraging this culture of self-evaluation will ensure you improve project to project.
Dan and Chloe’s Top Tools for Software Development
Postman is not only free, but an easy tool for sending API requests. Perfect for prepopulating your database or testing an API before the front-end development is completed. All you need is a Postman Collection which can easily be generated or imported. Each response will show you the status code, response time and response size making it easy to debug your application.
Sourcetree is a free Git client for Windows and Mac. It makes interacting with Git repositories simple by allowing you to clone, branch, commit, etc. without having to learn any Git commands. This tool would be helpful for anyone new to Git. And who doesn’t prefer a UI over a Command Prompt?
The Google Play Console allows you to publish apps to users (whether this be specified accounts or every Google user). The Console allows you to release 3 types of testing; internal, closed and open. Internal and closed testing being with testers you select, generally smaller groups of people. Open testing is a larger group of testers which you do not select. Anyone can join Open testing. Once released to testing, you can share a link with the authorised testers so they can download the app on to their phone. You can then progress the app through to production.
A front-end automation testing tool. Cypress is an open-source test runner that can test anything that can open in a browser. With features including cross browser testing, screenshots of failure and debuggability. Cypress is less constrained than Selenium enabling you to write faster, easier and more reliable tests.
TestFlight is a service that allows Developers to distribute applications to internal or external iOS beta testers. This service is offered to any developer that is part of the iOS Developer Program and allows them to invite up to 25 internals testers, with up to 10 devices each, to download and test the application. TestFlight will notify testers when new builds are released saving the developer time in having to do so.
Azure has tons of features that enables developers and teams to work more efficiently. Azure has lots of services that can be leveraged easily such as AI cognitive services.
GitHub allows for easy code collaboration. It uses a version control system to allow for this collaboration.
Bootstrap allows for quick and professional looking UI’s with very little styling required.
Jenkins is an automation tool used to build and test software projects continuously.
This is blog no3 of the series, read our first blog here about the undergraduates first week at Software Solved and our second blog which is a Q&A. To find out more about our undergraduate placements we offer at Software Solved, click here.