Getting Started with Agile–article by Marsha B. Hughes
Are you interested in using an Agile approach on your project, but don’t know how to start? Continue reading here:
http://www.allpm.com/index.php?name=News&file=article&sid=2430
Are you interested in using an Agile approach on your project, but don’t know how to start? Continue reading here:
http://www.allpm.com/index.php?name=News&file=article&sid=2430
When you analyze something (can be requirement, solution etc.), you might get confused and will have questions to the author (manager, customer, sponsor etc.). You can ask straight questions, but before that ask those questions to yourself and propose some feasible solutions. This will let him think in your perspective and most probably he will suggest to use or modify one of your proposal.
Remember, you are supposed to find solutions… not problems.
Today, programmers work on a much higher level of abstraction, applying the mechanisms of Object-Oriented Programming, adopting Design Patterns, reusing sophisticated class libraries and extending powerful frameworks. Besides writing new code, developers are also expected to perform parallel tasks such as Refactoring and writing Unit Tests. The design phase requires a great diversity of complex diagrams, like the ones defined in UML.
The consequence is that today developers are making very important decisions at each step of their work.
if a developer is making important decisions, he should not be required to work long hours. It is absolutely impossible for a human being to continue making effective decisions after many hours of work, no matter how smart or experienced he is.
make a short break whenever you feel tired, and spend a few minutes in some activity that does not require much mental effort. And have a Coke.
Read this interesting article here.
Below is a basic testing/defect/bug life cycle which can be followed in small companies. Don’t use this for medium to big companies as the process is not enough.
You can add policies and processes can be added according to the team size and reporting structure.
Label: Lesson learned
When you estimate for maintenance projects, i.e, adding features to an existing project (software, website etc.) make sure you consider a pre-testing time also.
Once you finish your task, any issue on the product, even if you have not touched that specific module, will come to you – if you don’t have a previously installed product exists for which you can show the customer by reproducing the issue.
For standalone products this case won’t come as you can prove it by trying to replicate the scenario on another computer. But for website projects, you may not be able to prove your innocence.
So best approach is to test the product/project and prepare a list of issues and get the formal approval from customer. So in future if you get a bug report, you can verify this list so that your side is safe.
The necessity of change in your company, business or life!
Below is good link for those who prepare for PMP examination.
URL: http://www.scribd.com/doc/11425658/Study-Items-for-the-PMP-Exam-V-1
This is an age which time travels before ideas. i.e., you might encounter the subject of deadline before you come to know about the idea or requirement details.
Depends on below properties, answers varies:
For a successful project at least some of the above points are mandatory. You can deliver a project in a fortnight but quality matters.
Level of Knowledge and Number of years experience
If you are an expert in the field which project need to be executed, then you an deliver the project really fast. But it is not always an easy task for a manager to train his team to make up with the same level of knowledge. But a manager can build a base for the project to work on. When team members are from different environments, and different environments use different processes, there might be a conflict-of-base occur. Every one including the manager must be patient enough to listen to others and build a powerful base. There will be convincing and negotiation in between, but sufficient time must be available for all these. This will be an one-time process so all the future projects can follow the same base.
Technology changes every day, so it is very important to update knowledge day by day and make necessary changes in development and coding styles from time to time.
When the technology or domain/concept is very new for the team, there will be a learning curve involved and the deadline of the project will be a bit far.
Number of years experience must not be taken into account always. As I stated already, technology changes everyday and none get the opportunity to use all the technologies. So gap is a gap. For a programmer, coding concepts and types of project handled remains same but the complexity of requirement and advanced technology he might use differs which surely impacts the deadline.
Process
Current world is for Agile, SaaS, Extreme Programming, Cloud etc. I still believe you cannot deliver a 99.8% quality product (hate to say 99.9% in this busy world) without using any of the standard software development processes unless it is a single line of code. Let me discuss in a generic point of view.
There is no any company without a process. Process emerges automatically and get it aligned with the team. Fact is, it is not an easy task to change the process in a sudden. There will be much repulsion from the team members regardless of how complex and ugly process they currently have.
Most customer-centric organizations unknowingly use Agile. They work closely with the customers and as a result most of the projects will be success. They get enough time for development directly from the customer and there will not be any deadline hazards as customer is aware of what is happening at the development center. The major demerits will be unexpected extension of scope which results in missing track of change requests and resource allocation problems for other projects.
Type of Project, type of Organization and number of resources.
As long as you have expertise, you can touch any domain. Similar projects you can deliver very fast as you will be able to use the same code base and in most occasions just a re-skinning of application will be enough. When ever you touch a new domain or technology, there comes a learning curve and situation differs. Company management must keep account of this fact and give sufficient time for developers to cope with it. From second project onwards they will be okay.
When you estimate or sign-off a project contract, please do commit the schedule by keeping in mind that you have N number of resource and together they can finish the project in N number of days. You must be having proper benchmarking and proper tracking of all the projects in hand. You might want to work on different projects simultaneously or some of your projects might be in maintenance mode so all needs time. Put sufficient buffer. Your developer might be able to finish a complex task in 1 day’s time but he might get struck with a minor coding bug which result in spending more than two days.
Many company owners are very proud to say they got a flat-hierarchy in their organization. But for the success of projects, a defined organization structure is mandatory. There must be one person who can take decisions. Unfortunately for most small companies, there will be multiple people handling customers and because of that all starts management and at the end developer gets over pressured and there comes production decrease. Proper tasks and resource handling must be done from a singe source. It is very important to keep the communication transparent so that task overlapping will not occur and we can control the deliveries up to an extend.
Trust each other
When you give a job to a person, give some freedom also and do not put un-necessary limits. He must get the feeling it is his job and he must take responsibility. If one is not good for a job, then he will get eliminated automatically from his position. In a typical organization, when you are assigned a job and you get an official status enquiry from another person of same level – there comes a doubt of trust factor which results in imperfection of the job.
Dedication and commitment towards the company or people comes through trust only and you cannot buy it with money.
Work pressure
If you do proper project management – planning and resource allocation, there will not be any question of work pressure. When the pressure from top increases, quality of the produce decreases. Check any project you know. All long running projects will face fail-over problems or performance issues when the time is running. Such projects lacks because of short timelines.
For small projects like a contest or campaign, there wont be much issues as the project will be up only for a short period of time. You must now expect product quality and timely delivery unless you have sufficient number of expert resources.
End Notes
Words never ends, but in this dynamic – busy world, I have limited time for these articles
© NinethSense Feb 2011
If you are a business man or marketing professional, you definitely would like to read this.
Get in Love with Your Customer by Anthony Assaker
Points:
What are the challenges you will have to face when you try to set some process in place?
There is no any company exists without any process. So, we need to say it is “changing a process” rather than implementing a process.
Believe me, the biggest challenge will be to educate the management.
I remember a story telephone. When the telephone department got their first button based phones, they decided to give first to the shops/markets in the city. But the next day of their installation, they got request to change the phones back to their old-rotary-dial phones complaining the new phones are slowing down their business.
The same case will happen to the new environment also. Usually management will not be interested in a sudden decrease of their income unless they got multiple businesses to balance with. So a better approach for them is to start implementing the process “gradually”. They must trust the people who are responsible for the implementation and should not criticize. Implementers also should try their best to help the management understand what are the benefits they will achieve by doing a task. But once the company do not show trust to their employees, it becomes a difficult thing to implement a process. They should not expect a “magic” or a quick change. I know many companies who hire senior people with the intention to change the process from day X. They should let the person – give time – to learn the current system in the company, plan how to change, etc.
Granting freedom and resource is an important thing. If one person want to introduce a bug tracking system and management delays the decision, what will happen? as a side effect, the person who try to implement this will get bored and stop initiating such requests.
Micro-Management – Senior people usually do not like this. Instructions must be communicated but micro-instructions will always let the guy think “then why I am here?”.
It is impossible to implement a ready-made process in an environment. The particular form of process must be customized based on various criteria then only it will suit there. So it takes time and all are brain-works. So give them some time and freedom.
Employees usually love a change in their environment always. Only problems there may occur are emotional problems like egos, jealousy, superiority complex etc. which will get eliminated automatically when the time is running and all these properties are inevitable for any professional environment.
Recent Comments