What are the major modules of any application development project?
- Requirement Gathering (this one requires some rigorous re-iterations)
- Approval from all stakeholders and drafting a BRD (Business requirement document)
- Defining a Scope of Work for the project
- Preparing other documents such as process flow diagrams, technical documentation, module trackers, reports etc.
- Development activities
- Performing tests on the UAT environment followed by bug reporting and bug fixing
And once all these activities are taken care of, there’s a production movement.
But it doesn’t stop here. There are change requests from stakeholders and thus begins the change management process which eventually ignites the version control process.
While we are on this journey, we face certain challenges. Some of those pictures look like this:
- You get notified that there’s an external technical audit next week and you have to get all the relevant documentation sorted. Gosh where were the release notes saved? Are the documents in order? A change was requested on the home page 3 months back. Where are the details?
- My system has become a warehouse of documents. I spend so much time organizing the repository that organizational skill should be included in my KRA.
- Requirements for this project are changing at lightning fast speed. This wasn’t the case with my last project.
- I don’t exactly remember the details of this feature. Wait let me check my e-mail from the stakeholder who had explained it to us. *About 150 emails later* Well, I will just ask him to forward that mail to me.
As a BA I have had my own share of experiences at every step of an SDLC. Over the years what I have realized is that organizations need to invest in appropriate tools and software for a smooth project execution and thus I can’t emphasise on the use of good project management tools just enough.
When I started out as a BA, I learnt the basic documentation that’s common for any software project. Just like many of us on this forum, I too didn’t completely understand the great necessity of documenting each and every step then. It wasn’t until after my first software project went live, that I could see the picture more clearly.
Change requests started pouring in quite frequently and we had some new developers absorbed to the project. And thus came more documentation, version controls, diagrams, trackers and so on. From just one folder, this project grew into 6 -7 folders on my system. Innumerable mails were exchanged to discuss even the smallest and yet an important aspect of the website (read – colour of a button on a webpage). When the new developers were to be briefed about the project, I spent a lot of time in figuring out the relevant documents to be shared with them. Documents that would give them clarity on the process and the progress of the assignment. Sometimes, the stakeholders would lose track of the progress or would misplace a document or go through an incorrect file. In this chaos I realized that a lot of effort was being wasted to maintain the Collaboration.
Collaboration – A significant aspect of any project and a key skill for a BA. Project management and collaboration tools and software are a great way to minimise this chaos and they do wonders for a project’s lifecycle. I learnt this the hard way.
For my next project, we made use of a leading collaboration software. Everything right from requirement gathering to scope of work to change requests, were captured in this application. There were a lot of advantages of using this software:
- It could be accessed by all the stakeholders. Hence, whatever changes were made to the requirement or any other module, everything could be viewed by all.
- All the relevant documentation was uploaded here. The changes were made online.
- The project plan was chalked out smoothly with supported Gant charts.
- Feedback notifications were received on real time basis and this helped in faster sign off of modules and requirements.
- All the project essentials were stored at one place. Unlike the earlier project where everyone had to maintain a separate repository, the repository of this project was stored online. All the literature at one place – securely stored.
- The developers were making notes hassle free.
- The milestones of the project could be efficiently tracked.
- Lesser emails were exchanged. I didn’t have to send that scope for sign off again or send the updated tracker over and over again.
- I didn’t have to worry about the back up of documentation. Version controls were in place.
- With a user friendly interface, it was fun working on the documentation and creating user stories. As I got to work on more documentation, I received some very constructive feedback form my immediate seniors and this helped me to improve my data capturing skills. It was here that I understood the importance capturing even the tiniest of detail related to a web page. As all my seniors were on the same project space (of the application) they could view the work I was doing and thus I had feedback from everyone.
- Presentations to all the stakeholders became easy and necessary documents and reports could be extracted during audits.
With this change in the process, the first cut of the project was delivered in just 4 months (as compared to 6 months in the earlier project). This is how virtual collaboration helped us.
With such user friendly applications and so many of them in the market, organizations should not hesitate to invest in these applications for their projects. For small size companies, there are open sources available in the market too. Also with most of these applications offering a free trial period, one can explore the best fit for a project. Tools that ensure effective collaboration can make project execution easy. Making the best use of the cloud technology, these applications are a complete back up of a project’s records and documentation.
What tools / applications have you worked upon? Have you faced any similar challenges? Please share your organizational experiences and the challenges you faced that prompted your organization to implement a better architecture.