DemocracyLab serves as a non-profit organization that fosters connections between volunteers and civic tech projects through its platform.
As a volunteering organization, we have identified the necessity for enhancing project management.
The Slack channel dedicated to "developers" was in a state of disarray, accommodating around 500 developers, including both newcomers and individuals who had already left the project. The absence of organized planning in terms of responsibilities, timelines, and task assignments was evident.
Effective management and careful planning are crucial elements for the success of any project. Without them, the project can easily become a disorganized collection of individuals carrying out random activities. The absence of a well-defined plan and clear goals can lead the project astray, lacking direction and purpose.
In the absence of efficient management, we proactively took the lead. Our focus was on a partially completed feature, specifically the implementation of throttling to counter bot attacks. During our analysis, we discovered that a previous developer had added this feature, but it unintentionally caused the application to malfunction. Furthermore, the CSRF security protection, which should have been enabled, was rejecting all incoming requests.
Taking full responsibility, we not only addressed the throttling task but also rectified the security issue. Additionally, we implemented comprehensive tests to ensure the proper functionality of the features we introduced.
For further details, you can access the merged PR by following this link: https://github.com/DemocracyLab/CivicTechExchange/pull/1012
Here’s a delighted project manager:
A group of junior developers asked us to help them plan how to build a social network focused on sharing impressions. The idea was to create a social network where users could share impressions of movies, books, video games, subscribe to others, etc., and engage through features such as liking posts.
The client didn't know much about startup development processes, so they proposed both core features and minor features at the same time. We strongly recommended against this approach, stressing the importance of starting with the core feature of sharing impressions.
Starting with core features allows us to quickly develop a functional product, allowing us to test it in the real market right away. If successful, we can add more features based on users’ feedback.
We categorized features into “core” and “nice-to” and assigned core features to developers based on their experience.
The project’s outcome remains unclear. However, we can assure you that if you entrust us with this project, we could finish it within a week. Our incredible speed is the result of years of experience, and we can apply the knowledge gained from many previous projects to new endeavors.