I apologize in advance if the question is not directly involved in programming but I could not find a forum of programmers who deal with general questions.
I am developing a cross-organization application.
For a person that has no programming knowledge at all,
the final product looks fairly simple – a desktop application with a business dashboard.
But the App is much more complicated than that.
- the database is "fed" by users who use the application (a lot of forms
to enter validated data). - all company structure objects are modular and must be flexible to all changes in the company units hierarchy.
- business logic is very complicated – there are complex parameters to show like sales or revenue goals that are affected by multiple parameters and calculations.
- GUI must be good-looking and good UX design is a must, including a lot of multithreading stuff, also because its Winform platform, there are not many libraries to use so i am writing all the graphics and animation by myself.
- a lot of other stuff like connecting to company AD, modules that print data to excel files, bugs, QA, memory and efficiency issues..you know the business..
I am developing the project by myself including the environment of servers, communication to all users IPs etc..
I believe I am an agile programmer but as you know development takes time…
ok after all that heart-rending
story here is my question:
My manager doesn't have any programming knowledge and she thinks that I am taking time and not working hard enough.
I tried to explain her why it's taking time, why I should not hardcode a program in order to reduce development time, how structures are translated to OOP objects and the time it consumes.
But she wouldn't understand
and thinks I am not telling her the truth about the real development time needed.
Please give me advice, how can I explain all of that to a layman in plain English?
Best Answer
Organize a meeting. Involve a few more people than just your immediate manager just as 3rd party observer.
Explain in very conceptual terms what you are doing and how long it will take, and explain options.
For example:
In the end, manager will have to
To summarize you have to
Also, have a good idea on time estimates of how long it will take you to build parts of software using this or that way, and why, and be prepared to answer questions about it. It may help you to put together a document on proposed software features and approximate time and complexity that is involved into making them happen.
And also, you are the expert and you can refuse (or not even mention) that there are deficient ways to do the job. You can refuse to do bad work.